如果在運(yùn)行MSI格式的安裝包時(shí),出現(xiàn)安裝異常的情況,首先需要確定您是否擁有足夠的權(quán)限。如果以管理員身份登錄,就不存在權(quán)限問(wèn)題??梢韵刃遁dWindows Installer服務(wù),在CMD窗口中執(zhí)行“msiexec /unregserver”命令即可。然后運(yùn)行命令“msiexec/regserver”,來(lái)重新注冊(cè)該服務(wù)。一般情況下,可以解決大多數(shù)的Windows Installer安裝故障。對(duì)于Windows 7等系統(tǒng)來(lái)說(shuō),可以在開始菜單中的搜索欄中輸入“cmd”,在搜索列表中右擊找到的“cmd.exe”程序,在彈出菜單中選擇“以管理員身份運(yùn)行”項(xiàng),之后在命令提示符窗口中執(zhí)行“regsvr32 msi.dll”命令,當(dāng) 出 現(xiàn)“DLLRegisterServer在msi.dll已成功”的提示信息后,說(shuō)明已經(jīng)成功注冊(cè)Windows Installer程序。
如果問(wèn)題還沒(méi)有解決,很有可能是Windows Installer組件中的某些文件損壞了。對(duì)于Windows XP來(lái)說(shuō),可以重新安裝該組件。先在控制面板中運(yùn)行“添加或刪除程序”項(xiàng),在安裝列表中會(huì)發(fā)現(xiàn)“Windows Installer 3.1”或者“Windows Installer 4.5”等安裝包,必須將其卸載。然后重裝該組件,之后在CMD窗口中運(yùn)行命令“msiexec /regserver”命令,來(lái)注冊(cè)該組件。對(duì)于Windows 7等新系統(tǒng)來(lái)說(shuō),微軟并沒(méi)有提供獨(dú)立的Windows Installer安裝包,只能使用Windows 7的安裝盤對(duì)系統(tǒng)進(jìn)行一次升級(jí)安裝操作,就可以修復(fù)損壞的系統(tǒng)文件。
在Windows 7中提供了Applocker組件,如果使用不當(dāng),會(huì)造成MSI格式的安裝包無(wú)法運(yùn)行的情況。AppLocker是Windows 7擁有的一項(xiàng)特殊的安全功能,可以限制可執(zhí)行文件、Windows Installer安裝程序和腳本的運(yùn)行。如果啟用了該功能,當(dāng)安裝軟件時(shí),系統(tǒng)會(huì)出現(xiàn)“系統(tǒng)管理員設(shè)置了系統(tǒng)策略,禁止進(jìn)行此安裝”的提示。
解決方法是,以管理員身份登錄系統(tǒng),運(yùn)行“gpedit.msc”程序,在組策略窗口左側(cè)點(diǎn)擊“計(jì)算機(jī)配置→Windows設(shè)置→安全設(shè)置→應(yīng)用程序控制→AppLocker→Windows安裝程序規(guī)則”分支,在窗口右側(cè)顯示已經(jīng)存在限制策略,選中和Windows Installer相關(guān)的策略,在其右鍵菜單中點(diǎn)擊“刪除”項(xiàng),將其刪除即可。在窗口左側(cè)選擇“Applocker”項(xiàng),在窗口右側(cè)雙擊“配置規(guī)則強(qiáng)制”項(xiàng),在彈出窗口中取消“Windows Installer規(guī)則”欄下的“已配置”項(xiàng)的選擇狀態(tài),讓其對(duì)Windows Installer管理的安裝程序放行。
為了簡(jiǎn)單起見,也可以使用MSI文件安裝失敗解決助手,來(lái)快速解決上述故障。該工具使用方法極為簡(jiǎn)單,在其主界面中點(diǎn)擊“解決它”按鈕,就可以對(duì)注冊(cè)表相關(guān)內(nèi)容進(jìn)行合適的修改,讓修復(fù)操作邊的簡(jiǎn)單易行。下載地址:http://www.xdowns.com/soft/6/56/2011/Soft_79618.html。
當(dāng)運(yùn)行某些EXE格式的安裝包時(shí),系統(tǒng)會(huì)彈出錯(cuò)誤提示窗口。仔細(xì)觀察該安裝包就會(huì)發(fā)現(xiàn),里面其實(shí)包含后綴為“.msi”的文件,而該EXE文件僅僅是一個(gè)外殼而已。將該MSI文件直接提取出來(lái),往往可以順利運(yùn)行。這里推薦使用7-ZIP這款精悍的解壓縮工具,來(lái)執(zhí)行文件提取操作。在目標(biāo)EXE安裝文件的右鍵菜單上點(diǎn)擊“7-ZIP→用7-ZIP打開”項(xiàng),可以進(jìn)入該EXE安裝包內(nèi)部,選擇所需的MSI文件,點(diǎn)擊7-ZIP主界面工具欄上的“釋放”按鈕,將其提取出來(lái),之后運(yùn)行該MSI文件,就可以順利安裝該軟件了。
有時(shí)當(dāng)運(yùn)行某軟件的升級(jí)包時(shí),安裝程序會(huì)提示您先移除舊的版本,但是點(diǎn)擊確定按鈕后,系統(tǒng)會(huì)彈出帶有叉號(hào)的提示框,顯示“Error!! The product definiation file lost”信 息,翻譯過(guò)來(lái)就會(huì)產(chǎn)品文件丟失的意思,造成軟件無(wú)法升級(jí)。在控制面板中運(yùn)行“添加或卸載程序”項(xiàng),直接卸載該舊版本軟件,會(huì)出現(xiàn)同樣的問(wèn)題。從提示信息字面上理解,說(shuō)明某些文件丟失了。其實(shí),打開對(duì)應(yīng)的升級(jí)包,會(huì)發(fā)現(xiàn)其中包含一個(gè)后綴為“.msi”的文件,當(dāng)執(zhí)行升級(jí)安裝操作時(shí)該文件會(huì)自動(dòng)被復(fù)制到“C:WinodwsInstaller”文件夾中,所以很可能是這個(gè)MSI文件被殺毒軟件或者清理軟件誤刪的緣故,才導(dǎo)致安裝失敗的情況。
我們可以使用WinRAR等工具將該“.msi”文件從升級(jí)包中解壓出來(lái),在其右鍵菜單上點(diǎn)擊“卸載”項(xiàng),稍后就可以順利卸載舊版本的軟件了。之后重新運(yùn)行該升級(jí)包,就可以順利完成安裝操作了。順便說(shuō)一下,盡量不要使用軟件管家之類的工具面對(duì)目標(biāo)程序執(zhí)行強(qiáng)力卸載操作。這很容造成軟件升級(jí)安裝失敗的情況。
如果您不小心誤刪了“C:WindowsInstaller” 文件夾,就會(huì)導(dǎo)致各種奇怪問(wèn)題的發(fā)生。該文件夾默認(rèn)處于隱藏狀態(tài)。因?yàn)樵撐募A中保存了所有基于Windows Install服務(wù)安裝的程序信息。例如對(duì)于常用的Office組件來(lái)說(shuō),如果誤刪該文件夾,就會(huì)造成無(wú)法順利對(duì)Office進(jìn)行安裝、修復(fù)、配置、刪除等操作。使用者不得不手工刪除Office安裝文件夾,在注冊(cè)表中手工清除相關(guān)的項(xiàng)目,甚至不得不重裝系統(tǒng)等。
為此,可以使用微軟提供 的Program Install &Uninstall這款小工具,來(lái)安全穩(wěn)妥地清理“C:WindowsInstaller”文件夾。在瀏覽器中打開網(wǎng)址“http://support.microsoft.com/mats/program_install_and_uninstall”,在彈出頁(yè)面中點(diǎn)擊“要在其他或斷開的計(jì)算機(jī)上運(yùn)行的高級(jí)下載功能”項(xiàng),在擴(kuò)展面板中點(diǎn)擊“下載”按鈕,將“MicrosoftFixit-portable.exe”程序下載到本機(jī)中。運(yùn)行該程序,選擇下載路徑后,就可以完整地運(yùn)行文件下載到本機(jī)中。之后在指定位置打開“Fix it portable”文件夾,運(yùn)行其中的“Launch Fix it.exe”程序,來(lái)啟動(dòng)上述工具。在其主界面中選擇“檢測(cè)問(wèn)題并允許我選擇要應(yīng)用的修補(bǔ)程序”項(xiàng),之后可以對(duì)安裝文件夾進(jìn)行安全掃描和清理操作了。
現(xiàn)在很多程序都需要依靠微軟提供的.NET Framework組件,才可以正常安裝和運(yùn)行。.Net Framework組件是不斷更新的,但有時(shí)安裝或者更新.Net Framework組件時(shí),會(huì)彈出“無(wú)法安裝某些更新”或“.NET Framework更新失敗”之類的提示。解決該故障的方法是,先卸載原有的.NET Framework組件,然后重裝該組件即可。
在控制面板中運(yùn)行“添加或刪除程序”項(xiàng),在安裝列表中找到并卸載原先安裝的.NET Framework組件。然后重啟系統(tǒng)。下載Windows Installer清理實(shí)用程序包,運(yùn)行其中的“msicuu2.exe”程序,完成該工具的安裝操作,之后在開始程序菜單中運(yùn)行“Windows Install Clean Up”項(xiàng),在清理界面(如圖1)中選擇與.NET Framework相關(guān)的項(xiàng)目,點(diǎn)擊“Remove”按鈕,將這些與.NET Framework組件相關(guān)的MSI數(shù)據(jù)庫(kù)狀態(tài)數(shù)據(jù)清除,之后重啟系統(tǒng),再安裝所需的.NET Framework安裝包,就可以順利安裝完成了。當(dāng)然,該清理工具不僅可以用來(lái)清除與.NET Framework組件相關(guān)的垃圾數(shù)據(jù),也可以卸載和微軟相關(guān)的軟件。下載地址:http://download.pchome.net/system/uninstall/down-22755-1.html。
圖1 徹底卸載.NET Framework組
在Windows 8中,用戶可以通過(guò)應(yīng)用商店安裝各種軟件。但是,有時(shí)會(huì)出現(xiàn)無(wú)法安裝應(yīng)用的情形。一般來(lái)說(shuō),在Windows 8主界面打開“應(yīng)用商店”程序,將鼠標(biāo)指針移動(dòng)到屏幕右上角,當(dāng)向下移動(dòng)鼠標(biāo)時(shí),在彈出的面板中點(diǎn)擊“設(shè)置”項(xiàng),在設(shè)置欄中點(diǎn)擊“應(yīng)用更新”項(xiàng),在“應(yīng)用更新”頁(yè)面中點(diǎn)擊“同步許可證”按鈕,就可以有效解決上述問(wèn)題了。此外,Windows 8應(yīng)用文件實(shí)際上存放在一個(gè)名為“SoftwareDistribution”的文件夾中,一旦其中的文件出現(xiàn)問(wèn)題,也容易造成上述故障的發(fā)生。
進(jìn) 入“C:WindowsSoftwareDistributionDownload”文件夾,將其中的所有文件全部刪除。如果系統(tǒng)彈出無(wú)法刪除的提示窗口,可以選擇“為所有當(dāng)前項(xiàng)執(zhí)行此操作”項(xiàng),點(diǎn)擊“跳過(guò)”按鈕,讓刪除操作得以順利進(jìn)行。因?yàn)閼?yīng)用商店和Windows Update服務(wù)存在一定的關(guān)聯(lián),所以也可以點(diǎn)擊“Win+R”鍵,運(yùn)行“Services.msc” 程 序,在 Windows Update服務(wù)的右鍵菜單上點(diǎn)擊“停止”項(xiàng),來(lái)禁用該服務(wù)。之后對(duì)“C:WindowsSoftwareDistribution” 文件夾進(jìn)行更名處理,然后在Windows Update服務(wù)的右鍵菜單上點(diǎn)擊“啟動(dòng)”項(xiàng),恢復(fù)該服務(wù)的正常狀態(tài)。
如果以上方法無(wú)法解決問(wèn)題,說(shuō)明系統(tǒng)的完整性遭到了破壞。應(yīng)對(duì)方法是點(diǎn)擊“Win+X”鍵,在彈出菜單中點(diǎn)擊“命令提示符(管理員)”項(xiàng),在CMD窗口中執(zhí)行“sfc /scannow”命令,對(duì)系統(tǒng)進(jìn)行完整性掃描,來(lái)發(fā)現(xiàn)受損的文件,然后根據(jù)提示選擇安裝盤執(zhí)行文件修復(fù)處理。因?yàn)橛袝r(shí)候安裝的防火墻或者殺軟,也可能對(duì)應(yīng)用商店的運(yùn)行造成影響,例如將原本正常的應(yīng)用錯(cuò)誤的當(dāng)作可疑程序進(jìn)行攔截等。運(yùn)行“Services.msc”程序,在服務(wù)列表中查看系統(tǒng)自帶
的防火墻或者第三方防火墻服務(wù)項(xiàng)目是否處于啟動(dòng)狀態(tài),如果是的話進(jìn)入控制面板,打開防火墻設(shè)置程序,關(guān)閉系統(tǒng)或者第三方防火墻。同時(shí)關(guān)閉殺軟或者其他安全軟件,來(lái)檢測(cè)是否可以順利安裝原本受阻的應(yīng)用。
如果以上方法均無(wú)效,就只有將系統(tǒng)恢復(fù)到之前正常的狀態(tài),來(lái)徹底解決問(wèn)題了。如果之前創(chuàng)建過(guò)系統(tǒng)還原點(diǎn),可以運(yùn)行“Rstrui.exe”程序啟動(dòng)系統(tǒng)還原,在其中選擇之前創(chuàng)建的還原點(diǎn),來(lái)快速恢復(fù)系統(tǒng)活力。也可以將鼠標(biāo)移動(dòng)到屏幕右上角,并向下移動(dòng),在彈出的界面中點(diǎn)擊“設(shè)置”項(xiàng),在設(shè)置面板中點(diǎn)擊“更改電腦設(shè)置”項(xiàng),在彈出窗口左側(cè)點(diǎn)擊“恢復(fù)”項(xiàng),在右側(cè)窗口中的“恢復(fù)電腦而不影響您的文件”欄下點(diǎn)擊“開始”按鈕,就可以將系統(tǒng)恢復(fù)如初。這樣,就可以徹底解決上述問(wèn)題了。
圖2 Advanced Install主界面
有時(shí)在安裝軟件時(shí),會(huì)遇到在這臺(tái)主機(jī)上可以順利安裝,而在另外一臺(tái)電腦上安裝失敗的情況。如果可以在正常主機(jī)上捕獲安裝數(shù)據(jù),并將其制作成MSI安裝文件,然后在出現(xiàn)問(wèn)題的主機(jī)上執(zhí)行安裝操作,往往可以簡(jiǎn)單快捷地完成安裝操作。使用Advanced Install這款軟件,就可以創(chuàng)建自己的MSI安裝程序。下載地址:http://www.pc6.com/softview/SoftView_23032.html。
MSI安裝格式對(duì)系統(tǒng)沒(méi)有任何損壞,使用起來(lái)更加靈活。即使在中途安裝出現(xiàn)異常,也會(huì)將系統(tǒng)恢復(fù)到之前的狀態(tài),這比Setup.exe之類的安裝包更加可靠安全。在Advanced Install主界面(如圖2)依次點(diǎn)擊“新建→導(dǎo)入→Package Installation”項(xiàng),點(diǎn)擊窗口右下角的“Create Project”按鈕,在彈出向?qū)Т翱谥羞x擇“將這臺(tái)計(jì)算機(jī)上的應(yīng)用程序重新打包”項(xiàng),在下一步窗口中的“程序路徑”欄中點(diǎn)擊瀏覽按鈕,選擇目標(biāo)程序。連續(xù)點(diǎn)擊下一步按鈕,Advanced Install開始對(duì)當(dāng)前系統(tǒng)進(jìn)行掃描,創(chuàng)建第一個(gè)系統(tǒng)快照。即Advanced Install會(huì)對(duì)系統(tǒng)文件和注冊(cè)表信息進(jìn)行掃描分析,來(lái)記錄當(dāng)前系統(tǒng)的狀態(tài)信息。
之后Advanced Install運(yùn)行選擇的程序,執(zhí)行該程序的安裝操作,當(dāng)安裝完畢后,Advanced Install會(huì)對(duì)系統(tǒng)進(jìn)行第二次掃描,來(lái)創(chuàng)建第二個(gè)系統(tǒng)快照。點(diǎn)擊完成按鈕,Advanced Install通過(guò)對(duì)兩個(gè)系統(tǒng)快照項(xiàng)目進(jìn)行比對(duì)分析,來(lái)發(fā)現(xiàn)該安裝軟件對(duì)系統(tǒng)所做的所有更改,將其全部文件和配置信息提取出來(lái)。在Advanced Install主界面左側(cè)點(diǎn)擊“產(chǎn)品詳細(xì)信息”項(xiàng),在右側(cè)輸入該安裝包的相關(guān)信息。在窗口左側(cè)點(diǎn)擊“安裝參數(shù)”項(xiàng),在右側(cè)窗口勾選“限于基本用戶界面”項(xiàng),可以在安裝時(shí)不顯示復(fù)雜的界面,實(shí)現(xiàn)簡(jiǎn)單快速的安裝操作。點(diǎn)擊菜單“項(xiàng)目→構(gòu)建”項(xiàng)(或者點(diǎn)擊F7鍵),就可以得到所需的MSI安裝包了。