Two alternatives come to mind. Would something like this work for you?
\MyInstaller Main.wxs \en-us Myinstaller_en.wixproj \ja-jp Myinstaller_ja.wixproj In each wixproj, add the appropriate tag to a PropertyGroup tag: <DefineConstants>LCID=1033</DefineConstants><!--English--> Or <DefineConstants>LCID=1041</DefineConstants><!--Japanese--> Remove the <?define LCID...> tag. Change the <Compile> tag to get the .wxs file from ..\Main.wxs instead of your current values. If that doesn't work, go with this: \MyInstaller Commonmain.wxi \en-us Myinstaller_en.wixproj Main_en.wxs \ja-jp Myinstaller_ja.wixproj Main_ja.wxs Except each Main_*.wxs will look like: <?xml...> <Wix ...> <?include ..\Commonmain.wxi?> </Wix> And inside of Commonmain.wxi, you put: <?xml...> <Include...> <Product ...> <Package .../> ... </Product> </Include> -Blair -----Original Message----- From: Lian Jiang [mailto:lji...@microsoft.com] Sent: Wednesday, August 12, 2009 6:05 PM To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] how to refactor my code to support multiple locales easier Hi, I have below file structure for supporting multiple locales: \MyInstaller \en-us Myinstaller_en.wixproj Main_en.wxs \ja-jp Myinstaller_ja.wixproj Main_ja.wxs The only difference between Main_en.wxs and Main_ja.wxs is that the former uses 1033 as language ID and the latter uses 1041. <?define LCID="1041"?> <Product Id="$(var.PRODUCT_GUID)"> ...... </Product> As you can see, it is a big pain that every time when I update <Product> node in Main_en.wxs, I need to update Main_ja.wxs correspondingly. To relieve this pain, I tried to change the file structure into below one but did not succeed: \MyInstaller Commondefine.wxi \en-us Myinstaller_en.wixproj Main_en.wxs \ja-jp Myinstaller_ja.wixproj Main_ja.wxs This does not work because the whole <Product> node is the same for en-us and ja-jp. Only the macro which can be defined in wxi file is different. I know there is a way to create multiple locales installers using only one wixproj but it does not work here because I need to generate transform from en-us installer to ja-jp installer to create a MUI-based installer. How can I decouple <Product> node from the locale-specific part (e.g. LCID define) so that changing <Product> node does not need to change both locales' wxs files? Appreciate your help. Thanks Lian ---------------------------------------------------------------------------- -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users