Maison > développement back-end > C++ > Comment puis-je enregistrer de manière fiable une DLL CPP dans COM lors de l'installation de MSI à l'aide de WiX ?

Comment puis-je enregistrer de manière fiable une DLL CPP dans COM lors de l'installation de MSI à l'aide de WiX ?

Patricia Arquette
Libérer: 2024-11-19 08:02:02
original
754 Les gens l'ont consulté

How Can I Reliably Register a CPP DLL in COM During MSI Installation Using WiX?

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

  1. Utilisez l'outil heat.exe de la boîte à outils WiX pour extraire les informations d'enregistrement COM de la dll CPP.
  2. 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.

  1. Utilisez Dependency Walker pour analyser le fichier COM à la recherche de dépendances manquantes.
  2. 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

  1. 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
  2. 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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal