我有一个.NET 4.0程序集,需要在安装过程中使其可见。我使用的是WiX(版本3.5),因此用热量生成WiX碎片是合乎逻辑的选择。这工作正常,除了无论我如何旋转热旋钮,CodeBase RegistryValues默认为“file:/// C:/Windows/Microsoft.Net/assembly/GAC_32/...”,而程序集肯定不是安装在该目录中。控制热生成的WiX碎片中的代码库注册表项
因此,在安装过程中正确添加了注册表项,但指向了不存在的程序集。不开心的一天。即使在最简单的用例(“heat asm.dll -out asm.wxs”)中也有这个问题。
到目前为止的选项似乎是:
手柄安装在WiX的项目在其他地方组装的,然后将它传递给维克斯其它工具的前手动修改片段代码库声明。
手动添加一个Assembly = “净” 属性到该文件标签 (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的摆弄?
在产生WXS从热指示值将被扩展到文件安装到目标机器上的路径的基本代码注册表值。默认情况下,生成的wxs文件还将包含正在采集的文件的Directory元素。生成的wxs文件是什么样的?您也可以在安装过程中发布指向msi日志文件的链接吗? – 2011-06-22 09:37:14