思琪

我們知道,Windows通過msiexec應(yīng)用程序處理MSI包,msiexec應(yīng)用程序是Windows安裝程序的一部分,它是一個內(nèi)置工具,支持許多命令行開關(guān)。我們可以利用該命令及其相關(guān)的文件提取開關(guān),為MSI文件添加右鍵提取文件的選項。
基于上述程序命令,我們可以通過注冊表編輯器,將該命令以一個Extract選項的形式,添加到MSI文件的右鍵菜單中。具體方法如下:
首先,啟動注冊表編輯器,依次定位到“HKEY CLASSES ROOT\Msi.Package\shell”;然后,在shell下創(chuàng)建一個名為“Extract”的新子項,并將其“(默認)”值改為“提取”(圖2)。
接下來,在Extract項下再新建一個名為Command的子項,并將其“(默認)”值設(shè)為如下命令串(圖3):
msiexec.exe/a“%1”/qb TARGETDIR=“%1Contents”
之后,關(guān)閉注冊表編輯器。在文件資源管理器中右鍵單擊一個MSI包,在右鍵菜單中將會發(fā)現(xiàn)“提取”項目(圖4)。選擇它之后,就會在當(dāng)前文件夾中創(chuàng)建一個新的目錄“包名稱.msi Contents”,其中存儲有提取MSI包的內(nèi)容(圖5)。

如果需要給MSI添加以管理員身份運行的右鍵選項,可以先在注冊表編輯器中定位到上述同一分支,然后右鍵點擊shell,選擇“新建→項”,把新建的項重命名為“runas”。選中runas項,然后在右側(cè)窗口中雙擊“默認”字符串值,在彈出的“編輯字符串”窗口中,把數(shù)值數(shù)據(jù)修改成“以管理員身份運行”,確定(圖6)。接下來,在“runas”項下再新建一個“command”項,將其“默認”字符串值的數(shù)值數(shù)據(jù)修改成“msiexec/i"%1"”(圖7)。最后關(guān)閉注冊表編輯器。
這樣,再在MSI安裝包上點擊右鍵,就會發(fā)現(xiàn)右鍵菜單中已經(jīng)出現(xiàn)“以管理員身份運行”的選項了(圖8)。
上述技巧適用于Windows 10、Windows 8和Windows 7。