Inno setup 使用C在我的应用程序中安装字体

Inno setup 使用C在我的应用程序中安装字体,inno-setup,Inno Setup,我正在开发一个C语言的项目,我需要digital-7字体。以前我使用InnoSetup将我的C应用程序文件设置为可以安装在任何PC上的设置文件。我从未修改过InnoSetup代码 我找到了这个链接,但我什么都不懂。不知怎的,我尝试了一个演示软件,在那里我添加了这样的字体文件 Source: "C:\Users\DEVJEET MANDAL\Downloads\digital-7\digital-7 (italic).ttf"; DestDir: "{fonts}&q

我正在开发一个C语言的项目,我需要digital-7字体。以前我使用InnoSetup将我的C应用程序文件设置为可以安装在任何PC上的设置文件。我从未修改过InnoSetup代码

我找到了这个链接,但我什么都不懂。不知怎的,我尝试了一个演示软件,在那里我添加了这样的字体文件

Source: "C:\Users\DEVJEET MANDAL\Downloads\digital-7\digital-7 (italic).ttf"; DestDir: "{fonts}"; FontInstall: "digital-7"; Flags: ignoreversion
Source: "C:\Users\DEVJEET MANDAL\Downloads\digital-7\digital-7 (mono italic).ttf"; DestDir: "{fonts}"; FontInstall: "digital-7"; Flags: ignoreversion onlyifdoesntexist uninsneveruninstall
Source: "C:\Users\DEVJEET MANDAL\Downloads\digital-7\digital-7 (mono).ttf"; DestDir: "{fonts}"; FontInstall: "digital-7"; Flags: ignoreversion onlyifdoesntexist uninsneveruninstall
Source: "C:\Users\DEVJEET MANDAL\Downloads\digital-7\digital-7.ttf"; DestDir: "{fonts}"; FontInstall: "digital-7"; Flags: ignoreversion onlyifdoesntexist uninsneveruninstall
Source: "C:\Users\DEVJEET MANDAL\Downloads\digital-7\readme.txt"; DestDir: "{fonts}"; FontInstall: "digital-7"; Flags: ignoreversion onlyifdoesntexist uninsneveruninstall
在安装时,我得到了这个错误

添加字体资源失败


我对这个完全陌生。有人能对此有所了解吗?

< P>你可以考虑利用这个问题。

选择安装字体。。。从“项目”菜单中:

然后,选择你的字体。例如:

Source: "C:\Windows\Fonts\digital-7 (italic).ttf"; DestDir: "{fonts}"; FontInstall: "Digital-7 Italic"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "C:\Windows\Fonts\digital-7 (mono italic).ttf"; DestDir: "{fonts}"; FontInstall: "Digital-7 MonoItalic"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "C:\Windows\Fonts\digital-7 (mono).ttf"; DestDir: "{fonts}"; FontInstall: "Digital-7 Mono"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "C:\Windows\Fonts\digital-7.ttf"; DestDir: "{fonts}"; FontInstall: "Digital-7"; Flags: onlyifdoesntexist uninsneveruninstall
这些文件将在光标位置为您添加到脚本中。这应该在脚本的[文件]部分。例如:

Source: "C:\Windows\Fonts\digital-7 (italic).ttf"; DestDir: "{fonts}"; FontInstall: "Digital-7 Italic"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "C:\Windows\Fonts\digital-7 (mono italic).ttf"; DestDir: "{fonts}"; FontInstall: "Digital-7 MonoItalic"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "C:\Windows\Fonts\digital-7 (mono).ttf"; DestDir: "{fonts}"; FontInstall: "Digital-7 Mono"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "C:\Windows\Fonts\digital-7.ttf"; DestDir: "{fonts}"; FontInstall: "Digital-7"; Flags: onlyifdoesntexist uninsneveruninstall
它将获得正确的FontInstall参数,这是您的问题。见此参考

您给了他们所有相同的FontInstall值,这是错误的。引述:

告诉安装程序该文件是需要安装的字体。此参数的值是存储在注册表或WIN.INI中的字体名称。此名称必须与在资源管理器中双击字体文件时看到的名称完全相同。请注意,安装程序将自动将TrueType附加到名称的末尾


我们需要。将字体作为资源添加到您的安装程序中,并将其复制到windows字体目录。我删除了您的c标记,因为它与问题无关。您的问题与您的脚本以及如何安装字体有关。