在Windows上单独安装/分发Py启动器

2024-05-13 09:22:01 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有一种方法可以只从Python发行版安装Py启动器?在

我正在构建一个Python版本管理工具(一个使用GUI和注册表读取运行安装程序的包装器),但是安装启动器需要我请求管理员权限,我希望避免这种情况。我想做的是将Py启动器与该工具一起发布,所以我只需要在安装期间提升一次,并在以后的“只为我”安装中避免它。在

我尝试过的一种方法是将Python安装程序与我的安装程序一起发布,然后运行

installer.exe /quiet LauncherOnly=1

安装期间。这将正确安装启动器,,但仍将Python版本注册为installed。我知道我可以用

^{pr2}$

但这意味着需要用户交互,这并不理想。在

我挖掘了Python源代码,发现启动程序安装程序是单独构建的,但是没有发现它是单独发布的,只是作为主安装程序的一部分。由于不熟悉visualstudio,我也不知道如何独立构建它。在

有什么建议吗?或者是关于如何解决安装问题的建议,还是如何构建/找到一个独立的Py启动器安装程序?(我知道original project page上有一些二进制文件,但它们已经使用两年多了,将来不太可能收到任何更新。)


Tags: 工具方法py版本权限注册表管理员installer
1条回答
网友
1楼 · 发布于 2024-05-13 09:22:01

简而言之:不,至少目前没有。在

我从stevedower那里得到了关于BPO-31694的确认,当前的安装程序架构使得这不可能。重新审视是可能的,但不太可能在不久的将来发生。在

我的解决办法是完全阻止使用EXE安装程序。安装程序实际上只是多个安装CPython发行版各个部分的msi的包装器。通过直接下载并运行相应的MSI,我成功地安装了Py启动器,而没有CPython发行版。在

MSI位于

https://www.python.org/ftp/python/{version}/{architecture}/launcher.msi
  • version:Python版本,例如3.6.3
  • architecture:要么win32要么amd64

我不认为这些url是公开支持的,但是它们应该对所有当前版本有效,因为它们也被基于web的安装程序使用。在

相关问题 更多 >