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.
- Login or register to post comments
- 7402 reads
- Printer-friendly version

















Juuucy
One word to summarize your tip: juuucy.
CopyFonts saved me hours of headache.
Thx,
Anthony
Need a better workaround
Copyfonts is a great tool to work around the initial problem. The problem exists by a registry failure in the SvScmd.exe.
A faster, easier to manage, and better way is to overcome the registry failure.
Regards
Erik
Wow, now fonts issues could
Wow, now fonts issues could be solved in few times.
Thanks
Fonts redirection code
Riva11,
I found out the problem, and have a way to solve it. In two weeks i will travel to Utah to support Randy with my ideas, and that will hopefully lead to a new version.
Regards
Erik
www.svs4u.nl
Hello Erik...
Could you please let me know if your solution is now available or not?
SVS and Fonts
Jared, you just saved my life!
I had trouble with a couple of special fonts from Office 2007 I need for my Master Thesis. After copying and installing them into the base, everything came back to normal.
Thanks a lot
Cheers
Roland
How to include it in the layer
How would one include copyfonts in the layer and still run it PostImport? This way it would always run when you distributed the layer to someone.
Follow the link
Go to www.altiris.com, and go to search
type in pre-activate.
You will find the command line to do a pre activate
The complete commando and how to put it in the layer is there written.
After you've done this, everytime you run the app the copyfontwill run.
When you wish to do it in the layer with a pre import, you need Wise studio express or wise packaging studio.
With these you are able to create a pre import.
Please remember that a post import runs after the import and a pre import runs before the import.
Regards
Erik
www.deltaisis.nl
You'd want to use the meta
You'd want to use the meta directory in addition the the OnEvent funtion that erik mentioned. If you don't then the fonts won't get pulled out of the layer.
More info at: http://juice.altiris.com/article/1744/getting-more...
Reg Key Query
Bit of a basic user so answers in a friendly format please! - I want to deploy the reg entry changes to multiple PCs, then deploy the layer containing the fonts, but the reg key varies depaending on what layers have been previously installed to a PC e.g. on computer1 the key might be 1 with a sublayer key 2, then Computer2 the key might be D with a sub key E. Obviously I have to specify the key in my regedit changes and if it doesn't match the computer, copyfont doesn't run. Any ideas?
Thanks
It is possible
Brewsie,
What you want is definetly possible, but you have to create a very good and stable VBS script to do the job for you.
I have no way to do this for you.
Sorry
Regards
Erik
www.dvs4sbc.nl
Care to expound a little
Care to expound a little more?
What registory changes? And why do they need to be done before you run copyfont?
Copyfonts used in multi-user environment
Just a thought.... we use the Deployment Server to deploy our SVS layers. With that I created a job that will deploy the Office layers then run copyfonts automatically so it doesn't matter what the key or sub-keys are. Reduces a tremendous amount of time and headaches for our dispatch techs!
running copyfont
Brad, thanks for the tip- it sounds like a sensible way to go- but! how do I get copyfont to run independenly of registry values or using the meta folder? If I just run the exe I get nothing? I've searched for info on how to use copyfont, but there isn't much out there! Help!
All sorted
Thanks for suggestion, I've had a play and I'm all sorted now. I deployed the layer containing the fonts, then runa separate job, copying the copyfonts.exe to the local machine then running a script to run c:\copyjob.exe . this runs a treat! Thanks
expanding
I am wanting to run copyfont on deployment of an svs layer, but the info from Jared Payne above suggests you need to know the registry key relating to the specific layer to do this. I'll try deploying the svs layer through DC then doing a separate deployment job as suggested to run copyfont- will this install fonts from all imported layers on the machine at the time of running?
no, all you need to know is
no, all you need to know is the layer's name or the guid. All this particular article talks about is how to make copyfonts run after you import in a layer--which is all you need the registry for.
http://juice.altiris.com/download/269/copyfonts has the syntax for running the exe is there, as long as copyfonts is in the base (or the layer's meta directory) the program will work as intended.
It's very simple and I think that you're overcomplicating it.
How do you deal with the
How do you deal with the 'open file - security warning' that comes up when Copyfonts runs? This is the warning that sez 'the publisher could not be verified - are you sure you want to run this software?'
I would like to deploy this silently and have included it as a postimport onevent using Wise (copyfonts.exe has been delivered to the clients ahead of time).
Thank you for this solution and for any help with this question.
Gary
Outside of the person who
Outside of the person who created the app signing it (which won't happen) you'll have to disable the windows feature that causes the prompt. Not sure what it is, think it's a service, but I do know you can do it.
Anyone who can create certificates can
Jordan, I agree that copyfonts should be signed, but everybody can sign drivers. Just get yourself a certificate instance and follow the Microsoft WHQL certifiaction. Then you can doanlowd the opropiate software and you can sign your own drivers.
How did you think i managed to sign a 64bit svs driver?
Regards
Erik
www.DinamiQs.com