如果在運行MSI格式的安裝包時,出現(xiàn)安裝異常的情況,首先需要確定您是否擁有足夠的權(quán)限。如果以管理員身份登錄,就不存在權(quán)限問題。可以先卸載Windows Installer服務(wù),在CMD窗口中執(zhí)行“msiexec /unregserver”命令即可。然后運行命令“msiexec/regserver”,來重新注冊該服務(wù)。一般情況下,可以解決大多數(shù)的Windows Installer安裝故障。對于Windows 7等系統(tǒng)來說,可以在開始菜單中的搜索欄中輸入“cmd”,在搜索列表中右擊找到的“cmd.exe”程序,在彈出菜單中選擇“以管理員身份運行”項,之后在命令提示符窗口中執(zhí)行“regsvr32 msi.dll”命令,當(dāng) 出 現(xiàn)“DLLRegisterServer在msi.dll已成功”的提示信息后,說明已經(jīng)成功注冊Windows Installer程序。
如果問題還沒有解決,很有可能是Windows Installer組件中的某些文件損壞了。對于Windows XP來說,可以重新安裝該組件。先在控制面板中運行“添加或刪除程序”項,在安裝列表中會發(fā)現(xiàn)“Windows Installer 3.1”或者“Windows Installer 4.5”等安裝包,必須將其卸載。然后重裝該組件,之后在CMD窗口中運行命令“msiexec /regserver”命令,來注冊該組件。對于Windows 7等新系統(tǒng)來說,微軟并沒有提供獨立的Windows Installer安裝包,只能使用Windows 7的安裝盤對系統(tǒng)進(jìn)行一次升級安裝操作,就可以修復(fù)損壞的系統(tǒng)文件。
在Windows 7中提供了Applocker組件,如果使用不當(dāng),會造成MSI格式的安裝包無法運行的情況。AppLocker是Windows 7擁有的一項特殊的安全功能,可以限制可執(zhí)行文件、Windows Installer安裝程序和腳本的運行。如果啟用了該功能,當(dāng)安裝軟件時,系統(tǒng)會出現(xiàn)“系統(tǒng)管理員設(shè)置了系統(tǒng)策略,禁止進(jìn)行此安裝”的提示。
解決方法是,以管理員身份登錄系統(tǒng),運行“gpedit.msc”程序,在組策略窗口左側(cè)點擊“計算機(jī)配置→Windows設(shè)置→安全設(shè)置→應(yīng)用程序控制→AppLocker→Windows安裝程序規(guī)則”分支,在窗口右側(cè)顯示已經(jīng)存在限制策略,選中和Windows Installer相關(guān)的策略,在其右鍵菜單中點擊“刪除”項,將其刪除即可。在窗口左側(cè)選擇“Applocker”項,在窗口右側(cè)雙擊“配置規(guī)則強(qiáng)制”項,在彈出窗口中取消“Windows Installer規(guī)則”欄下的“已配置”項的選擇狀態(tài),讓其對Windows Installer管理的安裝程序放行。
為了簡單起見,也可以使用MSI文件安裝失敗解決助手,來快速解決上述故障。該工具使用方法極為簡單,在其主界面中點擊“解決它”按鈕,就可以對注冊表相關(guān)內(nèi)容進(jìn)行合適的修改,讓修復(fù)操作邊的簡單易行。下載地址:http://www.xdowns.com/soft/6/56/2011/Soft_79618.html。
當(dāng)運行某些EXE格式的安裝包時,系統(tǒng)會彈出錯誤提示窗口。仔細(xì)觀察該安裝包就會發(fā)現(xiàn),里面其實包含后綴為“.msi”的文件,而該EXE文件僅僅是一個外殼而已。將該MSI文件直接提取出來,往往可以順利運行。這里推薦使用7-ZIP這款精悍的解壓縮工具,來執(zhí)行文件提取操作。在目標(biāo)EXE安裝文件的右鍵菜單上點擊“7-ZIP→用7-ZIP打開”項,可以進(jìn)入該EXE安裝包內(nèi)部,選擇所需的MSI文件,點擊7-ZIP主界面工具欄上的“釋放”按鈕,將其提取出來,之后運行該MSI文件,就可以順利安裝該軟件了。
有時當(dāng)運行某軟件的升級包時,安裝程序會提示您先移除舊的版本,但是點擊確定按鈕后,系統(tǒng)會彈出帶有叉號的提示框,顯示“Error!! The product definiation file lost”信 息,翻譯過來就會產(chǎn)品文件丟失的意思,造成軟件無法升級。在控制面板中運行“添加或卸載程序”項,直接卸載該舊版本軟件,會出現(xiàn)同樣的問題。從提示信息字面上理解,說明某些文件丟失了。其實,打開對應(yīng)的升級包,會發(fā)現(xiàn)其中包含一個后綴為“.msi”的文件,當(dāng)執(zhí)行升級安裝操作時該文件會自動被復(fù)制到“C:WinodwsInstaller”文件夾中,所以很可能是這個MSI文件被殺毒軟件或者清理軟件誤刪的緣故,才導(dǎo)致安裝失敗的情況。
我們可以使用WinRAR等工具將該“.msi”文件從升級包中解壓出來,在其右鍵菜單上點擊“卸載”項,稍后就可以順利卸載舊版本的軟件了。之后重新運行該升級包,就可以順利完成安裝操作了。順便說一下,盡量不要使用軟件管家之類的工具面對目標(biāo)程序執(zhí)行強(qiáng)力卸載操作。這很容造成軟件升級安裝失敗的情況。
如果您不小心誤刪了“C:WindowsInstaller” 文件夾,就會導(dǎo)致各種奇怪問題的發(fā)生。該文件夾默認(rèn)處于隱藏狀態(tài)。因為該文件夾中保存了所有基于Windows Install服務(wù)安裝的程序信息。例如對于常用的Office組件來說,如果誤刪該文件夾,就會造成無法順利對Office進(jìn)行安裝、修復(fù)、配置、刪除等操作。使用者不得不手工刪除Office安裝文件夾,在注冊表中手工清除相關(guān)的項目,甚至不得不重裝系統(tǒng)等。
為此,可以使用微軟提供 的Program Install &Uninstall這款小工具,來安全穩(wěn)妥地清理“C:WindowsInstaller”文件夾。在瀏覽器中打開網(wǎng)址“http://support.microsoft.com/mats/program_install_and_uninstall”,在彈出頁面中點擊“要在其他或斷開的計算機(jī)上運行的高級下載功能”項,在擴(kuò)展面板中點擊“下載”按鈕,將“MicrosoftFixit-portable.exe”程序下載到本機(jī)中。運行該程序,選擇下載路徑后,就可以完整地運行文件下載到本機(jī)中。之后在指定位置打開“Fix it portable”文件夾,運行其中的“Launch Fix it.exe”程序,來啟動上述工具。在其主界面中選擇“檢測問題并允許我選擇要應(yīng)用的修補(bǔ)程序”項,之后可以對安裝文件夾進(jìn)行安全掃描和清理操作了。
現(xiàn)在很多程序都需要依靠微軟提供的.NET Framework組件,才可以正常安裝和運行。.Net Framework組件是不斷更新的,但有時安裝或者更新.Net Framework組件時,會彈出“無法安裝某些更新”或“.NET Framework更新失敗”之類的提示。解決該故障的方法是,先卸載原有的.NET Framework組件,然后重裝該組件即可。
在控制面板中運行“添加或刪除程序”項,在安裝列表中找到并卸載原先安裝的.NET Framework組件。然后重啟系統(tǒng)。下載Windows Installer清理實用程序包,運行其中的“msicuu2.exe”程序,完成該工具的安裝操作,之后在開始程序菜單中運行“Windows Install Clean Up”項,在清理界面(如圖1)中選擇與.NET Framework相關(guān)的項目,點擊“Remove”按鈕,將這些與.NET Framework組件相關(guān)的MSI數(shù)據(jù)庫狀態(tài)數(shù)據(jù)清除,之后重啟系統(tǒng),再安裝所需的.NET Framework安裝包,就可以順利安裝完成了。當(dāng)然,該清理工具不僅可以用來清除與.NET Framework組件相關(guān)的垃圾數(shù)據(jù),也可以卸載和微軟相關(guān)的軟件。下載地址:http://download.pchome.net/system/uninstall/down-22755-1.html。

圖1 徹底卸載.NET Framework組
在Windows 8中,用戶可以通過應(yīng)用商店安裝各種軟件。但是,有時會出現(xiàn)無法安裝應(yīng)用的情形。一般來說,在Windows 8主界面打開“應(yīng)用商店”程序,將鼠標(biāo)指針移動到屏幕右上角,當(dāng)向下移動鼠標(biāo)時,在彈出的面板中點擊“設(shè)置”項,在設(shè)置欄中點擊“應(yīng)用更新”項,在“應(yīng)用更新”頁面中點擊“同步許可證”按鈕,就可以有效解決上述問題了。此外,Windows 8應(yīng)用文件實際上存放在一個名為“SoftwareDistribution”的文件夾中,一旦其中的文件出現(xiàn)問題,也容易造成上述故障的發(fā)生。
進(jìn) 入“C:WindowsSoftwareDistributionDownload”文件夾,將其中的所有文件全部刪除。如果系統(tǒng)彈出無法刪除的提示窗口,可以選擇“為所有當(dāng)前項執(zhí)行此操作”項,點擊“跳過”按鈕,讓刪除操作得以順利進(jìn)行。因為應(yīng)用商店和Windows Update服務(wù)存在一定的關(guān)聯(lián),所以也可以點擊“Win+R”鍵,運行“Services.msc” 程 序,在 Windows Update服務(wù)的右鍵菜單上點擊“停止”項,來禁用該服務(wù)。之后對“C:WindowsSoftwareDistribution” 文件夾進(jìn)行更名處理,然后在Windows Update服務(wù)的右鍵菜單上點擊“啟動”項,恢復(fù)該服務(wù)的正常狀態(tài)。
如果以上方法無法解決問題,說明系統(tǒng)的完整性遭到了破壞。應(yīng)對方法是點擊“Win+X”鍵,在彈出菜單中點擊“命令提示符(管理員)”項,在CMD窗口中執(zhí)行“sfc /scannow”命令,對系統(tǒng)進(jìn)行完整性掃描,來發(fā)現(xiàn)受損的文件,然后根據(jù)提示選擇安裝盤執(zhí)行文件修復(fù)處理。因為有時候安裝的防火墻或者殺軟,也可能對應(yīng)用商店的運行造成影響,例如將原本正常的應(yīng)用錯誤的當(dāng)作可疑程序進(jìn)行攔截等。運行“Services.msc”程序,在服務(wù)列表中查看系統(tǒng)自帶
的防火墻或者第三方防火墻服務(wù)項目是否處于啟動狀態(tài),如果是的話進(jìn)入控制面板,打開防火墻設(shè)置程序,關(guān)閉系統(tǒng)或者第三方防火墻。同時關(guān)閉殺軟或者其他安全軟件,來檢測是否可以順利安裝原本受阻的應(yīng)用。
如果以上方法均無效,就只有將系統(tǒng)恢復(fù)到之前正常的狀態(tài),來徹底解決問題了。如果之前創(chuàng)建過系統(tǒng)還原點,可以運行“Rstrui.exe”程序啟動系統(tǒng)還原,在其中選擇之前創(chuàng)建的還原點,來快速恢復(fù)系統(tǒng)活力。也可以將鼠標(biāo)移動到屏幕右上角,并向下移動,在彈出的界面中點擊“設(shè)置”項,在設(shè)置面板中點擊“更改電腦設(shè)置”項,在彈出窗口左側(cè)點擊“恢復(fù)”項,在右側(cè)窗口中的“恢復(fù)電腦而不影響您的文件”欄下點擊“開始”按鈕,就可以將系統(tǒng)恢復(fù)如初。這樣,就可以徹底解決上述問題了。

圖2 Advanced Install主界面
有時在安裝軟件時,會遇到在這臺主機(jī)上可以順利安裝,而在另外一臺電腦上安裝失敗的情況。如果可以在正常主機(jī)上捕獲安裝數(shù)據(jù),并將其制作成MSI安裝文件,然后在出現(xiàn)問題的主機(jī)上執(zhí)行安裝操作,往往可以簡單快捷地完成安裝操作。使用Advanced Install這款軟件,就可以創(chuàng)建自己的MSI安裝程序。下載地址:http://www.pc6.com/softview/SoftView_23032.html。
MSI安裝格式對系統(tǒng)沒有任何損壞,使用起來更加靈活。即使在中途安裝出現(xiàn)異常,也會將系統(tǒng)恢復(fù)到之前的狀態(tài),這比Setup.exe之類的安裝包更加可靠安全。在Advanced Install主界面(如圖2)依次點擊“新建→導(dǎo)入→Package Installation”項,點擊窗口右下角的“Create Project”按鈕,在彈出向?qū)Т翱谥羞x擇“將這臺計算機(jī)上的應(yīng)用程序重新打包”項,在下一步窗口中的“程序路徑”欄中點擊瀏覽按鈕,選擇目標(biāo)程序。連續(xù)點擊下一步按鈕,Advanced Install開始對當(dāng)前系統(tǒng)進(jìn)行掃描,創(chuàng)建第一個系統(tǒng)快照。即Advanced Install會對系統(tǒng)文件和注冊表信息進(jìn)行掃描分析,來記錄當(dāng)前系統(tǒng)的狀態(tài)信息。
之后Advanced Install運行選擇的程序,執(zhí)行該程序的安裝操作,當(dāng)安裝完畢后,Advanced Install會對系統(tǒng)進(jìn)行第二次掃描,來創(chuàng)建第二個系統(tǒng)快照。點擊完成按鈕,Advanced Install通過對兩個系統(tǒng)快照項目進(jìn)行比對分析,來發(fā)現(xiàn)該安裝軟件對系統(tǒng)所做的所有更改,將其全部文件和配置信息提取出來。在Advanced Install主界面左側(cè)點擊“產(chǎn)品詳細(xì)信息”項,在右側(cè)輸入該安裝包的相關(guān)信息。在窗口左側(cè)點擊“安裝參數(shù)”項,在右側(cè)窗口勾選“限于基本用戶界面”項,可以在安裝時不顯示復(fù)雜的界面,實現(xiàn)簡單快速的安裝操作。點擊菜單“項目→構(gòu)建”項(或者點擊F7鍵),就可以得到所需的MSI安裝包了。