使用 Python 的 cx_Freeze 安装程序添加开始菜单快捷方式

Posted

技术标签:

【中文标题】使用 Python 的 cx_Freeze 安装程序添加开始菜单快捷方式【英文标题】:Adding start menu shortcuts with cx_Freeze installer for Python 【发布时间】:2013-04-18 21:10:27 【问题描述】:

使用 cx_freeze 制作并测试了我的 .msi 安装程序后,除了从最终用户的角度来看的一个重要部分外,它一切正常:在安装程序期间勾选复选框不能创建开始菜单或桌面快捷方式,也不能创建这些动作中的一些似乎是默认发生的。

但是,通过搜索邮件档案等,我发现它实际上应该默认创建一个开始菜单快捷方式。

有谁知道我是否可以添加到我的setup.py 或其他任何东西来完成这项工作?我不确定这是否仅在我的 PC 上发生,因此如果您可以测试安装程序是否为您创建了快捷方式,这将有所帮助。您可以测试安装程序here。

【问题讨论】:

我不知道单独使用 cx_Freeze 的方法,但是如果您使用 cx_Freeze 准备构建文件夹,您可以使用单独的程序(如 Inno setup)来创建更高级的安装程序。 @Thomas 哦,那太理想了,我认为 Inno 会复杂得多,但创建完整的应用程序安装程序需要几分钟!转发作为答案? 【参考方案1】:

在您的设置脚本中,添加带有所需参数的“shortcutDir”关键字。该参数可以是 DesktopFolder 或 StartupFolder。 “shortcutName”关键字也可用于为快捷方式提供名称。

以下链接也可用作参考,以进一步帮助您解决问题: Use cx-freeze to create an msi that adds a shortcut to the desktop

https://github.com/anthony-tuininga/cx_Freeze/issues/48

【讨论】:

StartupFolder 会将程序添加到启动文件夹中,而不是在开始菜单中。即开始菜单C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup的子菜单在windows启动时加载程序。 改用shortcutDir=ProgramMenuFolder【参考方案2】:

作为答案转发:

我不知道单独使用 cx_Freeze 的方法,但如果您使用 cx_Freeze 准备构建文件夹,则可以使用单独的程序(如 Inno setup)来创建更高级的安装程序。

【讨论】:

以上是关于使用 Python 的 cx_Freeze 安装程序添加开始菜单快捷方式的主要内容,如果未能解决你的问题,请参考以下文章

python 3.6.4安装cx_freeze(cxfreeze)成功过程分享

尝试使用 cx_Freeze 编译时 Python 崩溃

[Python]使用cx_Freeze打包FastApi项目的方法以及遇到的问题

Python 3 + pyQt5 + cx_freeze

记录使用cx_Freeze打包Python成exe可执行程序

win7Python3.4安装cx_freeze