NSIS打包的安装程序,在Vista中的安装过程中如果向开始菜单添加了快捷方式的话,在卸载时卸载程序会不能正常删除这些快捷方式。
这 主要是因为Vista中使用UAC控制用户的权限。
我们使用NSIS打包程序一般会配套使用相应的脚本编辑器,比如HM NIS Edit,或者国内高手对HM NIS Edit进行源代码级增量改进之后的HM VNIS Edit,但是这两个软件都已经很久没有更新了,在使用向导创建开发脚本时,不会注意到使用Vista系统引起的问题,所以如果你使用上述两个脚本编辑器 生成脚本的话,就会出现这样的问题。
其实NSIS本身不存在什么问题,它提供了新的函数 RequestExecutionLevel语句(自2.21版添加),针对Vista的UAC进行权限请求,你只需在脚本中添加:
RequestExecutionLevel none|user|highest|admin
常规安装程序只需user权限就可以解决上述问题了。
参考页面:http://nsis.sourceforge.net/Shortcuts_removal_fails_on_Windows_Vista