程序打包(安装包制作,Inno setup打包教程,QT程序打包) |
您所在的位置:网站首页 › c程序打包怎么做 › 程序打包(安装包制作,Inno setup打包教程,QT程序打包) |
一、简介
本文主要讲述如何将QT程序打包成安装包,提供给其他人使用。(打包其他程序同理) 二、准备阶段: 2.1 下载并安装打包工具Inno setup中文版 密码:id09 2.2 将QT程序DLL快速关联QT缺少DLL解决方案 例如,我已经成功demo.exe程序关联好dll。 返回上一层目录 该目录中: Applications:存放程序的运行环境 License:存放软件的相关协议声明 ReleaseNote:编写了程序的相关更新说明 接下来,我们需要对这三个文件进行打包。 三、打包教程:3.1 打开安装好的Inno setup软件。会自动弹出欢迎界面,选择用脚本向导创建新的脚本文件。 如果没有出现该界面,可以选择右上角的 文件→新建 3.2 同样可以打开 Inno Setup 脚本向导, 在对话框中点击 下一步 3.3 在 应用程序信息 中填写安装包的相关信息,其中加粗部分为必填。之后点击 下一步 3.4 在 应用程序文件夹 中保持默认即可,直接点击 下一步 3.5 在 应用程序文件中 点击 浏览,选择需要执行的EXE程序 在 应用程序文件中 点击 添加文件夹,将 Applications文件夹选中后点击 确定 之后会弹出提醒框,点击 确定 即可 同理,将License文件夹加入,该步骤 略,和上面相同。 之后选择 添加文件,将ReleaseNote.txt选中。 成功完成以上步骤后,结果如下,点击下一步。 3.6 在 应用程序快捷方式 依据相关需求,勾选后点击 下一步 3.7 在 应用程序文档 中直接点击下一步(PS:如果有相关需求,自行添加即可) 3.8 在 安装程序模式 中勾选相应内容后点击下一步 3.9 在 安装语言 中勾选相应内容后点击下一步 3.10 在 编译配置中 自行输入相关内容后点击下一步。 自定义编译器输出文件夹:这是安装包的存放路径 编译器输出基本文件名:这是安装包的名字 自定义安装程序图标文件:随便选择一张ico图片,将作为安装包的图标。 安装密码:依照需求选填。 3.11 在 Inno Setup 预处理器 勾选 是 后点击 下一步 3.12 点击 完成 即可 3.13 完成出现编译提醒,点击是 3.14 选择一个文件夹用于存放脚本后等待编译 完成 即可 3.15 编译完成后 在 3.10步骤选择的文件夹中 找到编译完成的安装包程序 4.1 双击 demo_setup.exe,选择 仅为当前用户安装 4.2 选择好 安装路径后 点击 下一步 4.3 保持默认不变,直接点击 下一步 4.4 勾选 创建桌面快捷方式 后点击 下一步 4.5 点击 安装 4.6 点击 完成 后程序将自动运行 同时观察桌面,已经成功生成了相关的快捷方式,双击快捷方式也能够正常运行程序 问题一: 进入到项目的安装路径中,发现文件已经乱成一锅粥 这和我们需要的安装后的文件路径完全不一样,以下是我们希望安装后呈现的文件排列方式 问题二: 在项目路径中可以看到,卸载程序的名字为unins000.exe。 问题三: 进入到控制面板中的程序和功能页面,会发现Demo的卸载项是没有图标的 为了解决以上两个问题,我们需要对代码进行优化修改。 对于问题一: 首先找到 [Files] 并将原命令进行修改: 原 新 之后找到 [Icons] 并将命令进行修改 原: 新: 之后再找到 [Run] 并将命令进行修改 原: 新: 修改后点击运行 安装后的结果: 对于问题二: 可以在 [Run] 之后加入以下代码 [CODE] procedure CurStepChanged(CurStep: TSetupStep); var uninspath, uninsname, NewUninsName, MyAppName: string; begin if CurStep=ssDone then begin // 指定新的卸载文件名(不包含扩展名),请相应修改! NewUninsName := 'uninstall_Demo'; // 应用程序名称,与 [SEUTP] 段的 AppName 必须一致,请相应修改! MyAppName := 'Demo'; // 以下重命名卸载文件 uninspath:= ExtractFilePath(ExpandConstant('{uninstallexe}')); uninsname:= Copy(ExtractFileName(ExpandConstant('{uninstallexe}')),1,8); RenameFile(uninspath + uninsname + '.exe', uninspath + NewUninsName + '.exe'); RenameFile(uninspath + uninsname + '.dat', uninspath + NewUninsName + '.dat'); // 以下修改相应的注册表内容 if RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + MyAppName + '_is1') then begin RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + MyAppName + '_is1', 'UninstallString', '"' + uninspath + NewUninsName + '.exe"'); RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + MyAppName + '_is1', 'QuietUninstallString', '"' + uninspath + NewUninsName + '.exe" /SILENT'); end; end; end;结果: 对于问题三: 只需要在脚本中 [Setup] 下加入一下两条命令,即可生成卸载图标 安装后的结果: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |