该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

此前本吧已有关于 NSIS 错误的讨论帖:

http://tieba.baidu.com/p/936942378

但由于失误,我在二楼的回复内容有不明确或不详细部分。

现新开此贴对此问题再次说明,部分内容仍与上帖相同。

首先介绍一下 NSIS。NSIS 是一个脚本安装程序制作系统,通过编译脚本来生成安装程序。安装程序的作用就是帮助用户完整软件的安装。由于大型软件的安装过程不仅仅涉及复制文件,还有操作注册表甚至系统服务等,不可能手工操作,于是就有了安装程序。安装程序通常都是一个独立的 exe 文件。此文件不仅仅将软件所需的所有文件压缩在内,而且还包括一个向导界面及安装时要执行的操作指令,可以完成复制文件、写入注册表、创建系统服务等,以及很多其他操作。使用 NSIS 生成的安装程序默认开启了自校验功能,以防止安装程序被非法修改或者用户使用损坏的安装程序来安装软件。通常情况下,NSIS 错误的描述是这样的:

新版 NSIS 创建的安装程序的错误信息:

Installer integrity check has failed. Common causes include

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://nsis.sf.net/NSIS_Error

使用 NSIS 2.35 之前版本创建的安装程序,NSIS 错误描述是这样的(注:使用 NSIS 2.35 之前版本创建的安装程序,指安装程序的制作者在制作安装程序时使用的 NSIS 版本,与安装程序自身无关。):

The installer you are trying to use is corrupted or incomplete.

This could be the result of a damaged disk, a failed download or a virus.

You may want to contact the author of this installer to obtain a new copy.

It may be possible to skip this check using the /NCRC command line switch

(NOT RECOMMENDED).

中文翻译:

你正在使用的安装程序不完整或者已损坏。

这可能是磁盘损坏、下载失败或病毒导致的结果。

你可能需要联系安装程序的作者获取一个新的副本。

或许也可以通过命令行开关 /NCRC 跳过检查(不推荐)。

NSIS 是国外软件,以上是官方原版的错误提示,但实际中遇到的 NSIS 错误提示文字也有可能是其他内容。由于 NSIS 为免费开源软件,所有不排除有编程爱好者修改 NSIS 源码中这段错误文字后重新编译了自己专用的 NSIS 版本来创建安装程序。NSIS 的自校验检查可以在生成安装程序的时候使用 CRCCheck off 关闭检查,这样安装程序不会进行检查,自然也不会弹出“NSIS Error”(即“NSIS 错误”)。NSIS 还提供了另外一种方式,也就是通过命令行参数 /NCRC 来跳过 CRC 检查。这是对通常情况下创建的安装程序,也就是默认启用了 CRC 检查的安装程序提供的一个万不得已的启动方式。如今的图形界面大行其道,鼠标双击代替了敲击命令,使得很多人对命令行参数一知半解。在 Windows 下,直接双击执行 exe 是不附带任何参数的,故加参数运行只能间接实现。给程序添加参数运行有两种方式:1.命令行直接添加;2.创建快捷方式后在目标栏添加。

1.通过命令行添加参数

官方提到的使用命令行参数 /NCRC 的办法:通过开始菜单打开“运行”对话框并输入 cmd 并点确定,即弹出命令提示符。Windows Vista、Windows 7 可以在开始菜单搜索框直接输入 cmd 按回车,也可以通过 Windows 徽标键 + R 来打开运行对话框(Windows 徽标键位于 Ctrl 和 Alt 之间,但并不是每个键盘都有)。将安装程序用鼠标左键拖到命令行窗口,即自动出现路径,带空格的路径自动加引号,然后在路径后面输入至少一个空格和 /NCRC,NCRC 四个字母必须全部大写。

2.通过快捷方式添加参数

在安装程序上面点右键,选择“创建快捷方式”。然后在创建出来的快捷方式文件上点右键,选择属性,在其“目标”栏的原有路径后面加上空格和 /NCRC,完后点击确定。然后双击快捷方式即可启动安装程序,此时将会使用 /NCRC 参数启动安装程序。

注意:方法1中,对于带空格的路径,将文件拖到命令行上,路径两侧会自动添加引号。方法2在快捷方式目标栏的带空格路径后面添加 /NCRC 时,必须注意路径两侧的引号。方法2中默认情况下这个引号是存在的,但添加参数时切不可删除,路径仍需使用引号包括,并且参数与路径之间至少使用一个空格分隔。总之:路径与参数之间必须用英文空格分隔,而且后面的 /NCRC 也必须是英文字符,字母必须全部大写。在输入时一定要确保输入法已经关闭,否则可能输入错误。

官方不推荐使用以上命令行参数来执行安装程序,除非任何办法都不能解决问题时可考虑使用 /NCRC 参数跳过文件校验启动安装程序,但这并不是完美的解决办法。如果安装程序本身已经严重损坏或并未下载完成,那么即使你使用 /NCRC 来启动安装程序,跳过了自校验,只能保证安装程序可以启动,并不能保证安装过程不会出现错误,或者安装可以成功,但由于数据损坏导致软件无法使用。

下面这些情况,可尝试通过 /NCRC 来安装,例如:电脑中病毒,安装包被感染,而后使用杀毒软件清除了安装程序的病毒;又如:下载工具下载到 99.9% 而无法下载成功,此时可将未下载完成的文件扩展名改名为 exe……这些情况下可以认为安装程序数据基本完整,可尝试使用 /NCRC 的命令行参数来解决。

最后声明:本吧为 NSIS 贴吧,是 NSIS 脚本技术交流的场所,请广大勿再发表大量“NSIS 错误”问题咨询帖。该错误提示从根本上讲是文件损坏,但文件损坏的原因多种多样,也有可能是某些人提到的硬盘坏道,或者内存问题导致系统读取的数据不完整(文件可能并未损坏),更有可能是其他不确定的原因。各人的情况不一,因此太多争论也无太大意义。

nsis出错_NSIS错误(NSIS Error)的原因和解决方法总结相关推荐

  1. OGG错误号对应的原因与解决方法

    本文为介绍如何通过Oracle官方文档,来查询OGG错误号对应的原因与解决方法 温馨提示:由于版权和篇幅等原因,大家可以根据下面的官方链接去查阅相关的官方文档以获取需要的信息 Oracle Golde ...

  2. go mysql 错误_mysql安装失败原因和解决方法

    mysql数据库安装不了了!mysql最后一步安装不上!mysql就是安装不上!是不是很头疼,很伤脑筋,现在大家不用着急了,小编为大家整理了mysql安装失败的原因以及mysql安装失败的解决方法,抓 ...

  3. 【MySQL】Got fatal error 1236原因和解决方法

    一 前言   MySQL 的主从复制作为一项高可用特性,用于将主库的数据同步到从库,在维护主从复制数据库集群的时候,作为专职的MySQL DBA,笔者相信大多数人都会遇到"Got fatal ...

  4. mysql错误1064_mysql 1064异常原因及解决方法

    mysql 1064错误原因及解决办法 1064错误意思是说我的SQL语法错误,然后显示错误的具体位置. 查看待更新的内容,以及执行跟新的php语句. php语句如下: if(!$handle= @f ...

  5. 上传图片错误提示:error=3,原因及解决方法

    上传图片时碰见 array( [name] => sj1.jpg [type] => [tmp_name] => [error] => 3 [size] => 0) 其中 ...

  6. discuz mysql data_Discuz!显示 Database Error的原因和解决方法

    今天打开Discuz搭建的论坛显示: 原因一:数据库表太大 比如mysql数据库的表内容太大,超过10G就有可能会影响discuz论坛的运行. Discuz! Database Error是什么原因, ...

  7. Nginx 403 forbidden 错误的五种原因及解决方法(详细)

    搭建个人下载地址时,nginx访问时报403错??来5个原因帮你找到解决办法 首先报错先查看日志,这里查看nginx日志,路径为/var/log/nginx/error.log.打开日志发现详细报错如 ...

  8. 无线网卡ping时显示hardware error的原因及解决方法

    现象:无线网卡(IP为自动获取)可以搜索到网络,也可以连上,并能通过路由器的DHCP服务器获取到IP,但是可以上网:ping网关或别人的IP时提示:hardware error:有线网卡可以正常使用. ...

  9. 计算机开机显示cpufanerror,电脑出现CPUFanError原因及解决方法【详解】

    在我们日常使用电脑的过程中,有时会遇到电脑出现了CPU Fan Error的提示,这说明我们的处理器散热风扇出了问题,但是电脑出现CPU Fan Error是什么原因造成的呢?如何解决呢?下面小编给大 ...

  10. python内核死亡的原因_Kernel Panic常见原因以及解决方法

    Technorati 标签: Kernel Panic 出现原因 1. Linux在中断处理程序中,它不处于任何一个进程上下文,如果使用可能睡眠的函数,则系统调度会被破坏,导致kernel panic ...

最新文章

  1. 使用μJava进行变异体测试
  2. Centos6.5升级gcc for qt5.3.1
  3. C语言的补码表示和unsigned及signed的转换
  4. 项目整体管理:制定项目管理计划
  5. ubuntu 14.04 编译android4.0 出现gcc-version.sh: line 11: cc: command not found错误解决方法
  6. C程序运用递归求阶乘
  7. Sentinel(十九)之主流框架的适配
  8. 预训练模型对实体的表示能力差?一个简单有效的解法来了!(开源)
  9. 寻仙服务器要维护多久,新寻仙正式服5.2.62.1版本更新公告
  10. 昨天食物中毒,至今浑身酸痛
  11. 如何解决代码嵌套太深问题
  12. python 匿名函数 与 重要的内置函数
  13. BZOJ2428[HAOI2006] 均分数据
  14. C++STL之整理算法
  15. 关于ucgui3.98(显示部分)移植
  16. linux内核源码阅读之facebook硬盘加速flashcache之二
  17. 【组图】世界著名城市夜景
  18. ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  19. MVCC及其原理详解
  20. 昆仑万维:如涵在纳斯达克挂牌 公司持有其3.91%股权

热门文章

  1. 教你一招,如何使用抓包工具轻松获取微信文章数据!
  2. 还不会财务管理分析?Python爬取全网财务分析数据
  3. 终端天线—9.4G手机调试
  4. 铁路车辆工程使用计算机软件,铁路车辆工程论文
  5. 基于java网上商城源码设计
  6. android9 三星 港版,三星S9+官方港版安卓9固件rom刷机包:TGY-G9650ZHS4CSD7
  7. 全彩图解电气控制电路100例(PDF)
  8. 黑苹果 efi如何替换_看了这篇文章,再也不用花钱请人装黑苹果了
  9. 计算机视觉及智能影像行业深度研究报告
  10. [Linux 高并发服务器] 信号