3

During basic install mode " msiexe /i MyInstaller.msi /qb " I get boxes instead of characters in the MSI progress dialog. Is there a way to change which Font TTF / FontFace is being used in the 'basic' MSI dialog ?

1) msi log MSI (c) (A4:EC) [14:38:59:636]: Font created. Charset: Req=1, Ret=0, Font: Req=, Ret=Arial MSI (c) (A4:EC) [14:38:59:636]: Font created. Charset: Req=1, Ret=1, Font: Req=Estrangelo Edessa, Ret=Estrangelo Edessa

2) I opened the Arial and Estrangelo Edessa TTFs ( C:\WINDOWS\Fonts - Win XP SP3 ) and sure enough, Arial works fine but Estrangelo Edessa font shows up as boxes. This doesn't happen on Windows Vista or Windows 7. Also, seems to be solved by installing the East Asian and complex script language packs ( Control Panel > Regional and Language Options > Languages (tab) ). This isn't exactly a friendly solution for all of our users.

Any help is appreciated :)

Alexey Ivanov
  • 11,541
  • 4
  • 39
  • 68
wix-user
  • 33
  • 2

1 Answers1

2

Most probably you have an incorrectly set code page in your package. Code Pages article in WiX documentation explains how to work with code pages.

If your package uses only English for its GUI interface, then set Codepage attribute of Product element to 1252.

If your package uses East Asian or complex script for its UI language, then the only option is to install the support for them from Control Panel. Windows Vista and Windows 7 have this support preinstalled.

Alexey Ivanov
  • 11,541
  • 4
  • 39
  • 68
  • We see the same problem when uninstalling the current build of our product on XP, and we don't use WiX at all! Just plain msi* tools driven from a bunch of Perl. – tml Dec 11 '12 at 07:56
  • @tml It's not related to WiX. This issue is seen in MSI packages, and WiX is a tool to create MSI packages. No matter how you manage MSI packages, if your package has the wrong `Codepage`, you could see missing fonts. The font you use may be missing, and a substitute selected for it does not have the glyphs for characters. Also you have to install support for *East Asian or complex script* before such languages are displayed correctly. – Alexey Ivanov Dec 11 '12 at 08:04
  • But why somebody who has no knowledge of any East Asian languages, or languages using complex scripts, and has not set XP to use any such, would be shown messages in such languages/scripts, I don't understand. – tml Sep 21 '13 at 06:25
  • @tml It's not a question of what user wants or expects, it's a question of what software wants and expects. The software was written to display UI in East Asian languages, and it does so even though some system components are missing… Anyway the software might not be able to display text in any other language. Alternatively, the user may know East Asian languages but prefers English as interface of the OS. In that case the support may be missing initially. I guess there are even more use cases where such an issue could occur. – Alexey Ivanov Sep 25 '13 at 05:41
  • Syriac script (the script which the Estrangelo Edessa font covers) is not an East Asian language. (If anything, it could be called Western Asian;) And in our case, no software was trying to display anything in any East Asian language, or in Syriac for that matter. Windows XP, just, for some reason, when uninstalling our software, wanted to use that font to display a message in plain Latin script, on an XP installation using Latin script. It is a bug in Windows XP. – tml Oct 14 '13 at 05:18