2010-09-03 5 views
0

J'ai besoin d'installer une extension shell (serveur DLL 64 bits) pour le menu contextuel sur n'importe quelle version de Windows x64. Je suis capable d'enregistrer l'extension juste très bien (regsvr32) si sur le système cible j'ai installé les fichiers redistribuables pour VS 9.0 SP1 x64 (fichier d'installation de Microsoft).Installer le serveur DLL sur x64 Windows

Cependant, je dois faire une installation et ne peut pas demander à l'utilisateur d'avoir les fichiers déjà installés, alors je dois inclure le CRT redistribuable et DLL MFC dans ma configuration dans le même dossier que ma DLL.

J'ai essayé d'inclure les DLL redistribuables 64 bits de mon VS 9.0 SP1 (appelé AMD64) mais elles ne semblent pas fonctionner. Qu'est-ce que je fais mal? Quelles DLL dois-je utiliser?

+0

De quel chemin utilisez-vous regsvr32? http://support.microsoft.com/kb/282747 – DmitryK

+0

Désolé j'ai oublié de mentionner, ma DLL est 64 bits. Regsvr32 fonctionne correctement lorsque j'ai les dll x64 installés. Le problème est ce que dlls dois-je inclure dans ma configuration, donc il n'y a pas besoin d'installer les DLL redist Microsoft pour VS 9.0 SP1? – Cosmin

+2

@Cosmin: Pourquoi ne pas lier statiquement le runtime? –

Répondre

0

Je résolu mon problème en liant statiquement les bibliothèques nécessaires. La taille est beaucoup plus petite que celle de l'exécutable + dlls. Je peux le faire pour mon extension shell mais pas pour l'application principale car il y a des conflits avec les bibliothèques incluses.

Merci Billy ONeal pour la suggestion, j'ignorais l'évidence.