[英]How can I use powershell to run through an installer?
我正在嘗試安裝一個軟件,該軟件在手動完成時具有配置選項,您可以在整個過程中進行選擇。 我試圖找到一種使用Powershell自動執行此操作的方法,但對於如何設置這些配置選項卻一無所知。 我相信我需要在安裝程序.exe上運行start-process命令,但我不知道從那里去哪里。 我可以使用start-process命令上的參數來傳遞所需的配置嗎?
更新 :指向底部的一些鏈接,其中包含有關如何處理setup.exe
文件的安裝 , 配置和文件提取的信息。
更新 :請參閱github.com上的Windows Installer PowerShell模塊 (向下滾動以獲取描述,使用releases選項卡進行下載 )。 我還沒有真正測試過它,但是它來自Heath Stewart-微軟高級軟件工程師( github )。
我快速查找了該安裝程序,但發現並不容易。 本質上,安裝程序是Windows Installer數據庫(MSI)或其他某種文件 -通常是某種setup.exe 。 MSI數據庫也可以包裝在setup.exe中。
您應該意識到,對於舊式安裝程序而言,進行大規模部署的常見做法是使用應用程序重新打包工具捕獲舊式安裝程序 ,然后編譯MSI文件以用於安裝(有效地將安裝程序從舊格式轉換為現代MSI格式)。 這是一項專業任務,需要充分了解Windows和設置。 對於大型軟件發行版,通常在大型公司中完成。 如果您在一家大公司中,可能會有一個專門負責包裝軟件的團隊,就像您提到的那樣 。 也許與您的管理層核對一下。 如果設置是MSI,則同一團隊也可以根據您的要求為您修改。
關於您的安裝程序EXE 。 嘗試從命令行運行setup.exe /a
,看看是否可以將文件解壓縮到“網絡安裝點”(管理安裝)。 然后,您要處理包含在setup.exe中的MSI文件。 如果這樣不起作用,您也可以嘗試setup.exe /x
或setup.exe /extract
。
Windows Installer具有內置功能,可讓您通過在命令行中設置的PUBLIC屬性 (大寫)或通過轉換 (Windows Installer的機制將實質性更改應用於供應商文件的機制)進行自定義安裝-這是一個部分數據庫在運行時從供應商應用於安裝數據庫)。
非MSI傳統安裝程序技術通常缺少可靠的方式來自定義安裝設置,並且在安裝時它們往往是臨時的。 特別是,靜默運行和卸載可能是缺少或執行不佳的功能。 這些安裝程序通常都以EXE格式打包,並且有許多用於生成它們的工具-每個工具都有自己的怪癖和功能。
換句話說,這完全取決於安裝程序的實現方式。 嘗試執行setup.exe /a
,並為我們提供新信息來更新您的答案(不要添加過多評論-我們將進行檢查)。
關於使用PowerShell 。 到目前為止,我還沒有使用PowerShell進行部署。 這是有關如何使用PowerShell安裝的基本描述: https : //kevinmarquette.github.io/2016-10-21-powershell-installing-msi-files/
您也可以從PowerShell調用MSI文件的自動化功能,我認為這與您的要求無關,但是這里有一個用於修改轉換文件的快速鏈接: http : //www.itninja.com/question/ps-如何編輯mst文件 。
安裝MSI文件的通常方法是通過Window的內置msiexec.exe命令行。 安裝軟件的基本msiexec.exe命令行為 :
msiexec.exe /I "C:\Your.msi" /QN /L*V "C:\msilog.log" TRANSFORMS="C:\1031.mst;C:\My.mst"
快速參數說明:
/I = run install sequence
/QN = run completely silently
/L*V "C:\msilog.log" = verbose logging
TRANSFORMS="C:\1031.mst;C:\My.mst" = Apply transforms 1031.mst and My.mst (see below).
什么是轉換? 在這里解釋: 如何更好地利用MSI文件 。
Advanced Installer在msiexec.exe命令行上有一個常規頁面。 這是Microsoft在MSDN上的msiexec.exe文檔 。
一些鏈接:
setup.exe /x
或setup.exe /extract
。 有關完整列表,請參見鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.