如何使用python cx_Freeze在程序的卸载列表中显示图标?

时间:2019-07-05 10:49:30

标签: python cx-freeze

我能够为我的应用程序构建MSI,并且运行正常,但控制面板中的图标->卸载程序->我的应用程序丢失。

enter image description here

如何制作自定义setup.py文件以显示图标?

我尝试如下所示在安装文件中包含该图标,但该图标仅在MyProgramMenu中显示:

exe = Executable( 
    script="test.py", 
    initScript=None,
    base=base,  
    targetName="test.exe", 
    copyDependentFiles=True,
    compress=False,
    appendScriptToExe=False,
    appendScriptToLibrary=False,
    shortcutDir="MyProgramMenu",
    shortcutName=APP_NAME,
    icon="test.ico" 
)

我想在控制面板的程序列表中显示该图标。

1 个答案:

答案 0 :(得分:0)

我认为没有简单而干净的方式使用

python setup.py bdist_msi

因为您基本上需要执行Set the icon displayed in Add/Remove Programs中所述的额外步骤,因此可能需要以非通用的方式修补distutils\command\bdist_msi.py

要使用适当的卸载图标制作更具可定制性的安装程序,可以使用基于脚本的工具,例如NSIS (Nullsoft Scriptable Install System)。仅使用cx_Freeze执行构建步骤:

python setup.py build

并运行NSIS或随后选择的任何其他工具的安装程序生成脚本。