工具
Depends.exe
nisedit2.0.3.exe
nsis-2.50-setup.exe
先安裝nsis-2.50-setup.exe, 在安裝nisedit2.0.3.exe. 都按默認安裝即可. Depends.exe不需要安裝.
步驟
1, 在工程中的main()函數裏添加如下代碼解決庫路徑問題.
QTextCodec *xcodec = QTextCodec::codecForLocale() ;
QString exeDir = xcodec->toUnicode( QByteArray(argv[0]) ) ;
QString BKE_CURRENT_DIR = QFileInfo(exeDir).path() ;
QStringList libpath;
libpath << BKE_CURRENT_DIR+QString::fromLocal8Bit("/plugins/platforms");
libpath << BKE_CURRENT_DIR <<BKE_CURRENT_DIR+QString::fromLocal8Bit("/plugins/imageformats");
libpath << BKE_CURRENT_DIR+QString::fromLocal8Bit("/plugins");
libpath << QApplication::libraryPaths();
QApplication::setLibraryPaths(libpath) ;
QApplication a(argc, argv);
2, 在工程文件.pro中添加如下內容, 其中”DESTDIR=install”指定了生成的.exe文件目錄.
MOC_DIR=temp/moc
RCC_DIR=temp/rcc
UI_DIR=temp/ui
OBJECTS_DIR=temp/obj
DESTDIR=install
3, 編譯工程, 生成.exe文件如下.
4, 查找依賴
用Depends.exe工具打開3中生成的.exe文件.
其中, 前面有黃色問號圖標的.DLL是可執行程序依賴的DLL, 找到這些DLL並將它們拷貝到”install”目錄下. 重複雙擊”GSMFALLTOOLPROJ.EXE”, 直到所有所有依賴的DLL都拷貝過來爲止.
關閉Depends.exe.
將”C:\Qt\Qt5.5.1\5.5\mingw492_32\”目錄下的”plugins”目錄拷貝到”install”目錄下. 進入到”install/plugins”目錄下, 刪除除”platforms”目錄外的所有目錄.
5, 添加資源
將圖標文件”install.ico”和”uninsitall.ico”拷貝到”install”目錄下, 將”Licence.txt”拷貝到”install”目錄下, “Licence.txt”內容隨便寫些即可. 最後, “install”目錄下的文件如下:
6, 打開HM NIS Edit.
點擊“文件”-“新建腳本:嚮導”.
點擊”下一步”, 出現如下界面
填寫完相關信息後點擊”下一步”, 出現如下界面.
安裝程序圖標選擇”install”目錄下的”install.ico”文件. 安裝程序語言選擇“SimpChinese”,其他如圖, 點擊“下一步”, 出現如下界面.
設置授權文件的路徑,點擊“下一步”, 出現如下界面.
應用程序列表中有默認的兩個文件,實際製作安裝包時,這兩個文件往往不是我們需求的文件, 選中它們,利用“刪除文件”按鈕將其移除. 如圖
然後點擊“添加目錄樹”按鈕. 彈出目錄編輯界面,通過瀏覽文件夾按鈕選擇目錄,如圖目錄爲“F:\mshome\Project\GsmFallToolProj-V1.0\install. 點擊“確定”按鈕.
待文件全部加載到應用程序文件列表,如圖,點擊下一步.
點擊下一步.
點擊下一步.
點擊下一步.
勾選“保存腳本”, “轉換文件路徑到相關路徑”, 點擊“完成”.
提示保存腳本窗口,爲腳本命名,如圖爲“物聯設備調試安裝工具安裝示例.nsi”, 點擊“保存”按鈕.
腳本保存後自動回到編輯器主界面.
點擊“NSIS”-“編譯腳本”. 編譯完成,在日誌窗格會顯示類似的信息.
在腳本的同目錄下可以看到安裝包Setup.exe已產生.
到此,利用安裝嚮導製作的安裝包就完成了.