如何以pipe理员模式运行应用程序?

我如何部署应用程序,以便他们需要pipe理员权限而不需要最终用户手动完成?

我使用Delphi 2009构build应用程序。

Solutions Collecting From Web of "如何以pipe理员模式运行应用程序?"

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

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

 <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> 

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

请注意,清单仅在Windows Vista和更高版本中才受到尊重。 如果您的用户在Windows XP上以标准用户身份运行,则您的应用程序将不会以管理员身份启动; 您可能需要编写代码来检测这是否会成为您的应用程序的问题。

另一个选项虽然不建议用于“每天的应用程序”,但是将名称的一部分命名为“Install”或“Setup”。 请记住,如果您不更改任何注册表设置或创建任何新文件,那么Windows将向用户显示警告,说明程序可能没有正常运行。