5

私のプログラムは管理者として実行する必要があります。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 では機能しません。なんで?どうすれば修正できますか?

4

1 に答える 1