Hi Kevin,
We use a .wixproj to manage the files in the VS IDE and then have a
separate MSBuild script to manage building of our multi-language
installers.
We start by finding all WiX files
<!-- WiX compile target expects a list of wxs files to compile.
We just compile all .wxs in the Installation directory-->
<ItemGroup>
<WiXSourceFiles Include="$(InstallationDirectory)\*.wxs" />
</ItemGroup>
We have an ItemGroup of languages defined:
<!--List of all languages supported by the installer.-->
<ItemGroup>
<Language Include="TraditionalChinese">
<Culture>zh-TW</Culture>
<Code>1028</Code>
<Prefix>TW</Prefix>
</Language>
<Language Include="German">
<Culture>de-DE</Culture>
<Code>1031</Code>
<Prefix>DE</Prefix>
</Language>
...
</ItemGroup>
Then use the Candel WiX MSBuild task:
<!--Compile the WiX source files-->
<Candle
SourceFiles="@(WiXSourceFiles)"
OutputFile="$(InstallationDirectory)\obj\release\"
ToolPath="$(WixToolPath)"
DefineConstants="Build=Release;SolutionDir=E:\XXX\Source" />
Then use Light:
<!--Batch process all the languages-->
<Light
ObjectFiles="@(CompileObjOutput)"
Cultures="%(Language.Culture)"
Extensions="@(WixExtension)"
OutputFile="$(InstallerOutputDirectory)\XXX%(Language.Prefix).msi"
ToolPath="$(WixToolPath)" />
The key point to note in the last step is the use of %(Language...)
which causes Light to be called for each language defined in the
ItemGroup.
You can then use an <Exec> task to create transforms and embed them back
into a language neutral msi.
Kind regards,
Tim Rayment
Senior Software Engineer
Oxford Instruments plc
Halifax Road, High Wycombe, HP12 3SE, UK
Tel: +44 (0) 1494 442255
Email: [EMAIL PROTECTED]
www.oxford-instruments.com
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Kevin
Richardson
Sent: 07 May 2008 05:24
To: [email protected]
Subject: [WiX-users] MSBuild with multiple localizations
Greetings,
Does anyone have an example of building multi-language WiX installers
with MSBuild? I've looked at the single-language examples, but what
I'd like to do is have a .wixproj that builds an installer in 10+
languages.
My current process uses the WiX tools manually through batch files,
and basically does the following:
1) build language-neutral MSI
2) set environment variable (used in <Product> language attribute) and
build localized MSI for each language (candle/light are called with
the appropriate localized .wxl files)
3) generate a transform between the language neutral and localized MSIs
4) embed the transforms into the MSI (I believe that's an undocumented
way to do a "language picker")
Can this be duplicated (or improved upon) reasonably in a .wixproj?
Thanks,
-kevin
------------------------------------------------------------------------
-
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j
avaone
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
+++ Virus-scanned by MailControl for Oxford Instruments +++
___________________________________________________________________________ThThis
e-mail is confidential and is for the addressee only. Please refer to
www.oxinst.com/email-statement for regulatory information.
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users