cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
slalande50
Level 5

New font not uninstall when used during uninstall of my application

We are currently developing a new font for our application. I have easily been able to install this new font via InstallShield by adding it to the Font Table. My InstallShield project is a InstallScript MSI project.

So when I install my application, the font is nicely installed without any problem on my computer. If I do a remove of my application, It is removed without any problem.

The problem I come up with is that if ever this font is used by another application such as Microsoft Word. The font seems to be locked and cannot be removed. But there is no notification that the font cannot be removed from my PC. Now the real problem may come up at one point where we want to do a major upgrade and the font would have changed, this would not be good since the new font would not be installed on the computer and the old font would still be used without any notice to the user.

So is there a way to force the uninstall of a font by InstallShield?

thanks
Labels (1)
0 Kudos
(9) Replies
slalande50
Level 5

I do not know if this does matter but the font is a ".otf" file
0 Kudos
Lurean
Level 8

I have seen similiar issues with the fonts we use. I have found that a lot of the time the font is actually uninstalled but won't be removed from the fonts folder until the machine is rebooted. You can also use the "Always Overwrite" property on the fonts file to ensure that a newer font file is installed over the old one. Again, it may take a reboot for the system to acknowledge the change in the font file.
0 Kudos
slalande50
Level 5

Indeed it does work. setting the files as always overwrite does overwrite the font all the time. InstallShield actually manages pretty well the upgrade of a font even if the font is in use by another application such as microsoft word.

thanks alot.
0 Kudos
slalande50
Level 5

After further investigation, I found other problem trying to upgrade a font.

Yes the "Always Overwrite" does overwrite a font without any problem during a major upgrade. Now my problem comes to the update of upgrading font depending on the font version installed on the PC.

What happens if 2 separate program installation does install the same font. And that the font may evolve over time. So the version of these files would be incremented. How to make sure to only install the font if the version is higher than what is already installed on the computer. The "Always Overwrite" settings does not verify the version.

Yes I know there is the Shared setting but this does not seem to validate the version number of a file.

So how to upgrade a font, that is shared by different installation, to the latest version.

Plus from what I have seen. If we do a major upgrade, the new font does install without any problem. But in the case where the font is already on the computer and that it is the first install of the program (meaning no upgrade). It does not seem to UnregisterFonts. So the font becomes corrupted and cannot be used anymore.


thanks in advance
0 Kudos
slalande50
Level 5

Another question pops me in mind. Is there any way to retrieve the version of a font?

thanks
0 Kudos
Lurean
Level 8

I don't think Fonts are versioned files, at least no version information is available in windows explorer when looking at font files.
0 Kudos
slalande50
Level 5

Well actually you can set a version to a font file.

If you double click on a font, you can see that there is a version.

This is the version I need. How can I get this version? This seems to be so basic that I cannot believe there is not more information on the web for this.
0 Kudos
slalande50
Level 5

I really need this information on how to do this.

As anyone ever happen to read the version of a font in installshield?
0 Kudos
Lurean
Level 8

The problem with reading the version of the font file is that it is not a file version. The font version is stored inside the font file as an entry in the file itself and is not exposed to anything outside the file. You would need a font file reader to see the font version.
0 Kudos