如何创建一个快捷方式从CMD-符合管理员权限启动一个应用程序?(How to create a sh

2019-08-31 11:35发布

我有我的安装应用程序由用户定义的路径的安装程序(汇创设置)。 在安装程序结束时,我希望创建一个开始与管理员权限的应用程序的快捷方式。 该解决方案应该在所有的win版的winXP从Win7的来工作。

我能做些什么来实现这一目标?

我知道这是可能的一个批处理脚本,执行一个讨厌的VB脚本 。 缺点是在CMD窗口弹出,它仅适用于WIN7我猜。

我也尝试命令mklink创建超链接,但它不工作,因为它是不可能通过该设置管理员特权时的说法。

Answer 1:

您可以添加一个注册表键,告诉窗口来执行你的程序作为管理员:

HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers ,只需添加一个键(REG_SZ) <Path to your exe>与价值RUNASADMIN 。 当您启动您的exe文件,你会被提示输入管理员的访问。

有了这一点,你可以简单地创建一个正常的快捷方式到你的可执行文件,就像您使用的Inno-设置做到这一点。

如果你想通过CMD或批处理文件这样做,你可以使用下面的命令:

reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "<Path to your exe>" /t REG_SZ /d RUNASADMIN


Answer 2:

在“以管理员身份运行”是可执行的财产,而不是快捷方式。 您应该添加所需的清单 ,让Windows提示进行提升。

要做到这一点在Windows XP中,你将需要使用runas与动词ShellExecute()为不同的用户运行,但是这将删除访问本地配置文件的任何能力。 这可以从你的exe文件时,它发现它不具有完全管理员权限运行来完成。



Answer 3:

创建快捷方式后,其第21字节(位置为0x15)更改为32(0×20),以使其“以管理员身份运行”。 更改回0使其成为一个“正常”(非管理员)的快捷方式。



文章来源: How to create a shortcut to launch an App with admin privileges from the cmd-line?