1. 程式人生 > 其它 >Windows快捷安裝應用方法(此處以Virtualbox為例)

Windows快捷安裝應用方法(此處以Virtualbox為例)

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