2008-09-18 55 views
0

我有一个WSI安装程序包,用于安装我的应用程序。应用程序本身可以由普通用户运行,但我有一个只能由系统管理员运行的配置应用程序。因此,我不希望它出现在所有用户的开始菜单中,仅供管理员使用。Windows Installer:如何为管理员创建开始菜单快捷方式?

有什么办法可以告诉Windows安装程序为所有用户创建一些快捷方式,还有其他方法仅用于管理员?

回答

2

因为我怀疑你会知道每个管理员的名称,并且没有管理员的启动文件夹,那么我认为一个更好的解决方案是让你有配置应用程序检查,看看运行它的用户是一个管理员然后优雅地退出,如果它不是。

编辑:

也许我应该进一步解释为什么我认为增加了对刚刚管理员有是解决错误的问题的情况下的快捷方式。以下是我认为可以说明这些缺陷的一些场景:

1)如果您查看本地管理员组并为每个列出的用户添加快捷方式,该怎么办?现在一周后,我被添加到本地管理员。我没有捷径。

2)通常尤其是在企业中,个人不在本地管理员列表中,组是。您理论上可以:查询AD以查找每个组的成员(我们甚至不考虑嵌套组),然后为每个用户添加文档和设置下的正确文件夹,即使他们可能会或可能不会登录到本机。即使你这样做了,如果该组成员发送了更改,那么某个管理员可以登录并且没有快捷方式。

3)假设您为每个管理员添加它。当我的管理权被拿走时会发生什么?我仍然有捷径。

通过让MSI安装一个脚本来测试当前用户是否是管理员,并且脚本是否为他们启动了快捷方式,可以解决其中一些问题。然后将脚本注册为Active Setup项目。然后,无论何时新的管理员登录,他们都会得到快捷方式。但是,如果他们失去了管理员权限,则不会删除该快捷方式。

无论如何,如果我了解情况,那么没有任何东西阻止任何用户管理员进入任何快捷方式指向并运行它。

所以,我再说一次,只为管理员添加快捷方式是解决了错误的问题。要解决的正确问题是使其成为管理员以运行配置实用程序。

1

通常在所有用户目录(C:\ Documents and Settings \ All Users)中都有出现在各处的快捷方式。如果你只想在Administrator组中,你应该把它放在C:\ Documents and Settings \ Administrator中,或者任何用户的名字(这可能在安装过​​程中找到 - 这需要管理权限)。

1

您可以将有问题的快捷方式放入子文件夹中,并拒绝非管理员用户访问文件夹的内容。他们将看到一个空的文件夹,管理员将看到一个文件夹全是快捷方式。这不是理想的解决方案,但非管理员用户可以在没有权限升级的情况下完成。

+0

这就是我认为在使应用程序足够智能以便不能运行非管理员之后成为下一个最佳解决方案。 – EBGreen 2008-09-18 21:55:02

0

我会为配置应用程序制作一个单独的MSI,并将其启动顺序设置为需要管理员权限。然后,您可以为每个用户安装应用程序,或更好地更新您的配置应用程序以拒绝作为普通用户运行。

相关问题