2009-12-10

利用 Windows Installer 執行 Silent Uninstall

如何靜默移除(Silent Uninstall)某個軟體?您必須使用一個 Command Line Tool 來做。這個 Command Line Tool 叫做「msiexec.exe」。要作到「Silent」,您必須下達以下的指令:

msiexec.exe /x {Product-Code-In-GUID-Format} /qn

其中:

1. /x:代表「移除」的意思。
2. {Proudct-Code-In-GUID-Format}:這是一組 GUID (Global Unique IDentifier)數字,可以從 Registry Key Database 查到,或者,如果您也可以在「Installation Designer --> General Information」的右半邊畫面,找到「Product Code」這個屬性。寫的時候,請包含左右大括號。一套軟體,一定只有一組獨一無二的「Product Code」,這點在任何情況、任何機器下都不會變。
3. /qn:代表「Silent」或「Without UI」的意思。

至於如何包裝到讓使用者執行這隻程式,不用自行輸入,我想簡單的可以用批次檔(.bat),複雜一點,可以請工程師,撰寫一隻 exe 檔,利用開啟 Command Shell 的方式,將「msiexe.exe /x {您的產品代碼} /qn」這一長串字串,送入 Command Shell 去執行就可以了。各種程式語言(C / C++ / VB / Java / ...)開啟 Command Shell 的方式都不太一樣,您可以自行選擇喜歡的程式語言去找到相對應的方法。

沒有留言: