更改WIX Bundle中的属性

时间:2015-01-12 22:18:43

标签: wix windows-installer

我的构建系统使用Wix创建一个MSI,然后使用WIX将其捆绑到另一个充当引导程序的EXE中。引导程序确保安装所有依赖项(.NET等)。

我想在MSI中更改一些属性,具体取决于谁下载它。在构建完成很久之后,我才会知道这些设置。

我可以通过编辑属性DB来使用MSI。但是,当我尝试使用相同的技术时,它(WIX interop libarary)说它无法打开文件。

那么,我该怎么做其中的一件事:

  1. 编辑WIX包EXE内的属性(我可以将其传递给捆绑的包)
  2. 提取并重新插入捆绑的MSI

1 个答案:

答案 0 :(得分:3)

您可以使用命令行将属性传递给wix bundle。然后捆绑包可以将属性传递给MSI。

WiX Bootstrapper: How do I set burn variables from the command line?

Pass parameters from bootstrapper to msi bundle package

我能想到的另一个解决方案:如果你编写自己的自定义引导程序,你就可以访问IBootstrapperEngine::SetVariable,你可以随心所欲地做任何事情,包括设置MSI可以阅读的属性。 https://wixwpf.codeplex.com/应该很简单。

如果你问是否有类似orca.exe这样的工具用于Wix刻录,那么我会说不。

潜在选项:

  • 动态生成wix刻录安装程序(包括编译)
  • 拆分可执行文件:将Compressed属性设置为" no"。您可以访问* .msi。
相关问题