如何以管理员模式运行部署应用程序?

Iva*_*nov 8 windows delphi deployment uac

如何部署应用程序以便它们需要管理员权限而无需最终用户手动执行此操作?

我使用Delphi 2009来构建应用程序.

Bra*_*ger 11

您可以通过使用requestedExecutionLevel应用程序清单中的元素通知Windows您的应用程序需要以管理员身份运行.

清单文件是一个XML文件,如下所示.它应该命名为YourApp.exe.manifest并放在与可执行文件相同的文件夹中.(它也可以嵌入到应用程序的资源中;它必须具有资源类型RT_MANIFEST和ID为1.)

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
  <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="YourApp" type="win32"/> 
  <description>Description of your application</description> 
  <!-- Identify the application security requirements. -->
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>
Run Code Online (Sandbox Code Playgroud)

有关应用程序清单以及如何创建它们的更多详细信息,请参阅在MSDN上创建和嵌入应用程序清单(UAC).

请注意,清单仅受Windows Vista及更高版本的尊重.如果您的用户在Windows XP上以标准用户身份运行,则您的应用程序将不会以管理员身份启动; 如果它对您的应用程序有问题,您可能需要编写代码来检测它.