2013-05-01 685 views
8

我試圖安裝Windows 7和.NET Framework 4的Microsoft Windows SDK。它失敗了,抱怨錯誤5100,在http://support.microsoft.com/kb/2717426處引用該鏈接表示刪除Microsoft Visual C++ 2010 x86可再發行組件和Microsoft Visual C++ 2010 x64可再發行組件。有一個大問題:這兩個都沒有安裝在我的盒子上。這是一個Win 7盒子。打開程序和功能,我清楚地有許多Microsoft Visual C++ 2008 Redistributable的實例,但不是以「Microsoft Visual C++ 2010 ...」開頭的單個已安裝項目無法卸載VC++ 2010:錯誤:在計算機上檢測到新版本的Microsoft Visual C++ 2010 Redistributable

但是,如果單擊「View installed updates」然後,我清楚地看到上未安裝2010可再發行的頂部數次更新:

的Microsoft Visual C++ 2010 x64的再發行(3)

  • 修補程序的Microsoft Visual C++ 2010 x64的再發行(KB982573)
  • 修復了Microsoft Visual C++ 2010 x64 Redi stributable(KB2467173)
  • 修補程序的Microsoft Visual C++ 2010 x64的再發行(KB2151757)

的Microsoft Visual C++ 2010 x86的再發行(3)

  • 修補程序的Microsoft Visual C++ 2010 x86的再發行(KB982573)對於Microsoft Visual C++ 2010 x86可再發行組件(KB2151757)

這些項目沒有「卸載」功能。所以我顯然有修補程序的頂部沒有安裝的東西。我下載的Visual Studio 2010的C++ REDIST並試圖運行它,看看是否可以讓我卸載它,但沒了,我得到的只是一個失敗:

A newer version of Microsoft Visual C++ 2010 Redistributable has been detected on the machine. 

我搜索我的整個C驅動器的任何實例vcredist_x64.exe和我跑了他們每一個希望它可以讓我卸載。每一個都是用於C++ 2005或2008,或者它給了我相同的投訴,以至於2010年的新版本已被檢測到,我必須先刪除它。

請注意,此問題對於Error: A newer version of Microsoft Visual C++ 2010 Redistributable has been detected on the machine不是多餘的,因爲該人實際上並不需要安裝Visual C++ 2010.呃,我不必安裝它。我必須卸載它才能安裝SDK。

如果程序和功能中沒有任何內容,我該如何卸載?

+0

您是否嘗試過搜索vc_red.exe? – 2014-03-27 19:55:10

回答

3

警告:如果您不知道自己在做什麼,請不要直接修改任何註冊表項和值。你很可能會搞砸你的Windows安裝。

注意:我幾年沒有碰到過Windows,所以我可能已經獲得了一些鍵和值的名字稍微關閉。

打開regedit.exe並轉到HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall並遍歷該列表中的每個項目。您將看到您在程序和功能中看到的所有條目,以及隱藏的其他一些條目。如果找到正確的條目,則可以運行卸載命令,該命令位於卸載值中。

由於您有x64系統,您可能還必須通過Wow3264分支。

+0

感謝Franci。這個答案幫了我很多忙。 :-) – kmort 2015-02-23 21:01:42

6

DLL地獄又回來了VS2010及以上的復仇。太多程序員抱怨運行時DLL的並行安裝,微軟放棄了這一點。 Msvcr100.dll返回到c:\ windows \ system32(或64位計算機上的syswow64),調用通常的問題,即在每個程序看到的目錄中都有一個DLL。並有不止一個版本。

有多種方法可以讓該DLL進入機器。它確實需要運行vcredist安裝程序,而不是而不是。安裝程序通常只是在那裏複製它。安裝程序的一個很好的例子就是VS2010安裝程序。出現安全更新時,Windows Update將會重新啓動該DLL。這是你機器上發生的事情。因此,在程序和功能列表中找不到vcredist並且仍然具有該DLL的更高版本並不罕見。

安裝程序當然應該優雅地處理這個問題,並且當他們看到一個已經存在的更高版本的應用程序時,它們不會混淆DLL。然而,Windows SDK安裝程序並沒有優雅。它存在安裝問題的悠久歷史。無論在Windows組中誰負責安裝程序都無法很好地掌握這門藝術。使用舊版本的SDK不會有幫助,您嘗試部署的那個特別麻煩。聽起來像v7.0,v7.1的安裝程序大大改進。

所以首先要支持v7.1。如果這樣做不能實現,那麼你就不能做任何事情,只能設置激光來眩暈並保持安裝者的快樂。在您的Windows目錄中重命名msvcr100.dll,以便安裝程序無法投訴。完成後重命名它。其他運行時DLL可能需要敲擊atl100,mfc100,mfcm100,msvcp100,vcomp100.dll

0

我有一個問題,缺少安裝/卸載程序的VC++ REDIST 2015u2 14.0.23918 86,我不能在互聯網上的任何地方。 最終,我能夠使用Martau.com的Total Uninstall 6(付費)成功卸載它。

相關問題