本文详细介绍了如何实现软件安装,结合更新到启动的流程,并使用HM NIS Edit制作正式安装包,包含临界区关键词优化,适合软件开发者参考。

文章标题:如何实现软件安装?结合更新与启动,打造专业安装包

文章内容:

如何实现软件安装?

在上一篇文章《如何实现软件更新?》中,我们探讨了如何结合更新到启动,实现软件启动时自动更新。这一篇,我们将深入讲解如何让软件像正常应用一样完成安装,同时确保更新机制正常工作。

启动时更新其实非常简单。在上一篇文章中,我们已经用函数`main()`将整个过程封装起来,因此只需在主程序中引入该函数,并放在其他语句的最前面。

# 引入函数
from update import main
# 中间代码省略
 ...
if __name__ == '__main__':
    # 放在最前面
    main()
    app = MainWindows()
    app.mainloop()

使用pyinstaller制作单文件执行最简单的方法是:

pyinstaller -w -F main.py

参数解释:

文件夹方式:

pyinstaller -w main.py

不加-F会直接生成文件夹。

运行命令.gif

打包完成后,会生成一个dist文件夹,打开里面会有一个main文件夹,里面包含main.exe,这就是可执行文件,可双击运行。

运行文件.gif

如果出现错误,可能是更新文件缺失。具体原因可参考《如何实现软件更新?》。由于启动时需要先运行更新,而更新文件依赖json文件,因此启动时会出错。

将更新文件放入文件夹,再次运行即可正常工作。

正常运行.gif

虽然这里的自动更新还有改进空间(针对文件夹的更新机制需要进一步优化),但基本原理相同,读者可根据实际情况调整。

二、如何让软件能够安装

前面的内容是为安装准备的基础。我们选择文件夹形式打包,因为接下来要使用的工具更适合处理文件夹,且文件夹形式通常比单文件更轻量。

使用HM NIS Edit制作专业安装包

HM NIS Edit能制作类似QQ的安装包。以下是具体步骤:

1. 打开HM NIS Edit,点击“文件”→“新建脚本:向导”。

2. 点击“下一步”,填写应用程序信息。

3. 保持默认设置,但将安装程序语言选择为简体中文,避免乱码。

4. 设置默认安装目录,允许用户自定义,并添加授权文件。

5. 修改文件路径,添加程序所在目录,确保子文件夹中的库也能被安装。

6. 保存脚本,自动编译生成安装程序。

授权文件

由于软件依赖子文件夹中的库,我们需要在编译脚本中添加递归复制命令:

# 编译成setup.exe时的操作
Section "MainSection" SEC01
  SetOutPath "$INSTDIR"
  SetOverwrite ifnewer
  File "mainmain.exe"
  File /r "main." # 添加递归符号
  CreateDirectory "$SMPROGRAMS敦煌工具"
  CreateShortCut "$SMPROGRAMS敦煌工具敦煌工具.lnk" "$INSTDIRmain.exe"
  CreateShortCut "$DESKTOP敦煌工具.lnk" "$INSTDIRmain.exe"
SectionEnd
# 卸载时的操作
Section Uninstall
  Delete "$INSTDIR${PRODUCT_NAME}.url"
  Delete "$INSTDIRuninst.exe"
  Delete "$INSTDIR."
  Delete "$INSTDIRmain.exe"
  Delete "$SMPROGRAMS敦煌工具Uninstall.lnk"
  Delete "$SMPROGRAMS敦煌工具Website.lnk"
  Delete "$DESKTOP敦煌工具.lnk"
  Delete "$SMPROGRAMS敦煌工具敦煌工具.lnk"
  RMDir "$SMPROGRAMS敦煌工具"
  RMDir /r "$INSTDIR."
  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
  SetAutoClose true
SectionEnd

三、安装测试

保存脚本后,编译生成setup.exe。双击启动安装程序,流程如下:

1. 启动软件,显示授权文件内容。

2. 选择安装路径,可自定义。

3. 开始安装。

4. 安装完成,可选择运行软件或退出。

5. 桌面和开始菜单会生成卸载工具。

6. 运行软件,测试功能正常。

7. 卸载测试,从安装目录运行卸载工具。

最后

通过以上步骤,我们成功将软件包装成专业安装包。读者可根据实际需求调整设置。如遇问题,可关注公众号“Python与跨境电商”讨论,示例代码已上传至百度网盘,回复关键词“安装软件”获取。

最后编辑于:2020.05.07 12:28:49

©著作权归作者所有,转载或内容合作请联系作者

{1、软件安装} {2、软件更新} {3、HM NIS Edit} {4、临界区} {5、安装包制作} {6、pyinstaller}


本文是基于《怎么实现软件安装?看这篇文章如何结合更新到启动来搞定》的AI重写版本

免责声明:本站为个人博客,博客所发布的一切修改补丁、注册机和注册信息及软件的文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 访问和下载本站内容,说明您已同意上述条款。本站为非盈利性站点,VIP功能仅仅作为用户喜欢本站捐赠打赏功能,本站不贩卖软件,所有内容不作为商业行为。