Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在客户端计算机上安装字体_C#_Visual Studio 2008_Installation_Fonts - Fatal编程技术网

C# 在客户端计算机上安装字体

C# 在客户端计算机上安装字体,c#,visual-studio-2008,installation,fonts,C#,Visual Studio 2008,Installation,Fonts,我正在使用VisualStudio2008和C#客户端应用程序的内置安装工具。如何使用此安装程序在客户端计算机上安装字体(如果尚未安装)?请阅读本文 最重要的调用是AddFontResourceWin32 API调用,尽管必须遵守所述的操作顺序,才能在系统中设置有效的字体 AddFontResource函数用于添加 指定文件中的字体资源 到系统字体表。字体可以 随后将用于文本输出 任何申请 在VS2005中(我假设也是2008),右键单击目标计算机上的文件系统,添加特殊文件夹->字体文件夹,

我正在使用VisualStudio2008和C#客户端应用程序的内置安装工具。如何使用此安装程序在客户端计算机上安装字体(如果尚未安装)?

请阅读本文

最重要的调用是AddFontResourceWin32 API调用,尽管必须遵守所述的操作顺序,才能在系统中设置有效的字体

AddFontResource函数用于添加 指定文件中的字体资源 到系统字体表。字体可以 随后将用于文本输出 任何申请


在VS2005中(我假设也是2008),右键单击目标计算机上的文件系统,添加特殊文件夹->字体文件夹,然后将字体文件放在那里。

我正在使用InnoSetup交付我的VS应用程序。它允许您将字体从系统安装到客户端系统

我从未在Windows7或Vista中进行过测试(可能您会遇到一些权限问题)


请记住,并非所有字体都可以自由分发。

对于我来说,蒂莫西·卡特的答案基本上是正确的:

右键单击目标计算机上的文件系统,添加特殊文件夹->字体文件夹,然后将字体文件放在那里

但这还不够。这些字体实际上并没有作为系统字体安装


要安装字体,我必须访问每个字体文件的属性,并将Register=vsdrfdonogister更改为Register=vsdrfFont。之后,我生成的安装文件也会安装字体

这不会安装字体,因此系统会经常使用它。它只将其加载到当前会话中,因此在系统重新启动时将丢失它。要正确安装字体,需要将其放入系统字体文件夹并在注册表中注册,除此之外,你们都是对的-字体文件应该复制到Fonts文件夹,然后再调用AddFontResource。我刚刚检查过,只需将字体添加到VS项目的Fonts文件夹就足够了,我担心我必须手动进行这些调用。幸运的是,VS项目有一个Register=vsdrfFont属性,因此我假设安装程序会自动执行此操作。