我有一个WSI安装程序包,我用它来安装我的应用程序。应用程序本身可以由普通用户运行,但我有一个配置应用程序,只能由系统管理员运行。因此,我不希望它出现在所有用户的“开始”菜单中,仅供管理员使用。
有没有办法告诉Windows Installer为所有用户创建一些快捷方式,而其他用户只为管理员创建一些快捷方式?
答案 0 :(得分:2)
因为我怀疑你会知道每个管理员的名字而且只有管理员没有启动文件夹,所以我认为更好的解决方案是让你让配置应用程序检查以查看运行它的用户是否是然后管理员优雅地退出,如果不是。
编辑:
也许我应该进一步解释为什么我认为添加管理员的快捷方式是解决错误问题的一个案例。以下是一些我认为会说明陷阱的情景:
1)如果您查看本地管理员组并为列出的每个用户添加快捷方式,该怎么办?现在一周后,我被添加到本地管理员。我没有捷径。
2)通常特别是在企业中,个人未列在本地管理员,组中。理论上你可以:查询AD以找到每个组的成员(我们甚至不考虑嵌套组)然后在每个用户的文档和设置下添加适当的文件夹,即使它们可能会也可能不会登录到这台机器。即使你这样做了,如果该组成员船改变了,那么一些管理员可以登录而没有快捷方式。
3)假设你为每个管理员添加它。我的管理员权限被取消后会发生什么?我仍然有捷径。
通过让MSI安装一个脚本来测试当前用户是否为管理员以及脚本是否为其启用快捷方式,可以解决其中一些问题。然后将脚本注册为Active Setup项。然后,每当新管理员登录时,他们都会获得快捷方式。但是,如果他们失去了管理员权限,则不会删除快捷方式。
如果我理解了这种情况,那么无论如何都是如此,那么没有什么能阻止任何用户管理员去任何快捷方式指向并运行它。
所以,我再次说,只为管理员添加快捷方式是解决错误的问题。要解决的正确问题是使其成为管理员以运行配置实用程序。
答案 1 :(得分:1)
通常在所有用户目录(C:\ Documents and settings \ All Users)中,到处都有快捷方式。如果只想在管理员组中,则应将其放在C:\ Documents and settings \ Administrator或用户的任何名称中(这可能在安装期间找到 - 这需要管理权限。)
答案 2 :(得分:1)
您可以将快捷方式放在子文件夹中,并拒绝非管理员用户访问该文件夹的内容。他们将看到一个空文件夹,管理员将看到一个充满快捷方式的文件夹。这不是理想的解决方案,但非管理员用户可以在没有权限提升的情况下完成的最佳解决方案。
答案 3 :(得分:0)
我会为配置应用程序创建一个单独的MSI,并调整其启动顺序以要求管理员权限。然后,您可以按用户安装应用程序,或者更好地更新配置应用程序以拒绝以普通用户身份运行。