我正在使用 Visual Studio 2008 和 C# 客户端应用程序的内置安装工具。如何使用此安装程序在客户端计算机上安装字体(如果它不存在)?
4 回答
在 VS2005(所以我也假设是 2008 年)中,右键单击目标机器上的文件系统,添加特殊文件夹 -> 字体文件夹,然后将字体文件放在那里。
对我来说,蒂莫西·卡特的答案基本正确:
“右键单击目标机器上的文件系统,添加特殊文件夹 -> 字体文件夹,然后将字体文件放在那里。”
但这还不够。字体实际上并没有作为系统字体安装。
要安装字体,我必须访问每个字体文件的属性并将 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 中进行过测试(可能您会遇到一些权限问题)。
请记住,并非所有字体都可以自由分发。