【问题标题】:Using cx_Freeze to create .msi installer -- display message upon install使用 cx_Freeze 创建 .msi 安装程序 -- 安装时显示消息
【发布时间】:2021-07-23 18:54:42
【问题描述】:

我正在使用 cx_Freeze 将 python 脚本编译成 .msi 安装文件。在阅读this very helpful thread 后,我已经能够在安装过程中生成已编译的 exe 程序的快捷方式。此外,我想在安装过程中向用户显示某种消息。是否可以相应地配置 cx_Freeze ?如果没有,那还有什么办法呢?

我的代码的相关(简化)位是:

from cx_Freeze import setup, Executable

options = {'optimize': 2}
executables = [Executable('program.py', base='Win32GUI', targetName='program.exe',
                          shortcutName='program', shortcutDir='ProgramMenuFolder')]
  
setup(name='program', options=options, executables=executables)

【问题讨论】:

    标签: python windows-installer cx-freeze


    【解决方案1】:

    命令

    python path_to_setup_script.py bdist_msi
    

    用于让 cx_Freeze 创建一个 .msi 安装程序可以使用 setup() 调用中的相应 bdist_msi 选项进行自定义:

    setup(..., options={..., 'bdist_msi': bdist_msi_options, ...}, ...)
    

    请参阅corresponding section of the cx_Freeze documentation 以获取带有示例的可用选项列表,以及Available bdist_msi options when creating MSI with cx_Freeze

    特别是,data 选项可用于向MSI installer database tables 添加新数据。例如,可以添加一个Shortcut 表以让安装程序创建一个桌面快捷方式,如您已链接的线程Use cx-freeze to create an msi that adds a shortcut to the desktop 中所述,或如here 所述的程序菜单快捷方式。更多示例在here 中绘制。

    但是,如果您需要修改已在cx_Freeze code 中定义的表,如果您想修改现有对话框的文本,则可能需要重载此代码。在这种情况下,让 cx_Freeze 仅创建可执行文件(build 命令)并使用其他工具(例如基于脚本的工具NSIS (Nullsoft Scriptable Install System))之后生成更可定制的安装程序可能更容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-17
      • 2018-08-05
      • 1970-01-01
      • 2018-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多