Fork me on GitHub

一次郁闷的VS2008卸载

时间:2008.03.10~2008.03.12

起因:上个学期安装的VS2008评估版本到期,在网上找到“Key”升级了一下,然后在vs开发时发生了一件以前就碰到过的事--objectdatasource的选择对象的列表为空。最常见的原因是App_Code文件夹的类有错误,而以前是在卢老师那里获得DWCourse项目时,因为无意间将他的vs2005下开发的项目转换为vs2008,导致程序集错误,那个问题删除调试文件再重新编译即可通过。这次报错事一样的,但网上基本没有关于这个报错的解答。

经过:开始觉得是自己的.cs文件有错误。于是新建项目,添加Code文件夹,添加类,添加方法,结果还是为空。手动添加objectdatasource的TypeName和SelectMethod就报错。说是System.Web.Design.Client程序集找不到。于是网上找这个程序集,基本没有信息。
        打开以前的工程,里面的objectdatasource又没有任何问题。觉得可能是某个程序集更改了,于是想查看下当前使用的.net framework的版本,发现不知道怎么看- -。网上又三种方法,第一种是查看vs的帮助-关于,里面又版本号;还又一种是在命令行下CSC查看(我记得这个是要自己配置的),结果我两个版本不一致,于是又将Path路径设置到framawork 3.5,还是失败!
        在网上找到关于评估版和正式版的区别,说有点点不同。可能是这个原因,但是又不知道怎么更改使其相同,又查到有framework3.5 sp1和vs2008 sp1下载,800多M的sp1下完安装,以为可以解决问题,结果失败!
        干脆删掉vs重新安装我自己买的“正版”,发现以前没有删过,直接删除vs2008,结果安装又失败。太多的东西要删,又在网上找了一个“vs2008删除工具”,安装时还是失败。网上说是framework没有删除,手工去删除framework的结果是无法卸载。又下工具,网上提供的工具大多是framework1.x和2.0的删除,好不容易找到3.x的删除工具,结果刚装的framework 3.5 sp1还是在那里。又搜索了好久,发现了个比较好的方法。

博客原文如下:

要成功安装更新,请卸载计算机上的所有 .NET Framework 版本,然后在计算机上重新安装所有 .NET Framework 版本。您可能需要完成下列方法中的多种方法。

方法 1:手动删除并重新安装 .NET Framework

要手动删除并重新安装 .NET Framework,请按照下列步骤操作:

  1. 删除 .NET Framework。
    1. 单击“开始”,然后单击“控制面板”。
    2. 双击“添加或删除程序”。
    3. 记下计算机上已安装的每个 .NET Framework 版本,然后卸载所有 .NET Framework 版本。
    4. 出现提示时,重新启动计算机。
  2. 使用 Windows Installer 清理实用程序来清理所有 .NET Framework 版本的 MSI 数据库状态。
    1. 下载 Windows Installer 清理实用程序。 可以从 Microsoft 下载中心下载以下文件:

      收起这个图片展开这个图片

      下载

      立即下载 Windows Installer 清理实用程序包。 (http://download.microsoft.com/download/e/9/d/e9d80355-7ab4-45b8-80e8-983a48d5e1bd/msicuu2.exe)
      有关如何下载 Microsoft 支持文件的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

      119591 (http://support.microsoft.com/kb/119591/ ) 如何从联机服务获取 Microsoft 支持文件

      Microsoft 已对此文件进行了病毒扫描。Microsoft 使用的是该文件发布时可以获得的最新病毒检测软件。该文件存储在安全性得到增强的服务器上,以帮助防止在未经授权的情况下对其进行任何更改。

    2. 以管理员身份或属于本地管理员组成员的用户帐户的身份安装 Windows Installer 清理实用程序。
    3. 单击“开始”,指向“所有程序”,然后单击“Windows 安装清理”。
    4. 在 Windows Installer 清理实用程序中,删除 .NET Framework 的所有 Windows Installer 应用程序。
  3. 重新启动计算机。
  4. 下载然后重新安装计算机上以前安装的所有 .NET Framework 版本。
    要下载 .NET Framework 1.0,请访问下面的 Microsoft 网站:

    http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=d7158dee-a83f-4e21-b05a-009d06457787 (http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=d7158dee-a83f-4e21-b05a-009d06457787)

    要下载 .NET Framework 1.0 Service Pack 3,请访问下面的 Microsoft 网站:

    http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=6978d761-4a92-4106-a9bc-83e78d4abc5b (http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=6978d761-4a92-4106-a9bc-83e78d4abc5b)

    要下载 .NET Framework 1.1,请访问下面的 Microsoft 网站:

    http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3 (http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3)

    要下载 .NET Framework 1.1 Service Pack 1,请访问下面的 Microsoft 网站:

    http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=a8f5654f-088e-40b2-bbdb-a83353618b38 (http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=a8f5654f-088e-40b2-bbdb-a83353618b38)

    要下载 .NET Framework 2.0,请访问下面的 Microsoft 网站:

    http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5 (http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5)

    要下载 .NET Framework 2.0 Service Pack 1,请访问下面的 Microsoft 网站:

    http://www.microsoft.com/downloads/details.aspx?FamilyID=79bc3b77-e02c-4ad3-aacf-a7633f706ba5&DisplayLang=zh-cn (http://www.microsoft.com/downloads/details.aspx?FamilyID=79bc3b77-e02c-4ad3-aacf-a7633f706ba5&DisplayLang=zh-cn)

    要下载 .NET Framework 3.0,请访问下面的 Microsoft 网站:

    http://www.microsoft.com/downloads/details.aspx?FamilyID=10cc340b-f857-4a14-83f5-25634c3bf043&DisplayLang=zh-cn (http://www.microsoft.com/downloads/details.aspx?FamilyID=10cc340b-f857-4a14-83f5-25634c3bf043&DisplayLang=zh-cn)

    要下载 .NET Framework 3.0 Service Pack 1,请访问下面的 Microsoft 网站:

    http://www.microsoft.com/downloads/details.aspx?FamilyID=ec2ca85d-b255-4425-9e65-1e88a0bdb72a&DisplayLang=zh-cn (http://www.microsoft.com/downloads/details.aspx?FamilyID=ec2ca85d-b255-4425-9e65-1e88a0bdb72a&DisplayLang=zh-cn)

    要下载 .NET Framework 3.5,请访问下面的 Microsoft 网站:

    http://www.microsoft.com/downloads/details.aspx?FamilyID=333325fd-ae52-4e35-b531-508d977d32a6&DisplayLang=zh-cn (http://www.microsoft.com/downloads/details.aspx?FamilyID=333325fd-ae52-4e35-b531-508d977d32a6&DisplayLang=zh-cn)

  5. 出现提示时,重新启动计算机。

注意:重新安装了所有 .NET Framework 版本后,您可以使用 Windows Update 来检查 .NET Framework 的更新。

 

方法 2:使用 .NET Framework 自动清理工具

此工具不替代标准卸载过程。在使用此清理工具之前,您应尝试使用上文介绍的方法 1 中的步骤执行卸载。
.NET Framework 清理工具可为您删除 .NET Framework。有关如何获取和使用此工具的信息,请访问下面的 MSDN 网站:

http://blogs.msdn.com/astebner/archive/2006/05/30/611355.aspx (http://blogs.msdn.com/astebner/archive/2006/05/30/611355.aspx)

注意:此清理工具删除多个 .NET Framework 版本使用的共享文件和注册表项。为保证所有 .NET Framework 版本正常运行,如果运行清理工具删除 .NET Framework,则必须先使用此清理工具删除所有已安装的 .NET Framework 版本。然后,您必须从最低版本号开始重新安装所有以前安装的版本。
假定您的计算机上安装了 .NET Framework 1.1 和 .NET Framework 2.0,而且您计划使用此清理工具。在此情况下,您应先使用清理工具删除 .NET Framework 1.1,然后使用清理工具删除 .NET Framework 2.0。在已删除两个版本后,即可先重新安装 .NET Framework 1.1,然后安装 .NET Framework 2.0。

 

 

添加/删除程序对应的注册表项。
  一共有三个项

  HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall:

  主要用来保存那些基于其它安装程序的应用程序,例如常见的基于 InstallShield 安装的应用程序。

  HKEY_CLASSES_ROOTInstallerProducts

  HKEY_CURRENT_USERSoftwareMicrosoftInstallerProducts:

  主要用来保存那些基于 Windows Installer 安装的应用程序,例如 Office。

  单纯删除Uninstall的项有可能导致“添加/删除程序”里出现一些不起作用的无关项

  Windows的注册组织和用户

  HKEY_LOCAL-MACHINESOFTWAREMicrosoftWindows NTCurrentVersion

  RegisteredOrganization

  RegsteredOwner

 ----------------------------------------------------------------------------------------------

强力推荐微软的那个工具,可以很好的删除ms的组建,但是注意别误删了什么东西,比如我就误删了sql server 2000.

 

结果:重装没有问题,但是使用objectdatasource时,选择对象的列表还是为空。和无语,最后选择了重装系统,安装vs2008后问题终于解决了。

后记:有时经常会又些莫名奇妙的错误在耽误我们的效率,但是这些错误的解决办法又很难找到,因为相同的错误可能是由不同的原因引起的,我喜欢追根知底但是技术确实有限,只能依靠网络来解决问题,有时由一个问题又可以牵扯出很多其它问题,在这其中可以学到很多平常都可能不怎么重视的知识。也是一个学习的过程。

PS:这天从家里拷贝了一个没有问题的版本,把以前那个又问题的版本覆盖了,但是,ObjectDataSource依然报错,让我想起了上次思修那个项目,我不小心转换成3.5以后,重新拷贝不转换的在同一位置,还是不能解决问题。上次也注意到了,与项目的路径有关,如果依然拷贝在出错的路径,不能解决问题。换一个地方就没问题了。不知道微软怎么会出这个问题的。:p

posted @ 2009-03-12 10:37  idoku  阅读(4648)  评论(0编辑  收藏  举报