Wix:根据操作系统更改参数

时间:2009-02-02 17:03:18

标签: wix windows-installer

根据wcoenen的建议,我决定尝试使用免注册的COM。当然,除了XP之前的机器外,这种方法也很完美。我认为有点整洁的一个想法是添加到一些文件SelfRegCost='[var]'。很可能这不是 The Right Thing™但我仍然想知道如何去做,只是为了满足自己的好奇心。我假设,也许是错误的,如果var是一个空字符串,SelfRegCost='[var]'将不会导致自我注册。但这可能是错误的。

这类似于"WIX: How can the registry key be changed based on the OS on which the installer is running ?",但在我的情况下,我意识到我可以(并且可能应该)使用不同的组件而不关心。

我很可能最终会使用不同的组件,但请满足我的好奇心。

2 个答案:

答案 0 :(得分:2)

我没有用WiX进行COM安装(感谢上帝)。但是从文档和this thread来看,听起来像SelfRegCost只是让MSI知道它需要验证多少空间可用。我猜空白将是一个错误,或被视为零,仍然安装DLL。

我肯定会使用多个组件。

答案 1 :(得分:1)

您需要使用条件组件以不同的方式安装到不同的操作系统。

您的建议是让部分安装失败,但希望无声无息。

使用自定义操作,您可以做到这一点!

<CustomAction Id="YourId" Directory="INSTALLDIR" ExeCommand='regsvr32.exe /s "[INSTALLDIR]YourCOM.dll"' Return="ignore" />

由于Rob Mensching提供的一系列原因,当然不建议这样做。