0

I am trying to use Wingdings in my Wix installer, specifically the characters at 0xFB and 0xFC. I tried unicode variants of these (✗, ✓), but since Wix/MSI requires a specific codepage, these do not work.

My TextStyle is:<TextStyle Id="Wingdings_Font_Normal" FaceName="Wingdings" Size="8" />

My control is: <Control Id="TestResult_Success" Type="Text" X="140" Y="237" Width="24" Height="24" Text="{\Wingding_Font_Normal}ü">

In my UI, a raw ü is rendered, rather than the Wingdings glyph for that character.

Is there some way to get Wingdings working with Wix/MSI?

EDIT:

After having a peek with Orca inside my compiled MSI, I've found that my TextStyle table is being generated correctly:

FontStyle Table from installer

And the relevant lines of the control table: Control Table from installer

I manually added a new TextStyle and changed the Text to use the new TextStyle, but was unable to get any Winding symbols to appear in my installer.

Jesan Fafon
  • 2,234
  • 1
  • 25
  • 29
  • How does the control table look like? Can you massage the text in Orca and get a symbol to appear? If you can, try using Dark to reverse that back to XML and see what it looks like. – Christopher Painter Jan 23 '15 at 16:45
  • 1
    I was not able to use Orca to get any symbols to appear. I'll have a look with Dark next. – Jesan Fafon Jan 23 '15 at 16:54
  • The xml out of Dark looks the same as what I have in my source files, I.E. what I posted – Jesan Fafon Jan 23 '15 at 16:55
  • FWIW, If it can't be done in Orca, it can't be done in WiX. – Christopher Painter Jan 23 '15 at 18:07
  • I figured that. Could it be environment related? I am on Windows 8.1. – Jesan Fafon Jan 23 '15 at 19:26
  • I doubt it. MSI hasn't changed in years. I would suggest looking at using bitmaps or maybe try a richtext control. I can tell you what an installer unit is ( 1/12 of the height of a 10 point MS Sans Serif font) but even this one is beyond me. I'm pretty sure MSI simply doesn't support Unicode because Windows 95 didn't support unicode but I don't know where that's written. – Christopher Painter Jan 23 '15 at 19:57

2 Answers2

0

I don't have a citation to share but I'm 99.9% certain the answer is no. Windows Installer native/internal UI is about 16 years old and limited in numerous ways. To create a better UI experience you'd need to provide an external UI handler using a tool such as WiX Burn. This is how WiX provides it's enhanced UI experience. If you don't mind taking a dependency on .NET 3.0+ (which was included in Windows Vista and beyond by default ) you could go as far as use WPF to do the UI work.

Christopher Painter
  • 54,556
  • 6
  • 63
  • 100
0

You can do it by doing the following:

Create a new entry in the TextStyle table, like this for example:

TextStyle table
After this you can reference to the new TextStyle in the Control Table (column "Text") just like this: {\WixUI_Font_Wingdings}YourAwesomeText

Tino John
  • 84
  • 4