1 votes

Impossible d'enregistrer DLL sur Server 2012

Nous avons un ancien site Web classique ASP que j'essaie d'héberger sur un nouveau serveur 2012. Il utilise une DLL développée en interne sur VB6.

J'ai copié le fichier d'installation et j'ai une erreur. J'essaie de m'enregistrer manuellement à l'aide de "regsvr32 pathToDll\theDll.dll" et j'obtiens l'erreur 0x80004005. Google suggère que je devrais exécuter la commande à partir d'une invite de commande élevée. Donc je le fais et j'obtiens la même erreur. J'ai également essayé d'exécuter la même commande à partir du répertoire SYSWOW64 et j'obtiens la même erreur.

En faisant des recherches sur Google, j'ai également découvert qu'il pourrait s'agir de dépendances manquantes. J'ai utilisé Dependency Walker et effectivement il manquait quelques éléments. J'ai découvert que je devais installer les fichiers d'exécution VB6 et activer quelques fonctionnalités et toutes les dépendances sont résolues. Donc j'ai essayé de réenregistrer la DLL et j'obtiens toujours la même erreur.

Des idées? Je sais que c'est une DLL 32 bits sur un ordinateur 64 bits mais elle devrait au moins s'enregistrer.

1voto

Clint Davis Points 219

D'accord, après avoir cherché davantage, j'ai découvert grâce à Dependency Walker que le dll fait référence à l'API-MS-WIN-CORE-SYNCH-L1-1-0.DLL à travers la chaîne d'autres dll.

Selon ces informations de Microsoft, il ne semble pas que ce soit compatible tel quel. Il semble que je devrais recompiler le DLL afin de faire fonctionner cela en changeant les références.

Solution : Je vais créer une machine virtuelle pour cette application héritée.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X