我的一个可执行文件的写入一些配置到一个XML文件到C:\ Program Files文件\ MyApp的\ config.xml文件。它需要为Vista的/ Server 2008上运行管理员,否则操作系统不会让它写入到该位置。

我包括名为config.exe.manifest一个清单文件,自动地请求在启动管理权限。

下面是我的清单文件:

<?xml version="1.0" encoding="utf-8"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" />
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

我试过这个Windows Server 2008上,但清单文件似乎被忽略和可执行文件没有足够的权限启动。

有帮助吗?

解决方案 3

确定当我嵌入使用MT.EXE清单文件它的工作原理。还是不为什么,当我提供的清单作为一个单独的文件是不行的,但我想embeding是一个足够好的解决方案。

其他提示

HTTP:/ /blogs.msdn.com/junfeng/archive/2009/05/11/internal-manifest-vs-external-manifest.aspx

从上面引述的链接: 在Windows XP中,SXS搜索内部清单之前外部清单。如果发现了一个外部清单,内部清单将被忽略。

在Windows Server 2003及更高版本,顺序是相反的。内部清单优于外部清单。

如果您使用外部清单,和您的方案在Windows XP下运行,但无法在Windows Server 2003及更高版本,请仔细检查可执行文件不具有内部清单

这将让你抓狂 - 得它的底部,并张贴的文章和一些实用程序来帮助您的清单被忽略:的找出为什么你的外部清单被忽略

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top