【发布时间】:2015-08-23 02:40:43
【问题描述】:
我们创建了一个更新 TrueType 字体 (.TTF) 文件的 MSP 补丁,但它会导致 1603(安装后需要重新启动。) 这是 MSI 日志:
MSI (s) (5C:48) [23:33:56:432]: Executing op: FileCopy(SourceName=TestFont.ttf,SourceCabKey=testfont.ttf,DestName=TestFont.ttf,Attributes=20480,FileSize=34880,PerTick=65536,,VerifyMedia=1,,,,,CheckCRC=0,Version=1.3.0.0,,InstallMode=58982400,HashOptions=0,HashPart1=1022639218,HashPart2=1170530421,HashPart3=1359995143,HashPart4=-948212544,,)
MSI (s) (5C:48) [23:33:56:432]: File: C:\Program Files (x86)\TESTDIR\TestFont.ttf; Overwrite; Won't patch; Existing file is a lower version
MSI (s) (5C:48) [23:33:56:433]: Source for file 'passtrue.ttf' is compressed
InstallFiles: File: TestFont.ttf, Directory: C:\Program Files (x86)\TESTDIR\, Size: 34880
MSI (s) (5C:48) [23:33:56:434]: Re-applying security from existing file.
Info 1603. The file C:\Program Files (x86)\TESTDIR\TestFont.ttf is being held in use. Close that application and retry.
MSI (s) (5C:48) [23:33:57:765]: Verifying accessibility of file: TestFont.ttf
我确定该文件未在使用中。 (在应用此补丁之前重新启动机器。)
谢谢!
【问题讨论】:
-
什么都没有想到。假设您是对的,您可能需要向 Microsoft 提出支持案例。
-
@ChristopherPainter:实际上,如果字体安装在相关注册表项中但文件不在系统字体文件夹中,这是预期的行为(从 MS14-045 开始)。
-
很高兴知道。如果 MSFT 在某个地方的 MSI SDK doco 中记录了该内容,而不必知道它是一些底层 GDI 行为在过去一年中随着某个修补程序而改变,那应该会很好。我已经做了 20 年的安装程序,但说实话,最近的字体并不多。
标签: windows-installer patch truetype msp