2014-09-22 21 views
1

我用WIX 3.8构建了一个引导程序包,其中我将安装目录的给定参数(通过DOS窗口)传递给MSI文件。 所有工作正常。如何在WIX中的wxs文件之间传递参数?

但是现在我们想在引导程序和MSI之间放置第二个WXS文件。 这一个名为Source.wxs,包含安装目录和MsiPackage-tag(它在启动文件之前)的变量,它将启动MSI。 最大的问题是:如何将我的参数从引导程序传递到第二个WXS文件?

在此先感谢! Patrick

回答

0

问题“我怎样才能将我的参数从引导程序传递到第二个WXS文件?”显示出一些缺乏理解。

你看,第二个WXS文件是(或至少应该是)你的MSI的一部分。我假设你将wxs文件直接添加到wix安装项目中,或者添加到wix安装项目引用的wix库中。无论哪种方式,您的主要wxs文件(带有<wix>元素的文件)将需要在第二个wxs文件中引用片段(通过引用组件或属性等)。

一旦你拉入第二个wxs的内容,其中定义的任何属性都将成为wix安装项目的一部分,并且由引导程序提供的任何适当命名的命令行参数将被送入正确的属性,无论其中wxs文件来自它。

0

如果你有一个变量名“APP_NAME”和值测试在威克斯文件,并希望在WXS使用的文件,你可以为使用!(loc.App_Name)

例如:威克斯文件包含以下变量

<String Id="App_Name" Overridable="yes">Test</String>  

您的WXS可以使用这样

<Product Name='!(loc.App_Name)'