Visual studio 2012 如何以编程方式设置Wix OutputName
我们有一个Wix捆绑项目,现在需要生产我们产品的OEM品牌版本。我希望使用相同的捆绑包项目来生产基础产品和品牌捆绑包,而不是创建第二个捆绑包项目 我熟悉Wix本地化功能WXL文件,看起来我可以用它来实现,但是我被WIXPROJ中定义的bundle EXE的OutputName卡住了;品牌版本需要有不同的名称。也就是说,同一个bundle项目应该同时生成BrandedBundle.exe和BaseProductBundle.exeVisual studio 2012 如何以编程方式设置Wix OutputName,visual-studio-2012,wix,windows-installer,Visual Studio 2012,Wix,Windows Installer,我们有一个Wix捆绑项目,现在需要生产我们产品的OEM品牌版本。我希望使用相同的捆绑包项目来生产基础产品和品牌捆绑包,而不是创建第二个捆绑包项目 我熟悉Wix本地化功能WXL文件,看起来我可以用它来实现,但是我被WIXPROJ中定义的bundle EXE的OutputName卡住了;品牌版本需要有不同的名称。也就是说,同一个bundle项目应该同时生成BrandedBundle.exe和BaseProductBundle.exe 有没有一种方法可以使用本地化功能以编程方式设置OutputName
有没有一种方法可以使用本地化功能以编程方式设置OutputName?我不知道如何使用本地化功能,但还有另一种方法可以做到这一点 您可以将生成参数传递给msbuild
msbuild WiXInstaller.wixproj /t:Rebuild /p:DesiredName="OEMName"
如果wixproj中的输出名称定义如下:
Application-$(DesiredName)
那么您的输出实际上是:Application-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
祝您好运。进一步查看后,我发现捆绑包的“项目属性”页面中的“要构建的区域性”字段被禁用,因此捆绑包似乎不支持本地化 我确实在这里找到了一些建议:,但似乎不可能实现我想做的事情—使用本地化更改OutputName