为什么Vista不允许在NonAdmin帐户上创建指向"程序"的快捷方式?不应该从NonAdmin帐户安装应用程序吗?
我正在开发一个安装程序(使用Wise Installer,它是1999年以前的旧版本)。
我正在"程序"组中创建一个EXE的快捷方式。我还在桌面上创建快捷方式。
如果安装是通过Admin帐户运行的,那么我将在通用桌面和通用程序组上创建快捷方式(即,从所有用户的HKEY_LOCAL_MACHINE \ Explorer \ Shell中读取)。
如果是从NonAdmin帐户安装的,那么我将安装到HKEY_CURRENT_USER的桌面和程序组。
行为
安装在:
XP NonAdmin桌面和程序快捷方式安装成功。
Vista Admin桌面和程序快捷方式安装成功。
Vista Non-Admin,将安装UAC offDesktop快捷方式,但不会安装"程序快捷方式"。但是,确实创建了应该安装到它们的"程序"组文件夹。
在安装结束时,我启动具有快捷方式的程序组。它在以上所有内容中启动。我可以手动将快捷方式拖动到该文件夹中,并且效果很好。
我真是莫名其妙。
我试过安装其他一些商业应用程序(Opera,Foxit,FireFox),只有FireFox才能在NonAdmin下安装(并且仅当我们选择了Program Files以外的其他内容时,我才知道NonAdmin帐户的权限不可用)。 FF不会安装"卸载图标"
从"删除程序"中卸载支持。
我尝试安装IE 7,并且需要管理员安装。它甚至不会与临时提升的Admin一起安装。
也许是因为我们不应该通过NonAdmin帐户在Vista中安装软件?
解决方案
回答
Vista进行了一些漂亮的透明重定向,以提供与非Vista应用程序的向后兼容性。尝试以非管理员身份安装到"所有用户"位置,Vista应当透明地将快捷方式放在该用户独有的位置。
回答
用户在Vista上开始安装时创建的安装程序存在权限问题。解决我问题的是将安装程序重命名为install.exe(或者setup.exe)。
-戴夫