2014-11-20 67 views
0

我们有一个Wix捆绑项目,现在需要生成我们产品的OEM品牌版本。我想使用相同的捆绑项目生成基本产品和品牌捆绑包,而不是创建第二个捆绑项目。我很熟悉Wix的本地化功能(WXL文件),它看起来像我可以使用它,但我坚持在WIXPROJ中定义的包EXE的OutputName;它需要为品牌版本使用不同的名称。也就是说,同一个bundle项目应该生成BrandedBundle.exe和BaseProductBundle.exe。如何以编程方式设置Wix OutputName

有没有一种方法来使用本地化功能以编程方式设置OutputName?

回答

0

进一步审查后,我发现捆绑项目属性页面中的“Cultures to build”字段被禁用,所以看起来捆绑不支持本地化。

我的确在这里找到了一些建议:Creating localized WIX 3.6 bootstrappers.,但似乎没有可能按照我想要的方式(使用本地化)来做我想做的事(更改OutputName)。

0

我不知道如何使用本地化功能来做到这一点,但还有其他方法可以做到这一点。

您可以在构建参数来传递的MSBuild ...

msbuild WiXInstaller.wixproj /t:Rebuild /p:DesiredName="OEMName" 

如果(在wixproj)的输出名称定义如下:

Application-$(DesiredName) 

然后输出将实际上是:应用程序OEMName.msi

然后你可以有你的构建配置了一堆不同OEM的,如果你需要运行...

msbuild WiXInstaller.wixproj /t:Rebuild /p:DesiredName="OEMOne" 
msbuild WiXInstaller.wixproj /t:Rebuild /p:DesiredName="OEMTwo" 
msbuild WiXInstaller.wixproj /t:Rebuild /p:DesiredName="OEMThree" 

它将运行构建三次,而且每次都会有自己的输出名称:

Application-OEMOne.msi 
Application-OEMTwo.msi 
Application-OEMThree.msi 

好运。

相关问题