Question

Je suis en cours d'exécution dans un problème où une dll COM que je distribue avec ma demande n'enregistrer parce que le atl.dll est pas enregistré sur la machine.

Le correctif rapide est d'avoir le regsvr32 d'exécution sur le dll, mais je veux quelque chose d'un peu plus propre alors que.

Je n'ai pas beaucoup d'expérience avec le déploiement et je me demandais s'il y a un moyen que je puisse déterminer si le atl.dll est enregistré sur la machine et sinon je pouvais l'enregistrer à partir du code.

J'ai actuellement un C # action personnalisée pour mon installateur .msi pour que je puisse éventuellement ajouter une logique là pour exécuter la tâche.

Merci d'avance.

Était-ce utile?

La solution

Vous devrez inclure le bon Module de fusion avec votre installateur. Ceux-ci seront installés à C:\Program Files\Common Files\Merge Modules. Si vous ne trouvez pas les fichiers nécessaires, vous avez probablement pas installé la fonction « Composants redistribuables » soit dans le SDK Windows et / ou Visual studio (je pense qu'il est à la fois désélectionné par défaut)

  • ATL90.DLL se trouve dans Microsoft_VC90_ATL_x86.msm
  • ATL80.DLL se trouve dans Microsoft_VC80_ATL_x86.msm
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top