我的程序应该以管理员身份运行。两年前,我创建了一个清单文件,它工作正常。但是现在,我从 Delphi 2010 转移到 Delphi XE3 并且它不起作用 - 程序像往常一样启动(而不是作为管理员)。此外,我将我的程序称为“MyApp”。
在源代码中,我声明了两个 res 文件:
{$R MyApp.res}
{$R Manifest.res}
清单是由以下代码创建的:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
type="win32"
name="MyApp"
version="1.1.0.0"
processorArchitecture="x86"/>
<description>
MyApp
</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="*deleted*"
language="*"
processorArchitecture="x86"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
当我从源清单工作中删除 {$R MyApp.res} 时。所以我知道 MyApp.res(由 Delphi 自动生成)击败了 Manifest.res。但在 Delphi 2010 中,此配置完美运行,但在 XE3 中不起作用。为什么?我该如何解决?