如何使用 Inno Setup 以管理员权限启动程序 运行?

How to make the program run on startup with admin permission with Inno Setup?

按照 Inno Setup KB:Create shortcuts in the Startup (or Autostart) group

我有这些行:

[Setup]
...
PrivilegesRequired=admin

[Icons]
Name: "{commonstartup}\app"; Filename: "app.exe"

但是在启动时,它显示 "access denied"。看起来它不是 运行 作为管理员。

我该怎么办?

如果我对你的问题的理解正确,你的应用程序需要 运行 具有更高的权限。

您不能对 运行 具有提升权限的应用程序使用古老的 "Startup" 文件夹方法。

改为安排 "at logon" 任务 "highest privileges"。
参见 How to run a program with administrator privileges on user login under Windows?

要从 Inno Setup 安排任务,请参阅 How to add a scheduled task with Inno Setup

您将需要 schtasks command/RL highest/SC onlogon 开关。

[Run]
Filename: "schtasks"; \
    Parameters: "/Create /F /RL highest /SC onlogon /TR ""app.exe"" /TN ""Run app as admin on logon"""; \
    Flags: runhidden