2017-10-04 28 views
1

有沒有辦法從Python發行版安裝Py啓動器,僅此而已?在Windows上安裝/分發Py啓動器單獨

我正在構建一個Python版本管理工具(一個包含GUI和註冊表讀取的運行安裝程序的包裝器),但安裝啓動程序需要我請求管理員特權,這是我想避免的。我想要做的就是用這個工具發運Py發射器,所以我只需要在安裝過程中提升一次,稍後完全避免它隨着我的安裝。

一種方法我試過是運送一個Python安裝我的安裝程序,安裝過程中運行

installer.exe /quiet LauncherOnly=1 

。這會正確安裝啓動器,但仍會註冊爲安裝的Python版本。我知道我可以刪除它

installer.exe /uninstall 

但這意味着用戶交互將是必需的,這是不理想的。

我挖掘了Python源代碼,發現啓動程序安裝程序是單獨構建的,但無法單獨分發,只能作爲主安裝程序的一部分。不熟悉Visual Studio,我無法弄清楚如何獨立構建它。

任何建議我可以如何繼續?要麼是關於如何解決安裝問題的指針,要麼是我如何構建/查找獨立的Py啓動程序安裝程序? (我知道在original project page上有一些二進制文件,但它們已超過兩年,未來不太可能收到任何更新。)

回答

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
  • architecture:要麼win32amd64

我不認爲URL是公開支持,但由於它們是通過基於Web的安裝使用,也應該是適用於所有當前版本。