关于清单文件

Yig*_* Wu 12 manifest

最近,我遇到了一个非常奇怪的问题,这个问题只发生在Windows XP SP3和Vista中.这是我的步骤:

  1. 在桌面中创建两个新文件夹(假设文件夹名称为A和B)
  2. 将Microsoft GraphEdit(graphedt.exe)应用程序复制到A文件夹,然后也创建一个空graphedt.exe.manifest文件.运行时graphedt.exe,您将看到一条错误消息,graphedt.exe由于错误的清单而无法运行.
  3. 将Microsoft GraphEdit(graphedt.exe)应用程序复制到B文件夹,运行graphedt.exe并关闭它,然后创建一个空graphedt.exe.manifest文件,graphedt.exe再次运行,您将看到清单文件无法应用graphedt.exe.但是,如果您更改上次修改时间graphed.exe,则清单将再次起作用.

看起来Windows会在EXE第一次使用清单文件时记住状态,但如果更改EXE大小或上次修改日期,Windows也会重置旧的记忆状态.

Eug*_*and 18

[我是微软目前的SxS维护者]

益刚考察好.您正在描述Vista上的行为,而不是XP SP3上的行为.

每次运行应用程序时探测清单的存在都会成为性能问题,因为通常应用程序要么有清单,要么没有,而且状态不会发生太大变化.出于这个原因,在Vista上,第一次运行应用程序时,我们缓存一点描述"此应用程序具有关联的清单"或"此应用程序没有清单".当您第一次运行graphedt.exe时,Windows缓存了清单的缺失,并且随后将不会查找清单.要重置缓存,请更新可执行文件的上次修改时间.