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

如何在使用python cx_Freeze的程序卸载列表中显示图标?,python,cx-freeze,Python,Cx Freeze,我能够为我的应用程序构建MSI,它工作正常,但控制面板-->卸载程序-->我的应用程序中的图标丢失 如何使自定义setup.py文件显示图标 我试图在设置文件中包含图标,如下所示,但它仅显示在MyProgramMenu中: exe = Executable( script="test.py", initScript=None, base=base, targetName="test.exe", copyDependentFiles=True,

我能够为我的应用程序构建MSI,它工作正常,但控制面板-->卸载程序-->我的应用程序中的图标丢失

如何使自定义
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" 
)

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

我认为没有简单、干净的方法使用:

python setup.py bdist_msi
由于您基本上需要执行中描述的额外步骤,因此需要以可能非通用的方式修补
distutils\command\bdist_msi.py

要使安装程序具有更可自定义的卸载图标,可以使用基于脚本的工具,如。仅使用cx\U冻结执行生成步骤:

python setup.py build

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

我认为使用以下工具没有简单、干净的方法:

python setup.py bdist_msi
由于您基本上需要执行中描述的额外步骤,因此需要以可能非通用的方式修补
distutils\command\bdist_msi.py

要使安装程序具有更可自定义的卸载图标,可以使用基于脚本的工具,如。仅使用cx\U冻结执行生成步骤:

python setup.py build

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

Hi@jpeg非常感谢您的回复,但我对这个msi创建还不熟悉,请发送一些示例代码或链接,说明如何进行修补或创建msi文件后如何使用NSIS,如果你能再次提供一些线索,那将是一个很大的帮助。非常感谢@SridharSri您需要使用
!为安装程序图标和
定义MUI_图标
!为卸载程序图标定义MUI_UNICON
。例如,请看Hi@jpeg,非常感谢您的回复,但我是这个msi创建的新手,能否请您发送一些示例代码或链接,说明如何进行修补或如何在创建msi文件后使用nsis,如果您再次提供一些线索,这将是一个很大的帮助,非常感谢@SridharSri您需要使用
!为安装程序图标和
定义MUI_图标
!为卸载程序图标定义MUI_UNICON
。例如,见