2010-01-15 33 views
5

由於存在阻止軟件卸載的問題,我必須將其替換掉,但是如果使用文件搜索實用程序,Windows無法找到MSI文件,但我認爲MSI存儲在Add or Remove Programs實用工具可以使用的地方。MSI文件在安裝後被複制的位置?

+0

推薦/ **正確的方法**解決卸載問題就是**使用一個次要升級爲「修復」已安裝的產品,然後觸發其固定的卸載序列**,如** saschabeaumont **所示。次要升級可以作爲常規MSI或補丁包(對於大型產品)提供。 – 2018-02-16 13:28:45

回答

11

這豈不是進入%WINDIR%\安裝\

雖然我認爲這些文件可能會改名。不知道你從哪裏得到的名字映射...

這個目錄變得非常大,所以我把它移動到一個外部驅動器。這有時會導致卸載或更新失敗並出現msi錯誤,但這可以通過將目錄返回來修復

+1

非常棒!我確信現在文件被重命名了,但是你可以在Windows註冊表中找到新名字 – 2010-01-15 14:04:05

+0

ahh很高興你知道如何獲得映射 – 2010-01-15 14:05:33

+1

對於重命名的MSI文件,請在路徑註冊表中查找'LocalPackage'屬性 - '[ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Installer \ UserData \ \ Products \ \ InstallProperties]'。 'InternalUserId'是某種'S-1-5-18'。 'ProductGUID'是一個GUID,像'00058CD18F0BF523DA1072073D56715D'嵌入MSI文件中的公共屬性。 – RBT 2017-01-19 05:38:25

-1

也許msi已被刪除。您可以刪除安裝文件夾並運行msi清理實用程序,然後重新安裝程序。

+0

編輯該問題以澄清 – 2010-01-15 14:01:01

+0

MSIZAP(Windows安裝程序清理)是一個非常危險的工具。請參閱http://robmensching.com/blog/posts/2009/3/6/More-on-Haacks-Troubleshooting-Windows-MSI-Installers以獲取更多信息 – saschabeaumont 2010-01-17 23:30:36

6

您可以使用MSIEXEC強制執行重新緩存/重新安裝,推薦的方法是更新無法安裝的錯誤安裝包否則刪除是用一個固定的包重新緩存,然後像往常一樣卸載。

MSIEXEC /fv setup.msi 
4

當您安裝使用Windows Installer服務包,MSI文件沒有得到 在隱藏文件夾 「%WINDIR%\安裝」 緩存。它會重命名,新名稱是一個與原始名稱沒有明顯關聯的十六進制字符串。像「123ab4.msi」。

找出哪一個是應用程序的緩存副本並不難。 最快的方法是查找大小相同的緩存文件。當你認爲你已經找到它時,將鼠標指針懸停在Windows資源管理器中的文件名上。工具提示會出現,它會顯示來自包的摘要信息流的數據。產品名稱,作者姓名等。找到合適的文件後,您可以使用Orca等工具直接編輯它。

如果你只是想在你自己的機器上修復東西,那麼直接編輯緩存數據庫可能是一個不錯的選擇。但是,Microsoft確實提供了一種內置的方式來處理這樣的問題。您可以創建一個補丁(一個msp文件),其中包含原始msi文件和更新的msi文件之間的差異。然後可以將該補丁分發給已經使用原始安裝安裝了您的應用的任何其他人,並且使用起來很簡單。

MSDN討論修補程序創建這裏 - http://msdn.microsoft.com/en-us/library/aa368060%28VS.85%29.aspx

刪除隱藏的文件夾一般是不是一個好主意,因爲這打破了安裝服務的一些核心功能。這包括修補,檢測和修復,以及通過遷移進行升級而不是卸載和重新安裝的能力。

2

要在C:\Windows\Installer中查看msi文件的有用名稱,請右鍵單擊資源管理器的頂部並添加該字段以查看主題(可能必須選擇更多,因爲它不是默認名稱,修改日期等)從這裏你可以找到msi並使用它來卸載程序。

3

我已經放下很多評論爲接受的答案,所以我想創建與幾個其他詳細信息的彙總後,我寧願發帖回答:

InstallShield會創建*的.msi文件的副本爲%windir%\installer\ path%%windir%是通常指向C:\Windows\的環境變量。在創建*的副本之前。msi文件,它使用一些隨機命名法對其重命名,例如,我可以在我的C:\Windows\Installer目錄中看到一個名爲65ec5c99.msi的文件。

我們弄清楚重命名的MSI文件實際的產品名稱有兩種方式:

  1. 檢查註冊表裏面LocalPackage屬性的路徑 - [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersio‌​n\Installer\UserData‌​\<InternalUserId>\Pr‌​oducts\<ProductGUID>‌​\InstallProperties]InternalUserId有點類似於​​。 ProductGUID是一個GUID,如00058CD18F0BF523DA1072073D56715D作爲MSI文件本身內的公共屬性嵌入。您可以使用任何工具打開您的MSI文件來檢查此公共屬性。 orca

  2. 打開C:\Windows\Installer資源管理器中的文件夾。將目錄的視圖更改爲Details視圖。將Subject列添加到視圖。 Whooaa!神祕感解決了。該產品名稱是可見正確的,在Subject

enter image description here

相關問題