大家好,
我正在为我的程序编写一个 WiX 安装脚本。我需要将 C# dll 安装到 GAC,然后注册它。Assembly=".net"所以,我用WiX GAC 为我标记文件,然后我有一个延迟的自定义操作,设置为 run before InstallFinalize,它调用Assembly.Load从 GAC 加载程序集,然后RegistrationServices.RegisterAssembly注册它。
应该是完美的,除了一个问题:显然 dll 直到提交阶段才真正写入 GAC,所以当我的自定义操作运行时,Assembly.Load因为找不到文件而抛出。它在哪里?在提交阶段之前是否可以访问?还是有更好的方法来完全做到这一点?好像是一件很琐碎的事情...
请不要建议使用heat.exe;我真的很想避免它。如果可能的话,我的程序有一个ComRegisterFunction想在用户计算机上执行的程序。