nsis出错_NSIS错误(NSIS Error)的原因和解决方法总结
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
此前本吧已有關于 NSIS 錯誤的討論帖:
http://tieba.baidu.com/p/936942378
但由于失誤,我在二樓的回復內(nèi)容有不明確或不詳細部分。
現(xiàn)新開此貼對此問題再次說明,部分內(nèi)容仍與上帖相同。
首先介紹一下 NSIS。NSIS 是一個腳本安裝程序制作系統(tǒng),通過編譯腳本來生成安裝程序。安裝程序的作用就是幫助用戶完整軟件的安裝。由于大型軟件的安裝過程不僅僅涉及復制文件,還有操作注冊表甚至系統(tǒng)服務等,不可能手工操作,于是就有了安裝程序。安裝程序通常都是一個獨立的 exe 文件。此文件不僅僅將軟件所需的所有文件壓縮在內(nèi),而且還包括一個向導界面及安裝時要執(zhí)行的操作指令,可以完成復制文件、寫入注冊表、創(chuàng)建系統(tǒng)服務等,以及很多其他操作。使用 NSIS 生成的安裝程序默認開啟了自校驗功能,以防止安裝程序被非法修改或者用戶使用損壞的安裝程序來安裝軟件。通常情況下,NSIS 錯誤的描述是這樣的:
新版 NSIS 創(chuàng)建的安裝程序的錯誤信息:
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
中文翻譯:
安裝程序完整性檢查失敗!
常見原因包括下載不完整或介質損壞等。
聯(lián)系安裝程序的作者以獲得一個新的副本。
更多信息:
http://nsis.sf.net/NSIS_Error
使用 NSIS 2.35 之前版本創(chuàng)建的安裝程序,NSIS 錯誤描述是這樣的(注:使用 NSIS 2.35 之前版本創(chuàng)建的安裝程序,指安裝程序的制作者在制作安裝程序時使用的 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).
中文翻譯:
你正在使用的安裝程序不完整或者已損壞。
這可能是磁盤損壞、下載失敗或病毒導致的結果。
你可能需要聯(lián)系安裝程序的作者獲取一個新的副本。
或許也可以通過命令行開關 /NCRC 跳過檢查(不推薦)。
NSIS 是國外軟件,以上是官方原版的錯誤提示,但實際中遇到的 NSIS 錯誤提示文字也有可能是其他內(nèi)容。由于 NSIS 為免費開源軟件,所有不排除有編程愛好者修改 NSIS 源碼中這段錯誤文字后重新編譯了自己專用的 NSIS 版本來創(chuàng)建安裝程序。NSIS 的自校驗檢查可以在生成安裝程序的時候使用 CRCCheck off 關閉檢查,這樣安裝程序不會進行檢查,自然也不會彈出“NSIS Error”(即“NSIS 錯誤”)。NSIS 還提供了另外一種方式,也就是通過命令行參數(shù) /NCRC 來跳過 CRC 檢查。這是對通常情況下創(chuàng)建的安裝程序,也就是默認啟用了 CRC 檢查的安裝程序提供的一個萬不得已的啟動方式。如今的圖形界面大行其道,鼠標雙擊代替了敲擊命令,使得很多人對命令行參數(shù)一知半解。在 Windows 下,直接雙擊執(zhí)行 exe 是不附帶任何參數(shù)的,故加參數(shù)運行只能間接實現(xiàn)。給程序添加參數(shù)運行有兩種方式:1.命令行直接添加;2.創(chuàng)建快捷方式后在目標欄添加。
1.通過命令行添加參數(shù)
官方提到的使用命令行參數(shù) /NCRC 的辦法:通過開始菜單打開“運行”對話框并輸入 cmd 并點確定,即彈出命令提示符。Windows Vista、Windows 7 可以在開始菜單搜索框直接輸入 cmd 按回車,也可以通過 Windows 徽標鍵 + R 來打開運行對話框(Windows 徽標鍵位于 Ctrl 和 Alt 之間,但并不是每個鍵盤都有)。將安裝程序用鼠標左鍵拖到命令行窗口,即自動出現(xiàn)路徑,帶空格的路徑自動加引號,然后在路徑后面輸入至少一個空格和 /NCRC,NCRC 四個字母必須全部大寫。
2.通過快捷方式添加參數(shù)
在安裝程序上面點右鍵,選擇“創(chuàng)建快捷方式”。然后在創(chuàng)建出來的快捷方式文件上點右鍵,選擇屬性,在其“目標”欄的原有路徑后面加上空格和 /NCRC,完后點擊確定。然后雙擊快捷方式即可啟動安裝程序,此時將會使用 /NCRC 參數(shù)啟動安裝程序。
注意:方法1中,對于帶空格的路徑,將文件拖到命令行上,路徑兩側會自動添加引號。方法2在快捷方式目標欄的帶空格路徑后面添加 /NCRC 時,必須注意路徑兩側的引號。方法2中默認情況下這個引號是存在的,但添加參數(shù)時切不可刪除,路徑仍需使用引號包括,并且參數(shù)與路徑之間至少使用一個空格分隔。總之:路徑與參數(shù)之間必須用英文空格分隔,而且后面的 /NCRC 也必須是英文字符,字母必須全部大寫。在輸入時一定要確保輸入法已經(jīng)關閉,否則可能輸入錯誤。
官方不推薦使用以上命令行參數(shù)來執(zhí)行安裝程序,除非任何辦法都不能解決問題時可考慮使用 /NCRC 參數(shù)跳過文件校驗啟動安裝程序,但這并不是完美的解決辦法。如果安裝程序本身已經(jīng)嚴重損壞或并未下載完成,那么即使你使用 /NCRC 來啟動安裝程序,跳過了自校驗,只能保證安裝程序可以啟動,并不能保證安裝過程不會出現(xiàn)錯誤,或者安裝可以成功,但由于數(shù)據(jù)損壞導致軟件無法使用。
下面這些情況,可嘗試通過 /NCRC 來安裝,例如:電腦中病毒,安裝包被感染,而后使用殺毒軟件清除了安裝程序的病毒;又如:下載工具下載到 99.9% 而無法下載成功,此時可將未下載完成的文件擴展名改名為 exe……這些情況下可以認為安裝程序數(shù)據(jù)基本完整,可嘗試使用 /NCRC 的命令行參數(shù)來解決。
最后聲明:本吧為 NSIS 貼吧,是 NSIS 腳本技術交流的場所,請廣大勿再發(fā)表大量“NSIS 錯誤”問題咨詢帖。該錯誤提示從根本上講是文件損壞,但文件損壞的原因多種多樣,也有可能是某些人提到的硬盤壞道,或者內(nèi)存問題導致系統(tǒng)讀取的數(shù)據(jù)不完整(文件可能并未損壞),更有可能是其他不確定的原因。各人的情況不一,因此太多爭論也無太大意義。
總結
以上是生活随笔為你收集整理的nsis出错_NSIS错误(NSIS Error)的原因和解决方法总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试知识体系图谱
- 下一篇: win10简单方法安装杜比v4音效!wi