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官方文档:
使用ISTool(下载:http://www.oyksoft.com/downinfo/1464.html)一打开总报“似乎你没有安装Inno Setup 5...“。
原因是今天装了安装版的Inno Setup (下载:http://www.oyksoft.com/downinfo/106.html)然后卸载掉了。以前直接用便携版然后指定未安装的Inno Setup一直不会有问题,安装新版卸载之后便会出现这个问题。
解决方法是:打开注册表,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
右击uninstall,选择新建项:Inno Setup 5_is1 即可。
incomplete download and damaged media. Contact the
installer's author to obtain a new copy.
More information at:
http://nsis.sf.net/NSIS_Error
http://www.oyksoft.com/downinfo/1867.html
版本:提取WinRAR安装版中 SFX模块及安装脚本的办法
发行时间:2005年
制作发行:Neighbor
地区:大陆
语言:普通话
简介:
打造属于自己的WINRAR原版风格安装程序包
NSIS的卸载段一般是手写,如果安装程序包含的文件很多,一般就直接删除整个安装目录,或者逐个删除子目录,再逐个删除安装目录下的各个文件。这样存在误删除文件的危险性。比如如果用户将文件存放在驱动器根目录下,如果整个删除安装目录,那就将一个驱动器的东西都删光了!况且更新维护脚本的同时需要考虑到卸载段的更改,个人觉得是比较麻烦。
这也是我不太喜欢NSIS的原因之一。(还有另一个重要原因是NSIS制作的安装程序在安装时如果“取消”了安装,将不能回复到安装前的状态,而INNO可以哦!这和本文无关~)



