0

我有一个 WSI 安装程序包,用于安装我的应用程序。应用程序本身可以由普通用户运行,但我有一个只能由系统管理员运行的配置应用程序。因此,我不希望它出现在所有用户的“开始”菜单中,只为管理员显示。

有没有办法告诉 Windows Installer 为所有用户创建一些快捷方式,而另一些只为管理员创建?

4

4 回答 4

2

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

编辑:

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

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

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

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

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

不管这一切,如果我了解情况,那么没有什么可以阻止任何用户管理员或不去快捷方式指向的任何地方并运行它。

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

于 2008-09-18T21:38:27.030 回答
1

通常在所有用户目录(C:\Documents and settings\All Users)中到处都有快捷方式。如果您只想在管理员组中,则应将其放在 C:\Documents and settings\Administrator 或任何用户名中(这可能在安装过​​程中找到 - 这需要管理权限)。

于 2008-09-18T21:35:26.850 回答
1

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

于 2008-09-18T21:43:14.990 回答
0

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

于 2012-08-29T13:33:32.367 回答