Inno Setup 桌面快捷方式(链接),其中设置了“以管理员身份运行”高级属性

Dr.*_*YSG 3 inno-setup windows-shortcut shortcut-file

我正在努力让 Inno setup (5.5.9u) 创建一个桌面快捷方式,该快捷方式有一个图标并设置了“以管理员身份运行”的高级属性。

问题

这个问题与: How to set 'Run as Administrator' on a file using Inno Setup有一点不同

因为我想做的不是在安装时以管理员权限运行程序(安装程序已经在管理员中运行),而是在桌面上留下一个具有“以管理员身份运行”高级属性的链接。

代码示例

[Icons]
Name: "{group}\EGPL Watson Uninstall"; Filename: "{uninstallexe}"; \
    WorkingDir: "{app}"
Name: "{commondesktop}\DashBoard"; \
    Filename: "{app}\dashboard\node_modules\electron\dist\electron.exe main.js"; \
    WorkingDir: "{app}\dashboard"; \
    IconFilename: "{src}\dashboard\build\configure.ico"
Run Code Online (Sandbox Code Playgroud)

Mar*_*ryl 6

首先,确保您有充分的理由以管理员权限运行应用程序。用户应用程序不应需要管理员权限。如果他们需要它,通常表明设计不好。希望应用程序以管理员权限运行的一个常见(坏)原因是应用程序需要写入其安装文件夹。

请参阅使用 Inno Setup 安装时应用程序不工作


Inno Setup 本身不支持创建设置了“以管理员身份运行”标志的快捷方式。

“以管理员身份运行”标志位于 .lnk 文件中。看:

您可以使用以下代码设置该位:

[Icons]
Name: "{userdesktop}\My Program"; Filename: "{app}\MyProg.exe"; \
  AfterInstall: SetElevationBit('{userdesktop}\My Program.lnk')
Run Code Online (Sandbox Code Playgroud)
[Icons]
Name: "{userdesktop}\My Program"; Filename: "{app}\MyProg.exe"; \
  AfterInstall: SetElevationBit('{userdesktop}\My Program.lnk')
Run Code Online (Sandbox Code Playgroud)

在 Inno Setup 的 Unicode 版本(Inno Setup 6 的唯一版本)上进行了测试。但更自然地,它也应该适用于 Ansi 版本。


归档时间:

查看次数:

6081 次

最近记录:

1 年,10 月 前