Inno setup Inno安装程序-停止windows请求运行我的应用程序的权限

Inno setup Inno安装程序-停止windows请求运行我的应用程序的权限,inno-setup,Inno Setup,我有一个简单的.exe(helper.exe),它是软件授权包的一部分。我对该文件的理解是初始化许可证文件;它在安装期间以提升的权限运行 我希望此文件包含在我的安装中。我使用带有默认设置的向导创建了一个安装程序,但每次我尝试运行.exe UAC时都会弹出并请求权限。我如何才能阻止这种情况发生?答案的第一部分由TLama给出: 您必须修改应用程序的清单以不设置 requestedExecutionLevel节点到level=“requireAdministrator”。它具有 与设置本身无关 后来

我有一个简单的.exe(
helper.exe
),它是软件授权包的一部分。我对该文件的理解是初始化许可证文件;它在安装期间以提升的权限运行


我希望此文件包含在我的安装中。我使用带有默认设置的向导创建了一个安装程序,但每次我尝试运行.exe UAC时都会弹出并请求权限。我如何才能阻止这种情况发生?

答案的第一部分由TLama给出:

您必须修改应用程序的清单以不设置 requestedExecutionLevel节点到level=“requireAdministrator”。它具有 与设置本身无关

后来我意识到我使用的文件不正确

我编辑了这个问题,所以剩下的答案是:helper.exe用于初始化许可证文件,应该运行一次(我认为helper用于检查许可证文件,因此每次检查都应该运行一次)。从记录来看,该软件似乎非常好(我目前正在评估)


干杯,

您将不得不修改您的设置,以避免将
请求执行级别
节点设置为
level=“requireAdministrator
。这与设置本身无关。您好,谢谢您的评论。我继续搜索,刚刚开始阅读有关清单的信息。。。该文件由第三方提供。。。考虑到产品的性质,他们会分发需要提升权限的许可证检查文件似乎很奇怪……另一种不是最好的方法是在注册表中为应用程序设置兼容性标志
RUNASADMIN
。示例:
Root:“HKLM”;子项:“软件\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\”;ValueType:字符串;ValueName:“{app}\{#MyAppExeName}”;ValueData:“RUNASADMIN”;标志:UnisDeleteKeyIfEmpty UnisDeleteValue;检查:不是IsWin64;MinVersion:0,6.0;OnlyBelowVersion:0,6.1.9600
但正如我所说,这不是最好的方法,尤其是当您是需要管理员权限的应用程序的开发人员时(这意味着您可以对其进行编程以设置自己的权限)