为什么 Vista 不允许在非管理员帐户上创建“程序”的快捷方式?不应该从非管理员帐户安装应用程序?
-
09-06-2019 - |
题
我正在开发一个安装程序(使用 Wise Installer,1999 年的旧版本)。
我正在程序组中创建 EXE 的快捷方式。我还在桌面上创建了一个快捷方式。
如果从管理员帐户运行安装,则我在公共桌面和公共程序组上创建快捷方式(即从 HKEY_LOCAL_MACHINE\Explorer\Shell for All Users 读取)。如果它是从非管理员帐户安装的,那么我会安装到 HKEY_CURRENT_USER 的桌面和程序组。
行为
安装在:
XP非管理员 - 桌面和程序快捷方式安装正常。
维斯塔管理员 - 桌面和程序快捷方式安装正常。
Vista 非管理员,UAC 关闭- 桌面快捷方式安装,但程序快捷方式不安装. 。不过,节目组 文件夹 他们应该安装到 做 被创建。
安装结束时,我启动具有快捷方式的程序组。它在上述所有内容中启动。我可以手动将快捷方式拖到该文件夹中,效果很好。
我真他妈的困惑。
我尝试安装一些其他商业应用程序(Opera、Foxit、FireFox),只有 FireFox 会安装在非管理员下(并且只有当您选择除程序文件之外的其他内容时,我知道非管理员帐户不能使用程序文件)。FF不会安装卸载图标,也没有从删除程序中卸载支持。
我尝试安装 IE 7 并且它 需要管理员 安装。它甚至不会使用临时提升的管理员权限进行安装。
也许这个想法是您不应该从非管理员帐户在 Vista 中安装软件?
解决方案
Vista 做了一些漂亮的透明重定向,以提供与非 Vista 应用程序的向后兼容性。尝试以非管理员身份安装到“所有用户”位置,Vista 应该透明地将您的快捷方式放置在该用户独有的位置。
其他提示
当用户开始在 Vista 上安装时,我创建的安装程序出现了权限问题。解决我的问题的方法是将安装程序重命名为 install.exe (或 setup.exe)。
-戴夫