我有一个.NET 4.0程序集,需要在安装过程中使COM可见。我正在使用WiX(版本3.5),因此生成带有热量的WiX片段是合乎逻辑的选择。这样可以正常工作,除了我如何在加热时旋转旋钮,CodeBase RegistryValues默认为“file:/// C:/Windows/Microsoft.Net/assembly/GAC_32 / ...”,而程序集当然不是安装在该目录中。
因此,在安装过程中正确添加了注册表项,但指向不存在的程序集。失落的一天。即使在最简单的用例(“heat asm.dll -out asm.wxs”)中,我也有这个问题。
到目前为止,选项似乎是:
在WiX项目的其他位置处理程序集的安装,然后手动修改片段中的CodeBase声明,然后再将其传递给WiX工具链的其余部分。
手动将Assembly =“。net”属性添加到文件标记中 (http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/net-COM-registration-with-heat-td3606182.html)
使用XSLT(http://blog.accentient.com/2010/06/03/AddingHEATOutputToTheGAC.aspx)
这些选项都没有特别吸引人。是否有一种自动化的方法可以解决这个问题,而不涉及摆弄XSLT?
答案 0 :(得分:0)
免注册COM激活是否符合您的要求?
COM组件的免注册激活:演练
http://msdn.microsoft.com/en-us/library/ms973913.aspx