单独在Windows上安装/分发Py Launcher

时间:2017-10-04 18:40:55

标签: python windows

有没有办法从Python发行版安装Py启动器,仅此而已?

我正在构建一个Python版本管理工具(使用GUI和注册表读取运行安装程序的包装器),但安装启动器需要我请求管理员权限,我想避免。我想要做的是使用该工具运送Py启动器,因此我只需要在安装过程中提升一次,并在以后完全避免它与我的安装。

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

installer.exe /quiet LauncherOnly=1

在安装过程中。这会正确安装启动器,但仍会将Python版本注册为已安装。我知道我可以用

删除它
installer.exe /uninstall

但这意味着需要用户互动,这不太理想。

我挖掘了Python源代码,发现启动程序安装程序是单独构建的,但是找不到它是单独分发的,只是作为主安装程序的一部分。不熟悉Visual Studio,我也无法弄清楚如何独立构建它。

有什么建议我可以继续吗?有关如何解决安装问题的指针,或者我如何构建/查找独立的Py启动程序安装程序? (我知道original project page上有一些二进制文件,但它们已超过两年了,将来不太可能收到任何更新。)

1 个答案:

答案 0 :(得分:0)

简短回答:不,至少现在没有。

我得到了Steve Dower在BPO-31694上的确认,当前的安装程序架构使得这一点变得不可能。重新构建是可能的,但不太可能在不久的将来不会发生。

我的解决方法是完全避免使用EXE安装程序。安装程序实际上只是安装CPython发行版各个部分的多个MSI的包装器。我通过直接下载并运行相应的MSI,成功安装了没有CPython发行版的Py Launcher。

可以在

找到MSI
https://www.python.org/ftp/python/{version}/{architecture}/launcher.msi
  • version:Python版本,例如3.6.3
  • architecturewin32amd64

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