思琪
我們知道,Windows通過(guò)msiexec應(yīng)用程序處理MSI包,msiexec應(yīng)用程序是Windows安裝程序的一部分,它是一個(gè)內(nèi)置工具,支持許多命令行開(kāi)關(guān)。我們可以利用該命令及其相關(guān)的文件提取開(kāi)關(guān),為MSI文件添加右鍵提取文件的選項(xiàng)。
基于上述程序命令,我們可以通過(guò)注冊(cè)表編輯器,將該命令以一個(gè)Extract選項(xiàng)的形式,添加到MSI文件的右鍵菜單中。具體方法如下:
首先,啟動(dòng)注冊(cè)表編輯器,依次定位到“HKEY CLASSES ROOT\Msi.Package\shell”;然后,在shell下創(chuàng)建一個(gè)名為“Extract”的新子項(xiàng),并將其“(默認(rèn))”值改為“提取”(圖2)。
接下來(lái),在Extract項(xiàng)下再新建一個(gè)名為Command的子項(xiàng),并將其“(默認(rèn))”值設(shè)為如下命令串(圖3):
msiexec.exe/a“%1”/qb TARGETDIR=“%1Contents”
之后,關(guān)閉注冊(cè)表編輯器。在文件資源管理器中右鍵單擊一個(gè)MSI包,在右鍵菜單中將會(huì)發(fā)現(xiàn)“提取”項(xiàng)目(圖4)。選擇它之后,就會(huì)在當(dāng)前文件夾中創(chuàng)建一個(gè)新的目錄“包名稱(chēng).msi Contents”,其中存儲(chǔ)有提取MSI包的內(nèi)容(圖5)。
如果需要給MSI添加以管理員身份運(yùn)行的右鍵選項(xiàng),可以先在注冊(cè)表編輯器中定位到上述同一分支,然后右鍵點(diǎn)擊shell,選擇“新建→項(xiàng)”,把新建的項(xiàng)重命名為“runas”。選中runas項(xiàng),然后在右側(cè)窗口中雙擊“默認(rèn)”字符串值,在彈出的“編輯字符串”窗口中,把數(shù)值數(shù)據(jù)修改成“以管理員身份運(yùn)行”,確定(圖6)。接下來(lái),在“runas”項(xiàng)下再新建一個(gè)“command”項(xiàng),將其“默認(rèn)”字符串值的數(shù)值數(shù)據(jù)修改成“msiexec/i"%1"”(圖7)。最后關(guān)閉注冊(cè)表編輯器。
這樣,再在MSI安裝包上點(diǎn)擊右鍵,就會(huì)發(fā)現(xiàn)右鍵菜單中已經(jīng)出現(xiàn)“以管理員身份運(yùn)行”的選項(xiàng)了(圖8)。
上述技巧適用于Windows 10、Windows 8和Windows 7。