Windows快捷安裝應用方法(此處以Virtualbox為例)
阿新 • • 發佈:2022-05-28
1.執行已下載的virtualbox的安裝exe檔案,使用pywinauto模擬點選Windows安裝的對應控制元件
1.1.啟動exe檔案
start *.exe
1.2.使用pywinauto(也適用於桌面端控制元件的自動化)
1.2.1.pywinauto安裝
pip3 install pywinauto
1.2.2.例項
from pywinauto.application import Application import os, time VIRTUALBOX_PATH = os.path.join(os.path.dirname(__file__), "VirtualBox-6.1.32-149290-Win.exe") WINDOWS_SETTING_TITLE = "Oracle VM VirtualBox 6.1.32 設定" WINDOWS_INSTALL_TITLE = "Oracle VM VirtualBox 6.1.32 " # 防止出現請求的操作需要提升的許可權問題 os.environ.update({"__COMPAT_LAYER":"RUnAsInvoker"}) app = Application(backend="win32").start(VIRTUALBOX_PATH) app.window(title=WINDOWS_SETTING_TITLE).wait('visible') print(app) time.sleep(3) print(app.window(title=WINDOWS_SETTING_TITLE)) # 輸出當前頁面的所有屬性(一般可以通過這個來獲取按鈕及文字) print(app.window(title=WINDOWS_SETTING_TITLE).print_control_identifiers()) # 點選下一步 print(app.window(title=WINDOWS_SETTING_TITLE).wrapper_object()) app.window(title=WINDOWS_SETTING_TITLE).child_window(title="下一步(&N) >", class_name="Button").click() time.sleep(3) app.window(title=WINDOWS_SETTING_TITLE).child_window(title="下一步(&N) >", class_name="Button").click() time.sleep(3) app.window(title=WINDOWS_SETTING_TITLE).child_window(title="下一步(&N) >", class_name="Button").click() time.sleep(3) print(app.window(title=WINDOWS_INSTALL_TITLE).print_control_identifiers()) app.window(title=WINDOWS_INSTALL_TITLE).child_window(title="是(&Y)", class_name="Button").click() print(app.window(title=WINDOWS_SETTING_TITLE).print_control_identifiers()) app.window(title=WINDOWS_SETTING_TITLE).child_window(title="安裝(&I)", class_name="Button").click()
2.使用Chocolatey包管理工具,需要首先安裝Chocolatey,需要在cmd管理員許可權下執行命令才可執行,且安裝時需要聯網下載virtualbox,耗時較長, choco install virtualbox
2.1.安裝choco包管理工具(需要管理員許可權)
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
2.2.安裝軟體
choco install virtualbox -y
3.一般Windows會自帶子系統,需要手動開啟,需要到Windows商店手動下載對應ubuntu系統(不建議)
4.使用微軟自帶的msi命令執行安裝程式(需要管理員許可權)
4.1.解壓exe出現msi檔案
*.exe /extract:目錄
可不加目錄,預設會到使用者/
4.2.無介面預設安裝
msiexec /i VirtualBox-6.1.32-r149290.msi /qn /l*v msiexec_log.txt ALLUSERS=1
5. 使用win10、win11的winget直接安裝程式:
5.1:直接安裝(需聯網,不需要管理員許可權)
winget install VirtualBox --accept-package-agreements --accept-source-agreements
5.2:使用匯入mainfest檔案安裝本地檔案(需要管理員許可權)
需預先執行winget settings --enable LocalManifestFiles開啟許可權
winget install -m