有没有办法从Python发行版安装Py启动器,仅此而已?
我正在构建一个Python版本管理工具(使用GUI和注册表读取运行安装程序的包装器),但安装启动器需要我请求管理员权限,我想避免。我想要做的是使用该工具运送Py启动器,因此我只需要在安装过程中提升一次,并在以后完全避免它与我的安装。
我尝试过的一种方法是使用我的安装程序发布Python安装程序,然后运行
installer.exe /quiet LauncherOnly=1
在安装过程中。这会正确安装启动器,但仍会将Python版本注册为已安装。我知道我可以用
删除它installer.exe /uninstall
但这意味着需要用户互动,这不太理想。
我挖掘了Python源代码,发现启动程序安装程序是单独构建的,但是找不到它是单独分发的,只是作为主安装程序的一部分。不熟悉Visual Studio,我也无法弄清楚如何独立构建它。
有什么建议我可以继续吗?有关如何解决安装问题的指针,或者我如何构建/查找独立的Py启动程序安装程序? (我知道original project page上有一些二进制文件,但它们已超过两年了,将来不太可能收到任何更新。)
答案 0 :(得分:0)
简短回答:不,至少现在没有。
我得到了Steve Dower在BPO-31694上的确认,当前的安装程序架构使得这一点变得不可能。重新构建是可能的,但不太可能在不久的将来不会发生。
我的解决方法是完全避免使用EXE安装程序。安装程序实际上只是安装CPython发行版各个部分的多个MSI的包装器。我通过直接下载并运行相应的MSI,成功安装了没有CPython发行版的Py Launcher。
可以在
找到MSIhttps://www.python.org/ftp/python/{version}/{architecture}/launcher.msi
version
:Python版本,例如3.6.3
architecture
:win32
或amd64
我认为URL不是公开支持的,但它们应该对所有当前版本都有效,因为它们也被基于Web的安装程序使用。