Problems with SVS and Fonts? Try This
If fonts are a sore spot between you and virtualized applications, here's a cure from Jared Payne that should clear things up.
A number of users have reported problem with fonts when using SVS. The reported problem causes applications like Outlook to not look and act properly. The only guaranteed workaround is to copy the fonts from the layer to the base system. You can manually do this by using the advanced editor in SVS Admin to drag the appropriate fonts to the system fonts directory.
Since you probably do not want to do this on every machine you manage I have created a tool to help you out; CopyFonts. CopyFonts needs to be run as a user with permission to add fonts. If your users are administrators, you can run this application whenever you want. If your users are not administrators, you will need to guarantee that this application is run as an administrator.
SVS has the ability to run an application when a layer's state changes. Jeremy Hurren has written a tip How to Launch an Application or Run a Script when a Layer's State Changes that describes all of the events you can run. SVS requires you to be an administrator to do any SVS operations except activate and deactivate. Ideally, you can set up the OnPostImport event to run the CopyFonts program for you.
Here are the steps you'll need to take.
- Get CopyFonts.exe to a known place on your client machine.
- Browse to HKLM\System\Altiris\FSL\
- Locate the key that is associated with the layer you want (in my case 10).
- Create a value named OnPostImport that is a Multi-String Value.
- Modify the value of OnPostImport to run CopyFonts when the layer is imported.
- *Due to an SVS issue repeat steps 3-5 on the peer sub layer.
- Export your newly modified layer.
- Send it out to your environment.
CopyFonts can be run a number of ways. For example, you can run CopyFonts as a software delivery task. If you come up with a new way to use CopyFonts, share it with the rest of us by leaving a comment.
*SVS may look in the wrong sub layer for the OnPostImport value, so you need to have it in both the sub layers. OnPostImport is the only event that has this problem.