我正在使用Inno Setup在Windows上为桌面应用程序安装Fontawesome字体。首次安装通常很顺利,因为字体尚未安装,但在后续安装中,我经常遇到锁定问题:
为了安装我正在使用的字体:
现在我知道我可以使用
Source: "FontAwesome.ttf"; DestDir: "{fonts}"; FontInstall: "FontAwesome";\
Flags: uninsneveruninstall
现在我知道我可以使用
Flags: onlyifdoesntexist
仅在字体不存在时安装字体,这确实起作用。然而,偶尔需要由于版本更改和添加新字体而更新字体。
显然,只有当某些东西正在使用字体时才会出现错误。除了主安装的应用程序外,我还在使用Chrome并打开了使用FontAwesome的页面,显然这也锁定了安装的字体。
理想情况下,如果字体被锁定,下一次重新启动后或字体变为未锁定状态后将其替换。
看起来Inno似乎每次都尝试替换字体,即使字体版本相同。根据文档(文档底部),文件只应在安装版本较高时替换,但似乎字体每次都要安装。
如果正在使用的字体需要更新,是否有任何方法使Inno正确处理字体更新?