代码之家  ›  专栏  ›  技术社区  ›  Don Reba

诊断Windows应用程序清单

  •  5
  • Don Reba  · 技术社区  · 16 年前

    windows应用程序清单的语法非常松散,无法识别的部分将被忽略。我如何诊断哪些部件被识别,哪些不被识别?

    导致此问题的问题是应用程序具有并排的UAC清单 请求执行级别 属于 高可用性 明确规定。这会关闭vista文件虚拟化,但不会。我想找出原因。清单正在被使用,正如我通过故意引入语法错误检查的那样,但是我看不到确定如何使用它的方法。

    4 回复  |  直到 15 年前
        1
  •  4
  •   Eugene Talagrand    16 年前

    请参阅我对wylder的评论-是否尝试更新可执行清单的时间戳?
    “sxstrace”从提升的命令提示符返回什么?
    你能把清单寄到什么地方吗?

        2
  •  5
  •   Wylder    16 年前

    我遇到了类似的问题:任务管理器显示 尽管应用程序显示为高可用,但仍在运行应用程序。我试着用mt.exe来显示我的文件。它对一些人有效,但对其他人无效。这种奇怪的行为让我觉得vista中有一些持久的缓存,基于exe的时间戳影响了uac信息。解决方案是使用清单向导 Resource Tuner .

        3
  •  4
  •   Darwin    15 年前

    有一个缓存。

    SXS激活上下文缓存.manifest文件。

    从我所读到的资料来看,它可能只隐藏了一个清单的存在。

    它是基于内存的,并且只在重新启动时清除-但是,我知道事实上,它并不总是在重新启动时清除,许多其他人也报告了这一点。我确实找到了c:\ windows\sxs\manifestcache,想知道它是否真的在重新启动时从那里重新加载。

    强制的唯一方法是更改.exe上的修改日期。

    在编辑清单时也要小心,如果不提升编辑器,它将是uac虚拟化的-可能虚拟化的副本会被加载程序忽略。

    参考文献: http://blogs.msdn.com/b/junfeng/archive/2006/10/25/touch-the-exe-after-you-added-a-manifest-for-it-in-vista.aspx http://blogs.msdn.com/b/junfeng/archive/2007/10/01/vista-activation-context-cache.aspx

        4
  •  0
  •   lfaraone    16 年前

    我会通过 documentation 以确保它符合规范,但除此之外,没有一个自动化工具来做我所知的相同的事情。

    推荐文章