我的构建系统使用Wix创建一个MSI,然后使用WIX将其捆绑到另一个充当引导程序的EXE中。引导程序确保安装所有依赖项(.NET等)。
我想在MSI中更改一些属性,具体取决于谁下载它。在构建完成很久之后,我才会知道这些设置。
我可以通过编辑属性DB来使用MSI。但是,当我尝试使用相同的技术时,它(WIX interop libarary)说它无法打开文件。
那么,我该怎么做其中的一件事:
答案 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刻录,那么我会说不。
潜在选项: