[英]How to run powershell script using task scheduler in silent/hidden mode?
[英]How to run an installation in /silent mode with adjusted settings
我的目標:我想創建一個 CMD 命令,它將安裝一個具有調整安裝設置的程序。
如果我在沒有任何參數的情況下執行我的.exe
安裝文件,我必須在安裝過程中單擊自己,但我可以更改安裝設置,例如安裝程序將在哪個文件夾中安裝程序或更改復選框的狀態。
但是,我想在 /silent 模式下運行安裝,在這種模式下我不知道如何更改安裝設置。
所以問題是:
反正有沒有給shell一個正確的安裝設置,然后在靜默模式下執行文件?
我需要這個,因為我必須在多台計算機上運行安裝,所以如果我有一個使用正確設置運行安裝的腳本會非常舒服。
有人請指導。
社區:我稍后會詳細說明,但首先讓我們做最簡單的方法。 您可以嘗試在專門提供設置信息以及如何靜默部署各種第三方軟件的站點上搜索您的軟件: https : //www.itninja.com/software
類似的,更簡潔的答案: Windows 上帶有參數的靜默運行安裝程序 (.exe)
1) 標准打包格式:如果setup.exe
打包了一個標准的打包格式,比如MSI
文件,那么你通常需要找到一種方法來提取里面的包並使用涉及命令行和 MSI 轉換的standardized customization mechanisms
來定制它的靜默安裝.
2) 專有打包格式:如果setup.exe
是專有格式,您需要使用工具將其repackage
為標准格式 (MSI),或者您需要以silent mode
運行安裝程序。 后者可能不可靠,但通常用於小規模分發。
外觀和感覺:通過查看運行時的對話框,經驗可以告訴您使用什么工具來制作 setup.exe。 有時您會看到公司名稱或工具名稱嵌入其中。
所以總結一下:
讓我們簡要描述這些不同的任務:
有很多工具可以創建setup.exe
文件,不可能涵蓋所有這些。 它們可能具有各種不同的命令行開關。 setup.exe
甚至可以是完全專有的,這意味着根本沒有使用部署工具來制作它。 例如,它可能是使用 Visual Studio 編譯的。
可以使用的工具的描述(non-MSI
、 MSI
、 admin-tools
、 multi-platform
等...)。
Inno Setup
等常用工具似乎使提取變得困難(非官方解包器,我沒有嘗試過,由virustotal運行)。 而NSIS
似乎使用標准存檔軟件(如 7-Zip)可以打開的常規存檔。
我嘗試使用以下命令行來查看是否可以進行文件提取:
setup.exe /a
(Installshield MSI)setup.exe /stage_only
(Installshield Suite)setup.exe /x
(Wise, Advanced Installer)setup.exe /extract_all
(Installshield Installscript)dark.exe -x outputfolder Setup.exe
(WiX Burn Bundles -需要安裝 WiX 工具包)此外,還存在一些通用技巧:
setup.exe /?
或setup.exe /help
或類似的。關於此主題的龐大答案: 從 EXE 中提取 MSI 。
如果您設法提取(或文件格式可作為存檔查看),您可以查找帶有進一步部署信息的PDF 、 HTML 、 TXT或CHM文件。 示例: ReadMe.txt
、 LSD.pdf
、 Large Scale Deployment.pdf
、 User Guide.chm
、 Manual.chm
等...
因此,如果提取有效並且您提取了MSI
文件,那么您可以使用標准化機制詳細自定義其安裝。 請一定要認准上面提到的部署信息的文件- PDFs
, CHMs
, TXTs
, etc...
他們可以擁有示例命令行讓你或多或少直接使用。
至關重要的是,您可以提取也需要部署的運行時和先決條件( .NET framework
、 Crystal Reports
、 Visual C++ Runtime
etc...
)。 這些都是在企業網絡上管理和控制的,不會與您的軟件包一起部署,而是通過它們的標准化軟件包進行部署。
標准化的定制機制非常適合企業部署,但需要一些 MSI 知識:
如何更好地利用 MSI 文件- MSI 安裝定制的全面描述:帶有一些示例命令行和過程描述。
在這里你可以看到一些 setup.exe 文件可以通過使用/v
參數傳入命令行直接在靜默模式下安裝。 這些是 Installshield MSI 設置。
您還可以查看如何在命令行中設置 MSI 中的功能。
幾個具體示例(從上面的鏈接中提取):
命令行自定義
msiexec.exe /i myinstaller.msi ADDLOCAL="Program,Dictionaries" SERIALKEY="1234-1234" /qn
ADDLOCAL
指定要安裝MSI
哪些功能(請參閱此處的功能示例屏幕截圖)。 SERIALKEY
等大寫值是可以在命令行上設置的 PUBLIC 屬性。 這些因設置而異。 從供應商處查找文檔,檢查屬性表並檢查設置對話框。
轉變
msiexec.exe /i myinstaller.msi TRANSFORMS="mytransform.mst" /qn
轉換方法在安裝時應用的小文件中設置所有需要的值。 它被稱為變換。 它是一個小的數據庫片段,在運行時與原始 MSI 數據庫合並。
從舊式的舊 setup.exe 安裝程序創建 MSI 包的一種方法是使用應用程序重新打包工具“捕獲”對系統所做的更改,該工具在 setup.exe 運行時監視對系統所做的更改.
這項任務可能看起來很容易,但事實並非如此。 事實上,清理生成的捕獲非常困難,因此您不會創建“松散的大炮”MSI 文件,這些文件會導致整個組織的桌面出現問題。 公司有專門的團隊來完成這項工作,並且可以產生出色的 MSI 文件,在靜默安裝時不會導致任何問題。
在我看來,這項任務不適合因果用戶。 它需要對技術、專業知識和時間進行投資。 除了可用的工具是昂貴的。
大多數 setup.exe 文件至少會嘗試靜默安裝,但不能保證。 setup.exe 完全有可能無法靜默安裝。 我已經看過很多次了。 在這些情況下,重新打包是必要的,但即使重新打包有時也會失敗。 現在是時候回擊供應商並要求他們掌握部署。 在企業界,軟件應該首先被踢出應用程序資產 - 如果事情按預期進行。
這是一個處理各種 setup.exe 文件靜默安裝整體問題的舊站點: http : //unattended.sourceforge.net/installers.php 。
這是關於靜默卸載的一篇文章,它也描述了一般的靜默運行: 在我的電腦上靜默卸載和安裝應用程序
查找此類開關的一般方法是轉到setup.exe /?
像你一樣。 通常,您可以通過嘗試以下操作來獲得靜默安裝的設置:
PDF
、 HTML
、 TXT
或CHM
文件。 示例: ReadMe.txt
、 LSD.pdf
、 Large Scale Deployment.pdf
、 User Guide.chm
、 Manual.chm
等...setup.exe /S
、 setup.exe /Q
、 setup.exe /quiet
、 setup.exe /VERYSILENT /NORESTART
或類似的。舊式 Installshield 設置需要記錄響應文件,然后使用記錄的對話響應在所有系統上進行安裝。
Setup.exe /s /f1”c:\\temp\\my-answer-file.iss” /f2”c:\\temp\\my-log-file.iss”
舊的 Wise 設置: https : //www.itninja.com/blog/view/wise-setup-exe-switches
一些鏈接:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.