以编程方式提升用户权限

时间:2008-10-30 08:43:55

标签: deployment vbscript windows-xp installshield

我一直在维护安装,但我不是真正的专家。现在我被要求为此提出一个解决方案:

我们的软件总是与计算机一起销售,因为它必须在非常受控的环境中运行。安装程序需要执行管理权限。到目前为止,我们有两个不同的用户,一个具有管理权限,另一个没有。我们的客户服务以管理员身份登录,安装软件并重启机器,以便用户可以作为普通用户进行访问。

现在我们希望用户能够自己安装软件,但我们不希望他们以管理员身份进行访问,因为他们可以修改不应修改的内容。

那么,是否有任何方法可以在安装过程中以编程方式提升用户权限,然后将其降低回来?安装程序是使用InstallShield创建的,但我们使用vbscript来检查一些先决条件。

2 个答案:

答案 0 :(得分:4)

结帐CPAU。它允许您创建一个加密命令,以管理员身份运行安装。

编辑This是一个更全面的类似工具列表。

答案 1 :(得分:1)

如果您正在寻找一个工具包来做这种事情,那么,Microsofts MSI技术内置了这个:安装初始MSI文件需要管理员访问权限,我认为其他补丁(MSP)是由数字签名的原始的MSI因此被认为是安全的 - 用户可以安装它们而无需管理员提升。

您可以执行相同的操作:作为管理安装的一部分,请安装服务。该服务可以创建一个命名管道 - 您明确地将用户ACL提供给 - 或者甚至只是一个套接字或监视一个允许用户级代码与服务代码通信的下拉文件夹(使用SYSTEM或配置的访问运行)。然后,该服务可以使用其SERVICE或配置的帐户级别权限来模拟管理员,或代表用户执行其他任务,而无需为用户提供任何类型的提升权限 - 即使是暂时的。