我一直在遇到一个问题,即我正在使用我的应用程序分发的com dll由于ATL.dll未在计算机上注册而无法注册。

快速修复是在DLL上将Run Regsvr32放在dll上,但是我想要一些更干净的东西。

我在部署方面没有太多经验,我想知道是否有一种方法可以确定ATL.dll是否在计算机上注册,如果没有,我可以从代码中注册它。

我目前为我的MSI安装程序有一个C#自定义操作,因此我可以在此处添加逻辑来执行任务。

提前致谢。

有帮助吗?

解决方案

您需要包括正确的 合并模块 与您的安装程序。这些将安装到 C:\Program Files\Common Files\Merge Modules. 。如果您找不到所需的文件,则可能没有在任何一个中安装“重新分布组件”功能 Windows SDK 和/或Visual Studio(默认情况下,这两者都没有选择)

  • ATL90.DLL 可以找到 Microsoft_VC90_ATL_x86.msm
  • ATL80.DLL 可以找到 Microsoft_VC80_ATL_x86.msm
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top