gpt4 book ai didi

com - 如何在 WiX 3 中注册 Win32 COM DLL 文件?

转载 作者:行者123 更新时间:2023-12-03 07:54:35 26 4
gpt4 key购买 nike

我找到了一个关于注册 DLL 的示例,Registering an Assembly for COM Interop in a MSI file with the Windows Installer XML toolset. ,WiX 提示“AssemblyRegisterComInterop”属性。

我删除了它并将“Assembly”属性更改为 win32,它说我需要指定 AssemblyManifest 属性,但是我应该在那里放什么?

最佳答案

最简单的方法(Rob M 会大吼大叫这是怎么回事)就是使用 SelfRegCost=1在 DLL 的文件标记上。

这是错误的,因为我们应该明确控制 DLL 的注册,而不是允许它通过 DllRegisterServer 运行任意代码。理论是 DLL 应该在调用 DllRegisterServer 时将适当的条目放入注册表中。不幸的是,他们中的很多人做的远不止这些,所以自我注册可能是让您的安装工作的唯一方法。

这也是错误的,因为这意味着 Windows 安装系统对这些注册表项一无所知,也不知道应该和不应该存在什么。这意味着修复将不起作用,并且可能卸载无法正确清理等。

否则,您可以通过指向 heat.exe 生成适当的 WiX 代码。在您的 DLL 中,并将其输出集成到您当前的 WiX 项目中。您将获得各种 Class、ProgID、TypeLib 和 Registry 标记。您可能需要手动编辑该输出以使其编译。

我希望这有帮助。

关于com - 如何在 WiX 3 中注册 Win32 COM DLL 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/364187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com