使用cx-freeze创建一个msi,为桌面添加快捷方式

时间:2013-03-31 21:25:21

标签: windows-installer cx-freeze

我正在使用cx-freeze为Python应用程序创建MSI安装程序。如何从桌面安装应用程序的链接?

1 个答案:

答案 0 :(得分:27)

要创建应用程序的快捷方式,请将 shortCutName shortcutDir 选项提供给可执行文件。 shortcutDir 可以命名System Folder Properties中的任何一个(感谢Aaron)。例如:

from cx_Freeze import *

setup(
    executables = [
        Executable(
            "MyApp.py",
            shortcutName="DTI Playlist",
            shortcutDir="DesktopFolder",
            )
        ]
    )

您还可以将项目添加到MSI快捷方式表中。这允许您创建多个快捷方式并设置工作目录(快捷方式的“开始”设置)。

from cx_Freeze import *

# http://msdn.microsoft.com/en-us/library/windows/desktop/aa371847(v=vs.85).aspx
shortcut_table = [
    ("DesktopShortcut",        # Shortcut
     "DesktopFolder",          # Directory_
     "DTI Playlist",           # Name
     "TARGETDIR",              # Component_
     "[TARGETDIR]playlist.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}

# Change some default MSI options and specify the use of the above defined tables
bdist_msi_options = {'data': msi_data}

setup(
    options = {
        "bdist_msi": bdist_msi_options,
    },
    executables = [
        Executable(
            "MyApp.py",
            )
        ]
    )