Python cx-冻结快捷方式图标
Python cx-freeze shortcut icon
我使用 cx-freeze 通过制作 msi 安装文件来分发应用程序。在 setup.py 脚本中,我指定了需要放置在桌面上的快捷方式。但是快捷方式图标是空白的。 setup.py 包含以下代码。我做错了什么?
import ...
....
shortcut_table = [
("DesktopShortcut", # Shortcut
"DesktopFolder", # Directory_
"PhotonFileEditor", # Name
"TARGETDIR", # Component_
"[TARGETDIR]\PhotonEditor.exe", # Target
None, # Arguments
None, # Description
None, # Hotkey
"[TARGETDIR]photonsters.ico", # Icon
0, # IconIndex
None, # ShowCmd
"TARGETDIR", # WkDir
)
]
# Now create the table dictionary
msi_data = {"Shortcut": shortcut_table}
#msi_data = {"Shortcut": shortcut_table, "Icon": icon_table}
# Change some default MSI options and specify the use of the above defined tables
bdist_msi_options = {'data': msi_data}
....
你有没有试过:
- 将
icon
参数添加到您的 Executable
?
删除 shortcut_table
的 Target
中的反斜杠,并删除 Icon
和 IconIndex
条目?
import ...
....
shortcut_table = [
("DesktopShortcut", # Shortcut
"DesktopFolder", # Directory_
"PhotonFileEditor", # Name
"TARGETDIR", # Component_
"[TARGETDIR]PhotonEditor.exe", # Target
None, # Arguments
None, # Description
None, # Hotkey
None, # Icon
None, # IconIndex
None, # ShowCmd
"TARGETDIR", # WkDir
)
]
# Now create the table dictionary
msi_data = {"Shortcut": shortcut_table}
#msi_data = {"Shortcut": shortcut_table, "Icon": icon_table}
# Change some default MSI options and specify the use of the above defined tables
bdist_msi_options = {'data': msi_data}
executables = [Executable(....,
icon='photonsters.ico')]
....
setup(....,
executables=executables)
您是否检查过构建步骤后图标文件 photonsters.ico
是否存在于 build_dir
目录中?
谢谢,这解决了我的问题!我的代码片段:
快捷方式:
shortcut_table = [
("DesktopShortcut", # Shortcut
"DesktopFolder", # Directory_
"PhotonFileEditor",# Name
"TARGETDIR", # Component_
"[TARGETDIR]\PhotonEditor.exe", # Target
None, # Arguments
None, # Description
None, # Hotkey
"", # Icon (Use
0, # IconIndex
None, # ShowCmd
"TARGETDIR", # WkDir
)
]
设置:
setup ( name = "PhotonFileEditor",
version = "0.1",
author= "Photonsters",
url="https://github.com/Photonsters",
description = "Photon File Editor",
options = {"build_exe": build_exe_options,"bdist_msi": bdist_msi_options},
executables = [Executable(script="PhotonEditor.py",
base=base,icon="PhotonEditor.ico",)]
)
我使用 cx-freeze 通过制作 msi 安装文件来分发应用程序。在 setup.py 脚本中,我指定了需要放置在桌面上的快捷方式。但是快捷方式图标是空白的。 setup.py 包含以下代码。我做错了什么?
import ...
....
shortcut_table = [
("DesktopShortcut", # Shortcut
"DesktopFolder", # Directory_
"PhotonFileEditor", # Name
"TARGETDIR", # Component_
"[TARGETDIR]\PhotonEditor.exe", # Target
None, # Arguments
None, # Description
None, # Hotkey
"[TARGETDIR]photonsters.ico", # Icon
0, # IconIndex
None, # ShowCmd
"TARGETDIR", # WkDir
)
]
# Now create the table dictionary
msi_data = {"Shortcut": shortcut_table}
#msi_data = {"Shortcut": shortcut_table, "Icon": icon_table}
# Change some default MSI options and specify the use of the above defined tables
bdist_msi_options = {'data': msi_data}
....
你有没有试过:
- 将
icon
参数添加到您的Executable
? 删除
shortcut_table
的Target
中的反斜杠,并删除Icon
和IconIndex
条目?import ... .... shortcut_table = [ ("DesktopShortcut", # Shortcut "DesktopFolder", # Directory_ "PhotonFileEditor", # Name "TARGETDIR", # Component_ "[TARGETDIR]PhotonEditor.exe", # Target None, # Arguments None, # Description None, # Hotkey None, # Icon None, # IconIndex None, # ShowCmd "TARGETDIR", # WkDir ) ] # Now create the table dictionary msi_data = {"Shortcut": shortcut_table} #msi_data = {"Shortcut": shortcut_table, "Icon": icon_table} # Change some default MSI options and specify the use of the above defined tables bdist_msi_options = {'data': msi_data} executables = [Executable(...., icon='photonsters.ico')] .... setup(...., executables=executables)
- 将
您是否检查过构建步骤后图标文件
photonsters.ico
是否存在于build_dir
目录中?
谢谢,这解决了我的问题!我的代码片段:
快捷方式:
shortcut_table = [
("DesktopShortcut", # Shortcut
"DesktopFolder", # Directory_
"PhotonFileEditor",# Name
"TARGETDIR", # Component_
"[TARGETDIR]\PhotonEditor.exe", # Target
None, # Arguments
None, # Description
None, # Hotkey
"", # Icon (Use
0, # IconIndex
None, # ShowCmd
"TARGETDIR", # WkDir
)
]
设置:
setup ( name = "PhotonFileEditor",
version = "0.1",
author= "Photonsters",
url="https://github.com/Photonsters",
description = "Photon File Editor",
options = {"build_exe": build_exe_options,"bdist_msi": bdist_msi_options},
executables = [Executable(script="PhotonEditor.py",
base=base,icon="PhotonEditor.ico",)]
)