【发布时间】:2013-12-13 20:52:02
【问题描述】:
我有一个老式的 Windows GDI 应用程序,用 C 语言编写,正在使用 Mingw 工具链进行编译。
我的一些用户一直在抱怨 Windows Vista 和 Windows 7 的虚拟商店,其中写入应用程序不应访问的目录的文件被虹吸掉并存储在其他地方。他们说这让他们感到困惑,他们宁愿出错。根据微软的文档,防止这种情况发生的方法是添加应用程序清单。
不幸的是,这似乎没有任何作用。
我的清单是:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<description>WordGrinder</description>
<assemblyIdentity version="1.0.0.0" name="WordGrinder"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
...引用它的资源文件是:
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "src/c/arch/win32/manifest.xml"
101 ICON DISCARDABLE "src/c/arch/win32/icon.ico"
(如您所见,并不复杂。)资源文件是用windres编译的,并以通常的方式链接到我的应用程序。图标出现了,所以我相信这点至少是正确的。
我还需要做什么才能让清单得到尊重吗?
【问题讨论】: