如何使用INNO安装程序创建要求提升的CMD.EXE快捷方式?

时间:2010-03-22 06:57:54

标签: uac inno-setup shortcuts elevation

使用INNO设置我目前在[ICONS]部分下面有以下条目:

Name: "{group}\My App\My App - Command Prompt"; Filename: "cmd.exe"; WorkingDir: "{app}"

此快捷方式直接将命令提示符启动到我的应用程序文件夹中。不幸的是,它没有以高架形式启动,这意味着用户从那里运行的命令没有适当的权限。

使用INNO安装程序,如何创建需要提升的CMD.exe(在特定文件夹中)的快捷方式?

可以通过清单文件为其他应用程序执行此操作。我的问题是,我如何使用INNO,如果我不能,我有什么选择?

1 个答案:

答案 0 :(得分:2)

快捷方式的管理属性是兼容性设置,您不应该以编程方式设置它。用户运行的命令应该通过使用正确的清单来自行请求管理权限。用户还可以通过右键单击快捷方式并选择“以管理员身份运行”来选择提升自己。

如果您始终想立即提升,可以在标有管理清单的应用程序文件夹中放置一个小实用程序。所有这个实用程序都会生成cmd.exe。这样你就可以避免搞乱兼容性设置。

如果您仍想使用兼容性设置,请查看HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers和HKCU \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers注册表项。您也可以使用Inno Setup内置的IUnknown支持,但这是更多的工作。请参阅CodeAutomation2.iss示例脚本和http://social.msdn.microsoft.com/Forums/en-US/windowssecurity/thread/a55aa70e-ae4d-4bf6-b179-2e3df3668989