在客户端计算机上安装字体
我正在使用Visual Studio 2008和C#客户端应用程序的内置安装工具。 如何使用此安装程序在客户端计算机上安装字体(如果它还没有)?
在VS2005中(所以我也假设2008),右键单击目标机器上的文件系统,添加特殊文件夹 – >字体文件夹,然后将字体文件放在那里。
对我来说,Timothy Carter的答案大多是正确的:
“右键单击目标计算机上的文件系统,添加特殊文件夹 – >字体文件夹,然后将字体文件放在那里。”
但这还不够。 字体实际上并未作为系统字体安装。
要安装字体,我必须访问每个字体文件的属性,并将Register = vsdrfDoNoRegister更改为Register = vsdrfFont。 之后我生成的安装文件也会安装字体!
看看这篇文章。
http://www.atakala.com/Browser/Item.aspx?user_id=amos&dict_id=83
最重要的调用是AddFontResource Win32 API调用,尽管必须遵守所描述的操作顺序,才能在系统中设置工作字体。
http://msdn.microsoft.com/en-us/library/ms534231(VS.85).aspx
AddFontResource函数将指定文件中的字体资源添加到系统字体表中。 随后该字体可用于任何应用程序的文本输出。
我正在使用InnoSetup来提供我的VS应用程序。 它允许您将字体从系统安装到客户端系统。
我从未在Windows 7或Vista中测试过(可能你会遇到一些权限问题)。
请记住,并非所有字体都可以自由分发。