2008-11-07 10 views
1

En supposant que le répertoire de l'application est accessible en écriture et que l'espace HD n'est pas un problème, y at-il des inconvénients à mettre les fichiers de dépendance VB6 (msvbvm60.dll, etc.) dans le répertoire .EXE? J'ai les fichiers de dépendance les plus à jour et je suppose que MS ne sortira pas avec de nouvelles versions de ceux-ci, donc je pense qu'il est le plus sûr (en termes de DLL Hell, etc.) de garder ces fichiers dans mon répertoire d'application où ils ne seront pas modifiés et (IFAIK) ils seront les premiers utilisés par l'application (avant d'utiliser ceux dans le répertoire System32, etcY at-il un inconvénient à mettre des fichiers dépendants de VB6 dans le répertoire de l'application?

Répondre

1

Cela devrait être bien, je ' J'ai dû le faire par le passé pour une DLL tierce que j'ai utilisée dans un projet VB6 il y a plusieurs années (nous nous sommes appuyés sur une implémentation originale d'un composant pour faire quelque chose et une version "fixe" a été installée avec une suite logicielle populaire) Bien que si son COM l'installation regsvr32 de la bibliothèque peut ruiner votre plan pour éviter l'enfer de la DLL

2

Il a été mon expérience que des fichiers comme msvbvm60.dll, les divers OCX, ont des dépendances subtiles qui jouent le chaos quand vous essayez d'installer dans le répertoire de votre propre application. Notre solution consistait à retrouver toutes les dépendances et à s'assurer qu'elles faisaient partie de l'installation et qu'elles étaient gérées correctement, conformément aux règles de Microsoft.

Dans les 8 années depuis que MS a cessé de développer VB6, nous avons connu peu de DLL en enfer. (Environ une demi-douzaine d'incidents dans plus de 500 installations) et ceux-ci ont été le résultat du client avec Windows XP avant d'y arriver.

En résumé, tout contenu personnalisé ou de tierce partie placé dans le répertoire de votre application. Le reste s'assure que tout est inclus et l'installe dans le dossier système conformément aux suggestions de MS.

2

Discussion plus approfondie in this question: décrit diverses méthodes pour forcer VB6 à charger des fichiers dépendants à partir d'un autre emplacement, tels que des fichiers .local, COM sans reg, et DirectCOM.

0

Il n'y a pas vraiment de point. Utilisez simplement un programme d'installation basé sur MSI de qualité qui a l'auto-guérison. De cette façon, à chaque exécution de votre application, elle vérifie et, si nécessaire, installe et enregistre les DLL ou autres composants requis. Vous êtes alors protégé contre toute tentative de fouillis avec les fichiers.