Sccm

靜默解除安裝 Lenovo ThinkVantage System Update

  • May 19, 2015

需要通過 SCCM 2012 推出最新的 Lenovo ThinkVantage System Update (v5.06.0034)。我希望此更新取代所有較低版本,為此我需要靜默解除安裝那些以前的版本。

通常,可以通過使用帶有 /quiet 或 /qn 參數的 TVSU 的 UninstallString 來做到這一點:

MsiExec.exe /X{25C64847-B900-48AD-A164-1B4F9B774650} /qn

從技術上講,這是可行的。但是,Lenovo 安裝程序會詢問使用者是否要在解除安裝後刪除程序文件夾,這需要使用者輸入(是或否)。因此,當以靜默方式啟動解除安裝時,安裝程序將無限期掛起,因為使用者無法與安裝程序進行互動。

有沒有辦法為此安裝程序提供 unattend.xml 或者是否有人知道我可以與聯想的系統更新安裝程序 .exe 一起使用的特定命令開關?

編輯

正如@kce 建議的那樣(謝謝!),我在解除安裝期間調高了 msiexec 的日誌記錄級別。雖然我找不到任何可能通過 msiexec 手動傳遞的屬性,但這是安裝程序創建“刪除文件夾?”對話框的部分,以及如果使用者按下是則呼叫的函式。也許它可以幫助任何人:

MSI (s) (80!84) [10:52:44:046]: Creating MSIHANDLE (77) of type 790531 for thread 3716
InstallShield 10:52:44: Registering Msi Server...
MSI (s) (80!84) [10:52:44:046]: Closing MSIHANDLE (77) of type 790531 for thread 3716
MSI (s) (80!84) [11:03:27:239]: Creating MSIHANDLE (78) of type 790531 for thread 3716
InstallShield 10:52:44: Invoking script function DeleteInstallDir

我沒有進一步解釋這個問題,因為我看到安裝程序 v5.06.0034(最新版本)確實檢查是否安裝了舊版本並正確解除安裝舊版本(文件夾結構和系統資料庫值已清理)。

啊。在 Windows 環境中自動安裝軟體的樂趣。正如您所發現的,SCCM 只能對供應商提供的糟糕安裝程序做這麼多。

在嘗試建構應用程序或軟體包程序時,我的第一站是查看ITNinja,它在戴爾決定購買並重新命名之前曾被稱為 App Deploy。不幸的是, Lenovo ThinkVantage System Update的內容並不多。

如果您獨自一人,您可以嘗試一些一般步驟:

  • 嘗試不同的安裝方法。很多時候,供應商會將他們的應用程序打包為帶有 .EXE 引導程序的 .MSI 安裝程序。有時,如果您可以找到有關 .EXE 的命令開關(如果有)的文件,它們會比直接執行 .MSI 和使用標準化的 .MSI 開關更好。我不知道為什麼…
  • 將日誌記錄調高到 11。將 msiexec 傳遞給/lvx uninstallation.log開關,以便您獲得調試和詳細的日誌記錄資訊。完成安裝程序並在執行此操作時使用 CM32Trace 監視日誌。當您進入對話框要求“是”或“否”按鈕的步驟時,按所需按鈕並查看是否可以在日誌文件中找到可以在通過 SCCM 執行解除安裝程序時傳遞回 msiexec.exe 的屬性。如果您將此 SysInternal 的ProcMon 配對,您可以了解很多關於安裝程序如何以及做什麼的資訊,有時這些資訊足以找出癥結所在。
  • 嘗試社區支持。其他一些可憐的人可能也嘗試過這樣做,通常可以在供應商的社區支持論壇中找到那些漫無目的的求助呼聲。例如,在 Levono 的論壇上的 TVSU 上有一個關於靜默安裝的冗長文章。顯然有一個神奇的咒語,咳咳,我的意思是/verysilent基於 .exe 的安裝程序將接受的安裝程序開關;然而,人們得到的結果似乎不一致。也許它也適用於解除安裝?此外,我的服務台工作人員告訴我,/r/sccm非常有用。
  • 進行就地安裝。如果您要升級軟體,重要的是要測試它是進行就地安裝還是並行安裝。同樣,這裡的行為很大程度上取決於供應商、應用程序和版本。有時該軟體將安裝在現有舊安裝的頂部,有時它會查找自身的所有舊版本並嘗試首先解除安裝它們,而其他時候它會在兩個版本共存的情況下進行並行安裝. 對於執行就地安裝或解除安裝舊版本任務的軟體,讓安裝程序執行它想做的任何瘋狂的事情通常效果更好,而不是使用 SCCM 應用程序取代模型。測試,測試和測試更多。
  • 重新打包供應商的安裝程序。有時你必須建立一個更好的捕鼠器。有諸如Advanced Installer之類的工具可以幫助將軟體重新打包到自定義的 .MSI 安裝程序中。對於供應商提供的安裝程序來說,這也可能是一個不錯的解決方法,儘管很費力。
  • 向您的供應商投訴。我從未見過這項工作,但它確實讓我感覺更好。
  • 放棄並使用 hack。有時,通往勝利的道路是失敗。正如Konrad Gajewski所指出的那樣,有許多應用程序可以自動點擊按鈕,因為作為 SCCM 管理員的生活是荒謬且毫無意義的。

引用自:https://serverfault.com/questions/690550