0

We have a Wix bundle project and now need to produce an OEM-branded version of our product. I'd like to use the same bundle project to produce both the base product and branded bundles rather than creating a second bundle project.

I'm familiar the Wix localization functionality (WXL files), and it looks like I could use it for this, but I'm stuck on the OutputName of the bundle EXE which is defined in the WIXPROJ; it needs to have a different name for the branded version. That is, the same bundle project should produce both BrandedBundle.exe and BaseProductBundle.exe.

Is there a way to use the localization functionality to set the OutputName programmatically?

Darryl
  • 1,531
  • 15
  • 26

2 Answers2

0

I don't know how to do it with the localization functionality, but there is a nother way to do this.

You can pass in a build parameter to the msbuild...

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

If your Output name (in the wixproj) is defined as the following:

Application-$(DesiredName)

Then your output will actually be: Application-OEMName.msi

You can then have your build configured to run for a bunch of different OEM's if you need...

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

It will run the build three times, and each will have its own output name:

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

Best of luck.

Joe
  • 335
  • 1
  • 9
0

Upon further review, I see that the "Cultures to build" field in the bundle's project properties page is disabled, so it appears that localization is not supported for bundles.

I did find some suggestions here: Creating localized WIX 3.6 bootstrappers., but it does not appear that it is possible to do what I wanted to do (change the OutputName) the way I wanted to do it (using localization).

Community
  • 1
  • 1
Darryl
  • 1,531
  • 15
  • 26