最近,我遇到了一个很奇怪的问题,这个问题只发生在Windows XP SP3和Vista中。这是我的步骤:
- 在桌面上新建两个文件夹(假设文件夹名称为A和B)
- 复制 Microsoft GraphEdit (
graphedt.exe
)应用程序到A文件夹,然后创建一个空的graphedt.exe.manifest
文件也是如此。跑步graphedt.exe
,您将看到一条错误消息,graphedt.exe
由于清单错误而无法运行。
- 复制 Microsoft GraphEdit (
graphedt.exe
)应用到B文件夹,运行graphedt.exe
并关闭它,然后创建一个空的graphedt.exe.manifest
文件,运行graphedt.exe
再次,您将看到清单文件无法应用于graphedt.exe
。但是如果你改变了最后修改时间graphed.exe
,清单将再次起作用。
看起来 Windows 会记住 EXE 第一次使用清单文件时的状态,而且如果您更改 EXE 大小或上次修改日期,Windows 也会重置旧的记住状态。
[我是 Microsoft 现任 SxS 维护者]
好查一岗。您描述的是 Vista 上的行为,而不是 XP SP3 上的行为。
每次运行应用程序时探测清单是否存在将是一个性能问题,因为通常应用程序要么有清单,要么没有清单,并且该状态不会发生太大变化。因此,在 Vista 上,第一次运行应用程序时,我们会缓存一些描述“此应用程序有关联的清单”或“此应用程序没有清单”的信息。当您第一次运行 graphedt.exe 时,Windows 缓存了清单的缺失,并且随后不会查找清单。要重置缓存,请更新可执行文件的上次修改时间。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)