gpt4 book ai didi

c# - 使用 WiX 在 GAC 中注册一个 COM dll

转载 作者:太空宇宙 更新时间:2023-11-03 16:49:53 25 4
gpt4 key购买 nike

大家好

我正在为我的程序编写 WiX 安装脚本。我需要安装一个 C# dll 到 GAC,然后注册它。因此,我用 Assembly=".net" 标记文件,以便 WiX GAC 为我生成它,然后我有一个延迟的自定义操作,设置为在 InstallFinalize 之前运行,它调用 Assembly.Load 从 GAC 加载程序集,然后调用 RegistrationServices.RegisterAssembly 进行注册。

应该是完美的,除了一个问题:显然 dll 直到提交阶段才真正写入 GAC,所以当我的自定义操作运行时,Assembly.Load 抛出,因为它不能'找不到文件。它在哪里?在提交阶段之前是否可以访问它?还是有更好的方法来完全做到这一点?似乎是一件微不足道的事情......

请不要建议使用heat.exe;我真的很想避免它。我的程序有一个 ComRegisterFunction,如果可能的话,它希望在用户的计算机上执行。

最佳答案

一般来说,自助注册在安装过程中是不受欢迎的,这正是因为您所描述的问题。您应该将注册表项添加到 WiX 脚本中。

此外,您不会只在 GAC 中安装程序集,对吗?将您的 COM 注册指向非 GAC 位置。

关于c# - 使用 WiX 在 GAC 中注册一个 COM dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4357806/

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