使用 NSIS打包的应用程序,在Vista中无法正确删除开始菜单快捷方式的问题解决方案

快乐无极 , 2010/02/24 09:44 , 安装制作 , 评论(0) , 阅读(13035) , Via cnblogs | |

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权限就可以解决上述问题了。

其他的解决方案:

使用SetShellVarContext all 将快捷方式创建到alluser的开始菜单中,但是感觉这样治标不治本。

参考自nsis官方文档:

Shortcuts removal fails on Windows Vista

发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]