Qt工程Windows下的安装包制作

xiaoxiao2021-02-28  125

工具 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已产生.

到此,利用安装向导制作的安装包就完成了.

转载请注明原文地址: https://www.6miu.com/read-78205.html

最新回复(0)