This particular MSI was created without the Font Table.
(The Font table contains the information for registering font files
with the system.)
This MSI was created using Orca Version 2.0.2600.0
On VISTA after installation of the product the Fonts do not appear if
we go to Control Panel -> Appearance and Personalization -> Fonts .
(But if we list the fonts using the command line Dir C:\windows\fonts
they are present in the C:\windows\fonts folder.)
On VISTA when we right click anywhere inside the Font folder and click
Add Fonts a pop-up box appears allowing us to install the new fonts
just installed by the MSI.
We want to include a fix for this MSI in a MSP.
So I added the Font Table in the Upgraded MSI and created a Small
Update patch.
If I open the Target MSI and do a Transform View patch (then I select
my MSP patch), it shows all the Fonts listed in the Font Table as
boxed in green (meaning the patch has included the change).
When the MSP is installed on a VISTA machine the log indicates:
......
...........
MSI (s) (04:F0) [14:19:46:877]: Doing action: RegisterFonts
Action ended 14:19:46: WriteEnvironmentStrings. Return value 1.
MSI (s) (04:F0) [14:19:46:877]: Note: 1: 2262 2: Font 3: -2147287038
MSI (s) (04:F0) [14:19:46:877]: Transforming table Font.
MSI (s) (04:F0) [14:19:46:877]: Transforming table Font.
MSI (s) (04:F0) [14:19:46:877]: Note: 1: 2262 2: Font 3: -2147287038
Action start 14:19:46: RegisterFonts.
MSI (s) (04:F0) [14:19:46:892]: Doing action: InstallODBC
Action ended 14:19:46: RegisterFonts. Return value 1.
............
....
But the Fonts still do not appear if we go to Control Panel ->
Appearance and Personalization -> Fonts .
How can we register these fonts on Windows VISTA using a small update
MSP?
What else can I do to get these fonts to register now on VISTA?
Thanks in advance for your help.
Regards,
Please don't send me direct emails, use the newsroom or go to
http://contactez.net/portfolio.html
Dominique Schneider
Check out the remarks for RegisterFonts:
http://msdn2.microsoft.com/en-us/library/aa371158(VS.85).aspx
If your font files are already installed then RegisterFonts won't act upon
them. It seems to me that you already installed the fonts with your RTM MSI
file since you stated you install files to Windows\Fonts but didn't add Font
table.
To get RegisterFonts to work with the MSP you need to force the component(s)
that install the fonts to be reinstalled. Last I checked most fonts don't
have version information so you are dealing with unversioned file
replacement rules. You should be able to populate the File table with a
version number (or higher one) and rebuild the MSP and hopefully end up with
the fonts being reinstalled.
Sincerely,
Adrian Accinelli
Thanks Adrian,
You put me on the right track when you stated "you need to force the
component(s) that install the fonts to be reinstalled". I hope this
may help others...
I searched for an old UNIX tool called Touch to set the access and
modification times to the current time.
I found one that can be used on Windows and I used it to change the
dates of each fonts to the current date (it took a split second).
To be sure, I used Orca to also change the size by adding a single
byte to each font (may not be necessary, I will do more tests).
I created the MSP and its LOG indicated that the font files were
included in the patch.
Now after installation of the MSP the Fonts DO appear in the Control
Panel -> Appearance and Personalization -> Fonts. The installation LOG
confirm their installation also.
It was very simple.
Thank you it worked fine!
Please don't send me direct emails, use the newsroom or go to
http://contactez.net/portfolio.html
Dominique G. Schneider