簡體   English   中英

如何使用調整后的設置在 /silent 模式下運行安裝

[英]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。 有時您會看到公司名稱或工具名稱嵌入其中。


所以總結一下:

  1. 如果可能,提取標准包。
  2. 定制標准包。
  3. 重新包裝。
  4. 使用原始 setup.exe 靜默安裝。

讓我們簡要描述這些不同的任務:


文件提取

有很多工具可以創建setup.exe文件,不可能涵蓋所有這些。 它們可能具有各種不同的命令行開關。 setup.exe甚至可以是完全專有的,這意味着根本沒有使用部署工具來制作它。 例如,它可能是使用 Visual Studio 編譯的。

可以使用的工具的描述non-MSIMSIadmin-toolsmulti-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 工具包

此外,還存在一些通用技巧

  1. 啟動 setup.exe並在系統的臨時文件夾中查找提取的文件。
  2. 另一個技巧是使用7-ZipWinRARWinZip或類似的存檔工具來查看它們是否可以讀取 setup.exe 格式。
  3. 有些人通過在 Visual Studio 中打開 setup.exe聲稱成功。 不是我使用的技術。
  4. 查找開關的一般方法是打開命令提示符並轉到setup.exe /? setup.exe /help或類似的。
  5. 還要檢查供應商在線信息和站點,例如https://www.itninja.com/software

關於此主題的龐大答案: 從 EXE 中提取 MSI

如果您設法提取(或文件格式可作為存檔查看),您可以查找帶有進一步部署信息的PDFHTMLTXTCHM文件。 示例: ReadMe.txtLSD.pdfLarge Scale Deployment.pdfUser Guide.chmManual.chm等...


MSI - 定制標准套餐:

因此,如果提取有效並且您提取了MSI文件,那么您可以使用標准化機制詳細自定義其安裝。 請一定要認准上面提到的部署信息的文件- PDFsCHMsTXTsetc...他們可以擁有示例命令行讓你或多或少直接使用。

至關重要的是,您可以提取也需要部署的運行時和先決條件( .NET frameworkCrystal ReportsVisual C++ Runtime etc... )。 這些都是在企業網絡上管理和控制的,不會與您的軟件包一起部署,而是通過它們的標准化軟件包進行部署。

標准化的定制機制非常適合企業部署,但需要一些 MSI 知識:

  • 如何更好地利用 MSI 文件- MSI 安裝定制的全面描述:帶有一些示例命令行和過程描述。

  • MSI 安裝自定義的簡化視圖

    • 在這里你可以看到一些 setup.exe 文件可以通過使用/v參數傳入命令行直接在靜默模式下安裝。 這些是 Installshield MSI 設置。

    • 您還可以查看如何在命令行中設置 MSI 中的功能。

幾個具體示例(從上面的鏈接中提取):

  1. 命令行自定義

     msiexec.exe /i myinstaller.msi ADDLOCAL="Program,Dictionaries" SERIALKEY="1234-1234" /qn

    ADDLOCAL指定要安裝MSI哪些功能(請參閱此處的功能示例屏幕截圖)。 SERIALKEY等大寫值是可以在命令行上設置的 PUBLIC 屬性。 這些因設置而異。 從供應商處查找文檔,檢查屬性表並檢查設置對話框。

  2. 轉變

     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 /? 像你一樣。 通常,您可以通過嘗試以下操作來獲得靜默安裝的設置:

  • 訪問https://www.itninja.com/software以檢查來自社區的開關。
  • 如上所述,查找帶有進一步部署信息的PDFHTMLTXTCHM文件。 示例: ReadMe.txtLSD.pdfLarge Scale Deployment.pdfUser Guide.chmManual.chm等...
  • 常見setup.exe /Ssetup.exe /Qsetup.exe /quietsetup.exe /VERYSILENT /NORESTART或類似的。
  • 舊式 Installshield 設置需要記錄響應文件,然后使用記錄的對話響應在所有系統上進行安裝。

  • 舊的 Wise 設置: https : //www.itninja.com/blog/view/wise-setup-exe-switches


一些鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM