.msi cx_Freeze的快捷方式

时间:2017-06-02 18:08:04

标签: python python-3.x windows-installer installer exe

我正在尝试使用cx_Freeze为Python创建一个.msi。我可以创建.msi没问题,它安装得很好并创建一个快捷方式,但快捷方式不起作用,因为快捷方式不是&#39 ; t在已安装的目录中运行。任何帮助或建议都非常感谢。

1 个答案:

答案 0 :(得分:1)

在构建分发包时,请确保已设置工作目录选项。 您可以使用以下所有选项设置表格:

from cx_Freeze import *

shortcut_table = [
    ("DesktopShortcut",         # Shortcut
     "DesktopFolder",           # Directory_
     "appName_shortcut",                 # Name
     "TARGETDIR",               # Component_
     "[TARGETDIR]appName.exe",  # Target
     None,                      # Arguments
     None,                      # Description
     None,                      # Hotkey
     None,                      # Icon
     None,                      # IconIndex
     None,                      # ShowCmd
     'TARGETDIR'                # WkDir
     )
    ]
options = {
    'bdist_msi': {
        'data': {"Shortcut": shortcut_table},
    },
}
setup(
    name="appName",
    options=options,
    version="0.0.1",
    description='descr',
    executables=[Executable("appName.py", base=base,)]
)

您也可以像这样简单地将shortCutNameshortcutDir选项赋予可执行文件:

from cx_Freeze import *

setup(
    executables = [
        Executable(
            "appName.py",
            shortcutName="appName_shortcut",
            shortcutDir="DesktopFolder",
            )
        ]
    )

基于this的答案。