2010-03-25 122 views
4

我们使用InstallAnywhere来安装我们的产品。它需要安装的一个组件是杂种。 IA在安装过程中调用以下命令行:在Windows 2008上安装mongrel服务

mongrel_rails service::install -N service-1 -D "Service 1" -c "C:\app_dir\\rails\rails_apps\service-1" -p 19000 -e production 

正在引擎盖下使用“sc create ...”。

安装在Windows 2003上运行良好。在Windows 2008上,虽然此操作需要提升特权。

当我以本地管理员身份登录(即'local-machine \ administrator'用户)时,安装工作正常。但是,当我作为属于本地管理员组的一部分的域用户登录时,服务无法安装,并出现错误“访问被拒绝”。

如何使安装产品成为可能而无需以本地管理员身份登录?

谢谢!

几个笔记我想补充。我尝试的一个解决方案是以管理员身份执行安装程序。该服务确实已安装。但是,这又造成了另一个问题。嵌入式第三方产品及其文件只与管理员权限一起安装。所以我们确实需要以登录用户身份运行安装程序。

回答

-1

您是否尝试过使用帐户的UAC设置? http://www.petri.co.il/disable-uac-in-windows-7.htm可能是一个资源。

+0

通常,应该避免要求用户禁用UAC以安装/运行软件,因为禁用UAC可能存在安全风险。相反,软件应该设计为能够以最少的权限运行。在某些情况下,甚至可能禁用UAC(例如,在域级别设置的安全策略)。 – 2012-10-26 18:17:15

0

您可以将安装程序的清单更改为需要管理员权限才能运行?这应该会导致UAC提示提升权限,但它仍应以登录用户身份运行。在InstallShield中有一个设置来控制这一点,但我不确定InstallAnywhere。