| Index: installer/msibuild.cmd | 
| =================================================================== | 
| new file mode 100644 | 
| --- /dev/null | 
| +++ b/installer/msibuild.cmd | 
| @@ -0,0 +1,89 @@ | 
| +@echo off | 
| +setlocal | 
| +set FLAG=%1 | 
| +shift | 
| +set LOCALE_ID=%1 | 
| +shift | 
| +set LOCALE_NAME=%1 | 
| +shift | 
| +set LOCALE_FILE=%1 | 
| +shift | 
| +set MSI_LOCALE=%1 | 
| +shift | 
| +set MST=%1 | 
| +shift | 
| +set MSI_BASE=%1 | 
| +shift | 
| +set MSI_INTERIM=%1 | 
| +shift | 
| +set WIXOBJ=%1 | 
| +shift | 
| +set WIXOBJ=%WIXOBJ% %1 | 
| +shift | 
| +set WIXOBJ=%WIXOBJ% %1 | 
| +shift | 
| +set WIXOBJ=%WIXOBJ% %1 | 
| +if "%WIXOBJ%"=="" goto Help | 
| +if "%FLAG%"=="initial" ( | 
| +  set CULTURES= | 
| +  goto Light | 
| +) | 
| +if "%FLAG%"=="additional" ( | 
| +  set CULTURES=-cultures:%LOCALE_NAME% | 
| +  goto Light | 
| +) | 
| +echo First argument must be either 'initial' or 'additional' | 
| +exit /b 1 | 
| +goto End | 
| +:Light | 
| +echo on | 
| +light -notidy -nologo -ext WixUIExtension -sval %CULTURES% -loc %LOCALE_FILE% -out %MSI_LOCALE% %WIXOBJ% | 
| +if errorlevel 1 GOTO :Error | 
| +@echo off | 
| +if "%FLAG%"=="additional" goto Additional | 
| +:Initial | 
| +echo on | 
| +copy %MSI_LOCALE% %MSI_INTERIM% | 
| +copy %MSI_LOCALE% %MSI_BASE% | 
| +@echo off | 
| +goto End | 
| +:Additional | 
| +echo on | 
| +msitran -g %MSI_BASE% %MSI_LOCALE% %MST% | 
| +if errorlevel 1 GOTO :Error | 
| +cscript ..\..\emb.vbs %LOCALE_ID% %MSI_INTERIM% %MST% | 
| +if errorlevel 1 GOTO :Error | 
| +@echo off | 
| +goto End | 
| + | 
| +:Help | 
| +echo msibuild - A single-language step to create a multi-language MSI | 
| +echo   Must be run from an architecture-specific build directory, such as installer/build/ia32 | 
| +echo. | 
| +echo usage: msibuild ^<flag^> ^<locale_id^> ^<locale_file^> ^<msi_locale^> ^<mst^> ^<msi_base^> ^<msi_interim^> ^<wix_objects^> | 
| +echo   flag - either 'initial' or 'additional' | 
| +echo   locale_id - a Microsoft LCID (e.g. 1033) | 
| +echo   locale_file - a WiX localization file (e.g. en-us.wxl) | 
| +echo   msi_locale - an MSI file as compiled with the given locale_file | 
| +echo   mst - an MST file generated by comparing msi_locale against msi_base | 
| +echo   msi_base - an MSI file against which to generate a transform | 
| +echo   msi_interim - an MSI file into which to embed the MST | 
| +echo   wix_objects - a list of WiX object files from which to build the MSI | 
| +echo. | 
| +echo Initial build | 
| +echo   - Create ^<msi_locale^> | 
| +echo   - Copy it to ^<msi_base^> | 
| +echo   - Copy it to ^<msi_interim^> | 
| +echo   - Ignores arguments ^<locale_id^> (only needed for embedding) and ^<mst^> (since no transform is needed), | 
| +echo     but they must be present on the command line nonetheless | 
| +echo. | 
| +echo Additional build | 
| +echo   - Create ^<msi_locale^> | 
| +echo   - Generate ^<mst^> by comparing ^<msi_locale^> against ^<msi_base^> | 
| +echo   - Embed ^<mst^> into ^<msi_interim^> with storage identifier ^<locale_id^> | 
| +echo. | 
| + | 
| +:Error | 
| +exit /b 1 | 
| + | 
| +:End | 
|  |