Enregistrement d'une DLL CPP dans COM après l'installation à l'aide de Wix Msi Installer
Problème : La bibliothèque CPP n'est pas enregistrée dans COM lors de l'installation de MSI , malgré des tentatives avec différents approches.
Solution :
Arrêtez d'utiliser les fichiers batch et les actions personnalisées :
Exécuter manuellement les fichiers batch et les actions personnalisées pour L'enregistrement COM n'est pas fiable.
Extraire les informations d'enregistrement COM à l'aide heat.exe
- Utilisez l'outil heat.exe de la boîte à outils WiX pour extraire les informations d'enregistrement COM de la dll CPP.
- Les données de registre extraites seront utilisées pour remplir la base de données MSI au moment de la compilation, garantissant ainsi un enregistrement COM fiable lors de l'installation.
Résolution des erreurs manquantes Dépendances
L'incapacité du fichier COM à se charger résulte souvent de dépendances manquantes.
- Utilisez Dependency Walker pour analyser le fichier COM à la recherche de dépendances manquantes.
- Placer les fichiers de dépendances manquants dans le répertoire d'installation ainsi que la dll COM pour les rendre accessibles lors enregistrement.
Processus d'extraction COM avec heat.exe
-
Pour les fichiers COM 32 bits avec des dépendances dans le dossier ou le chemin local , utilisez cette commande :
heat.exe file YourFileName.ocx -o YourFileName.wxs
Copier après la connexion
- Pour incorporer les données du registre WiX exportées dans la source WiX principale, reportez-vous à cet article : Comment référencer une sortie de chaleur (wxs) dans Wix (ligne de commande).
Binaires 64 bits
heat.exe ne fonctionne pas traiter correctement les binaires COM 64 bits. Pensez à utiliser le pack d'extension WiX (commercial) ou l'auto-inscription (non recommandé).
Conseils supplémentaires
- Assurez-vous que l'enregistrement est tenté avec des privilèges élevés.
- Vérifiez que la commande heat.exe est exécutée sur le fichier COM après le déploiement, lorsque toutes les dépendances sont disponible.
- Utilisez l'outil Dependency Walker pour comprendre les dépendances manquantes ou les faux positifs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!