代码之家  ›  专栏  ›  技术社区  ›  Brian

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

  •  2
  • Brian  · 技术社区  · 15 年前

    根据wcoenen的建议,我决定尝试使用免注册的com。当然,除了XP之前的机器之外,这一切都很好地工作。我认为有一个不错的主意就是添加到一些文件中, SelfRegCost='[var]' . 很可能这不是 正确的东西 但我还是想知道怎么做,如果只是为了满足我自己的好奇心。我假设,也许是错误的 selfRegCost='[var]' 如果var是空字符串,则不会导致自注册。但这可能是错误的。

    这和 "WIX: How can the registry key be changed based on the OS on which the installer is running ?" 但是在我的例子中,我意识到我可以(并且可能应该)使用不同的组件,只是不在乎。

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

    2 回复  |  直到 15 年前
        1
  •  1
  •   Rob Hunter    15 年前

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

    您的建议是让安装的一部分失败,但希望是安静的。

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

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

    当然,Rob Mensching提供了大量理由,因此不建议这样做。

        2
  •  2
  •   Rob McCready    15 年前

    我不需要用wix安装COM(感谢上帝)。但是从医生那里 this thread 似乎SelfRegCost只是为了让MSI知道需要验证多少可用空间。我猜空白将是一个错误,或者被视为零,仍然安装DLL。

    我肯定会使用多个组件。