私のプログラムは管理者として実行する必要があります。2 年前、私はマニフェスト ファイルを作成し、正常に動作しました。しかし今、Delphi 2010 から Delphi XE3 に移行しましたが、機能しません。プログラムは通常どおり (管理者としてではなく) 起動します。さらに、私のプログラムを「MyApp」と呼びます。
ソースでは、2 つの 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 では機能しません。なんで?どうすれば修正できますか?