WIX генерирует многоязычный установщик
Я новичок в WIX и использую Wix 3.8 VS 2012. Мне удалось сгенерировать .- да нет же .exe с помощью этого удивительного инструмента.
Из этого учебника: http://max.zamorsky.name/node/78 , мне удалось изменить установщик на French
. Я хотел бы сделать многоязычный инсталлятор, который установщик мог бы определить язык системы и приступить к установке.
Я пытался понять это. link:http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Localized-bundle-Picking-up-the-right-files-td7265208.html но я не мог понять.
Пожалуйста, объясните мне, как я могу сделать этот тип установщика? Нужна ваша помощь и спасибо.
Связка.WXS
<?xml version="1.0" encoding="UTF-8"?>
<?define SourceDirImages = "C:UserskrangarajDocumentsVisual Studio 2012ProjectsPrintUtilitySetupProjectInstaller" ?>
<?define SourceDoc = "C:UserskrangarajDocumentsVisual Studio 2012ProjectsPrintUtilityPrintUtilityExe" ?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Name="PrintUtility" Version="1.5" Manufacturer="DNP PIE SAS" IconSourceFile="PartyPrintInstaller.ico"
UpgradeCode="7ba74925-c154-4939-9c2e-a531eac0cd8a" >
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" >
<bal:WixStandardBootstrapperApplication SuppressOptionsUI="yes" SuppressRepair="yes"
LicenseFile="$(var.SourceDoc)sample.rtf" ThemeFile="HyperlinkTheme.xml"
LocalizationFile="HyperlinkTheme.wxl"
ShowVersion="yes"
LogoFile="$(var.SourceDoc)logo.jpg" LogoSideFile="$(var.SourceDoc)SideLogo.jpg"/>
<!--For the French language -->
<Payload Compressed="yes" Name="1036thm.wxl" SourceFile="1036thm.wxl"/>
<!-- I would like to add German,Greek,English,Es,It,Jp,Ru,Turkish make a common installer
<Payload Compressed="yes" Name="1031thm.wxl" SourceFile="1031thm.wxl"/>
<Payload Compressed="yes" Name="1032thm.wxl" SourceFile="1032thm.wxl"/>
<Payload Compressed="yes" Name="1033thm.wxl" SourceFile="1033thm.wxl"/>
<Payload Compressed="yes" Name="1034thm.wxl" SourceFile="1034thm.wxl"/>
<Payload Compressed="yes" Name="1040thm.wxl" SourceFile="1040thm.wxl"/>
<Payload Compressed="yes" Name="1041thm.wxl" SourceFile="1041thm.wxl"/>
<Payload Compressed="yes" Name="1049thm.wxl" SourceFile="1049thm.wxl"/>
<Payload Compressed="yes" Name="1055thm.wxl" SourceFile="1055thm.wxl"/>-->
</BootstrapperApplicationRef>
<Chain>
<!-- TODO: Define the list of chained packages. -->
<MsiPackage SourceFile="$(var.SourceDirImages)Product.msi"/>
</Chain>
</Bundle>
</Wix>
1 ответ:
Предполагая, что вы не планируете использовать загрузчик, который выбирает язык и затем запускает MSI с соответствующим преобразованием языка, вы можете использовать метод, описанный на следующем сайте: http://www.installsite.org/pages/en/msi/articles/embeddedlang/
Обратите внимание, что этот метод не поддерживается Microsoft, но у меня не было никакого негативного опыта с ним. Также обратите внимание, что для определения языка используется не язык пользовательского интерфейса Windows, а стандарты и формат варианты окон.
Он в основном состоит из следующих шагов:
- создайте базовый MSI-файл с базовым / резервным языком, в большинстве случаев это будет английский.
- создайте файлы преобразования языка, по одному для каждого языка. Если пользовательский интерфейс не изменится и вы измените только элементы пользовательского интерфейса, вы можете повторно использовать эти файлы преобразования для дальнейших построений.
- добавьте языковые преобразования в виде потоков, используя VBScript-скрипт из Windows SDK.
- обновить ввод языка сводного информационного потока для отражения включенных языков.
Во время установки появится начальное диалоговое окно, которое проверяет настроенный язык, затем пользовательский интерфейс отображается на правильном языке.
Как сказано: этот метод отлично работал для меня для установщика и > 20 языков.