Hello,
I created a bootstrapper using the IRMakeBootstrap.exe, which consists of 1 msi file and a .Net4.5.2 offline installer which is a dependency. I want to localize it in Japanese, so I created my own Japanese.xml file with the JP strings, set the description to "Japanese-JP" and the DefaultLCIDS to "1041".
In the main xml file I am referring this file and the Language is correctly set:
<LanguageMap DefaultLangId="1041">
<Language Id="1041" MessagesRef="Japanese"/>
</LanguageMap>
<Messages Id="Japanese">
<MessageFileRef Filename="Data\Languages\Japanese.xml"/>
</Messages>
The bootstrapper exe gets created successfully. So far so good. The problem is that in the generated bootstrapper the JP strings get corrupted. Something like this:
Original message in the Japanese.xml file - セットアップ ファイルがシステムに抽出されています。少々お待ちください。
Same message in the generated bootstrapper - 繧サ繝・ヨ繧「繝・・ 繝輔ぃ繧、繝ォ縺後す繧ケ繝・Β縺ォ謚ス蜃コ縺輔l縺ヲ縺・∪縺吶€ょー代€・♀蠕・■縺上□ 縺輔>縲・
Our localization guys said that this is related to encoding. After some investigation I figured out that JP strings get corrupted in such way when converting UTF-8 to Shift-JIS. I don't know if this is what the IRMakeBootstrap.exe is doing, but no matter of the initial encoding of the Japanese.xml file, it always gets encoded in UTF-8 in the temp folder when creating the actual bootstrapper, so I thought that this might be the case.
Do you have any idea how to solve this issue?
I created a bootstrapper using the IRMakeBootstrap.exe, which consists of 1 msi file and a .Net4.5.2 offline installer which is a dependency. I want to localize it in Japanese, so I created my own Japanese.xml file with the JP strings, set the description to "Japanese-JP" and the DefaultLCIDS to "1041".
In the main xml file I am referring this file and the Language is correctly set:
<LanguageMap DefaultLangId="1041">
<Language Id="1041" MessagesRef="Japanese"/>
</LanguageMap>
<Messages Id="Japanese">
<MessageFileRef Filename="Data\Languages\Japanese.xml"/>
</Messages>
The bootstrapper exe gets created successfully. So far so good. The problem is that in the generated bootstrapper the JP strings get corrupted. Something like this:
Original message in the Japanese.xml file - セットアップ ファイルがシステムに抽出されています。少々お待ちください。
Same message in the generated bootstrapper - 繧サ繝・ヨ繧「繝・・ 繝輔ぃ繧、繝ォ縺後す繧ケ繝・Β縺ォ謚ス蜃コ縺輔l縺ヲ縺・∪縺吶€ょー代€・♀蠕・■縺上□ 縺輔>縲・
Our localization guys said that this is related to encoding. After some investigation I figured out that JP strings get corrupted in such way when converting UTF-8 to Shift-JIS. I don't know if this is what the IRMakeBootstrap.exe is doing, but no matter of the initial encoding of the Japanese.xml file, it always gets encoded in UTF-8 in the temp folder when creating the actual bootstrapper, so I thought that this might be the case.
Do you have any idea how to solve this issue?

Comment