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

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

Patricia Arquette
Patricia Arquetteoriginal
2024-11-20 11:52:111009parcourir

How Can I Reliably Register a COM DLL in an MSI Installer Using WiX?

Enregistrement d'une DLL COM dans MSI à l'aide de Wix Msi Installer

Pourquoi les fichiers batch et les actions personnalisées doivent être évités

Fichier batch et méthodes d'action personnalisées pour L’enregistrement COM n’est pas fiable. Pour garantir une inscription réussie, il est essentiel d'utiliser l'outil heat.exe de la boîte à outils WiX. Cet outil extrait les informations d'enregistrement COM pour les inclure dans la base de données MSI lors de la compilation.

Extraction des informations d'enregistrement COM à l'aide de heat.exe

Exécutez heat.exe sur le fichier COM (par exemple, "heat. exe Abc.dll -o Abc.wxs") pour générer le XML WiX correspondant avec les données de registre requises. Incorporez ce XML dans votre source WiX principale à l'aide d'une technique de référence ou d'intégration.

Assurer la résolution des dépendances

Les dépendances manquantes peuvent empêcher l'enregistrement COM. Utilisez Dependency Walker ou Dependencies.exe pour identifier les DLL manquantes. Placez ces DLL à côté du fichier COM ou assurez-vous qu'elles sont accessibles dans le chemin d'installation.

Considérations relatives aux binaires 64 bits

Actuellement, heat.exe a des limites dans la gestion des binaires COM 64 bits. Le WiX Expansion Pack offre la prise en charge des composants 64 bits si nécessaire. Vous pouvez également envisager l'auto-enregistrement comme solution temporaire, mais cela n'est pas recommandé car cela peut présenter des problèmes lors de l'installation.

Conseils supplémentaires

  • Toujours exécuter l'enregistrement COM à partir d'une commande élevée. prompt.
  • Heat.exe n'extrait aucun assembly .NET personnalisé (tel que celui généré par RegAsm.exe) pour l'enregistrement COM.
  • Le chemin SourceDir généré par heat.exe peut contenir des chemins d'espace réservé. Ajustez-les si nécessaire pour refléter avec précision le répertoire d'installation.

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!

Déclaration:
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