如果安装程序中的字体版本高于安装的字体版本,请使用Inno Setup安装字体

奥利维尔

我有一个与Inno Setup一起安装的自定义字体,并且仅当升级了我的安装程序中的字体后,我才想覆盖现有字体。

字体属性

为了做到这一点,我试图从字体文件中获取版本,但是要GetVersionNumbersString在函数中或GetFileVersionString在Inno Setup预处理器中。据我了解,这些功能仅适用于exe或dll,但我可能错了。

任何帮助我实现这一目标的线索将不胜感激。

谢谢,

奥利维尔

马丁·普里克里(Martin Prikryl)

您可以使用以下代码提取TTF文件(可能是任何文件)的版本:

function GetShellItemVersion(Path: string): string;
var
  Shell, Folder, Item, Version: Variant;
  FolderPath: string;
begin
  Shell := CreateOleObject('Shell.Application');
  FolderPath := ExtractFilePath(Path);
  Folder := Shell.NameSpace(FolderPath);
  if VarIsClear(Folder) then
  begin
    Log(Format('Error reading folder "%s"', [FolderPath]));
  end
    else
  begin
    Item := Folder.ParseName(ExtractFileName(Path));
    if VarIsClear(Item) then
    begin
      Log(Format('Error accessing "%s"', [Path]));
    end
      else
    begin
      Version := Folder.GetDetailsOf(Item, 166);
      if VarIsClear(Version) then
      begin
        Log(Format('Error reading version of "%s"', [Path]));
      end
        else
      begin
        Result := Version;
        Log(Format('Version of "%s" is "%s"', [Path, Result]));
      end;
    end;
  end;
end;

基于通过PowerShell获取卸载的Windows字体的详细信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果安装程序中的字体版本高于安装的字体版本,请使用Inno Setup安装字体

来自分类Dev

安装字体后,Inno Setup是否需要重新启动?

来自分类Dev

Inno Setup-如何在安装开始之前安装许多字体?

来自分类Dev

Windows 10安装程序是否会从以前的Windows版本迁移已安装的字体?

来自分类Dev

在 Guix 系统中安装字体

来自分类Dev

如何使用NSIS安装字体?

来自分类Dev

无法安装字体

来自分类Dev

安装字体并使Windows感知

来自分类Dev

脚本安装字体Powershell

来自分类Dev

安装的字体库

来自分类Dev

无法安装ubuntustudio字体

来自分类Dev

如何安装字体?

来自分类Dev

如何安装OTF字体?

来自分类Dev

如何安装“ Impact”字体?

来自分类Dev

如何安装 Terminus 字体?

来自分类Dev

根据在线文件设置Inno Setup安装程序版本

来自分类Dev

在NixOS上安装CMU字体

来自分类Dev

查看符文?(字体安装)

来自分类Dev

如何更改字体安装程序中的示例文本

来自分类Dev

在Windows XP中安装字体的脚本

来自分类Dev

无法从安装文件中删除字体

来自分类Dev

在Windows XP中安装字体的脚本

来自分类Dev

如何在Linux中安装Gangal的字体?

来自分类Dev

无法在 Ubuntu 中安装任何字体

来自分类Dev

使用python在Windows上安装TTF字体

来自分类Dev

使用NSIS安装字体时出错

来自分类Dev

使用NSIS安装字体时出错

来自分类Dev

使用inno Setup安装程序调用RegQueryDWordValue获取Office Excel版本

来自分类Dev

如何使Inno Setup安装程序仅安装在Windows服务器版本上