Alistair Maclean's Web Site
Visual Studio .NET Upgrades
Back

Give Me Pain

For I Can Take It!

This is the story of 'upgrading' from Visual Studio .NET Beta2 to Visual Studio .NET Release Candidate (beta2 to RC, for short), at the end is the much nicer quickie Release Candidate to full release story. One quick word about my original install: I changed the default directory to my E: drive. This lead to files and directories on my C: drive (where the OS is) and the E: drive (where my disk space is), your layout may vary, though I suspect you still have the same install problems.

How could this be so tough you say, well for a start the uninstalls are not yet, erm, fully tested by Microsoft. This means that much is left for you, the casual hacker, in providing assistance to the upgrade process.

Options

Microsoft gives you two options in the upgrade: Uninstall the old or reformat your drive. Call me a sucker for pain, but reinstalling a couple of years worth of stuff is no joke.

Uninstall

In Settings|Control Panel|Add/Remove Programs, you soon find that only Microsoft Visual Studio .NET is listed. Uninstall it. Kill it. This takes about 20 minutes on my machine.

Now get ready for the BEEF.

Here are the main activities to clean the system of the old install:

  • Remove files
  • Remove Directories
  • Remove Registry Entries
  • Uninstall IE

Files

I found files almost everywhere. There were two directory trees on the C: drive ("Program Files\Microsoft.NET\" and "WINNT\Microsoft.NET\"). They both had files in. To delete these I needed to stop Outlook Express, IE6 and the web server, IIS. I noted many files in the temp directory (check your environment settings to find out where your TEMP directory is set to.) Additionally, search for files created on the day you installed the beta (use Windows Explorer, Search, select the Search Option 'Date', then set the "between" and "and" dates to the install date (get this date off the timestamp on one of the Microsoft.NET directories. Also do a search on files created on "6/6/2001," this seems to be the build date of the .NET Framework for Beta 2. Kill all these files. Just be careful; I found I had installed something else on 6/6/2001 and did not want it deleted.

The biggie is to find one of the main dll's, mscoree.dll, It took me several hours to find why the install kept failing, and this file was the cause. Delete it from \WINNT\system32\.

Directories

With all the searches and deletions, you probably got most of the directories. I found two that proved to be quite stubborn. Quite why I had so much trouble deleting them, I am not sure. I eventually changed the ownership on the directories therby removing them. There were some changes introduced into Windows Explorer by the install of Beta 2, some of these may have effected how windows works in some circumstances - normally sitting in the directory you are deleting is OK, you just end up being placed on the Desktop, instead I was getting lots of access errors and failing to remove the directories.

The main directories in C: were off \Program Files\. There was a tree in \WINNT then others on my E: drive under Program Files. I also found one in "C:\Documents And Settings\your username\Application Data\Microsoft\" called ".NET framework Config".

Registry Entries

What you are about to do to the registry defies normal sanity. If you are not happy adjusting the registry, just reformat the drive, it will be less onerous. You will be making 100's of key deletions.

Bring up Regedit. Make sure you are on the top entry, do CTRL+F to bring up the find dialog and enter the string "1.0.2914.16". This is the version number of Beta 2. Hit Enter. There will be a moments churn then it stops and you will have data shown in the right hand window. Click over to the left pane, run up to find the main entry this refers to, it may already be the top node, but generally it's an InProcServer32 entry. Whack it. Then press F3 and repeat. There are literally hundreds of these entries, none removed by the uninstall (methinks this is the Framework failing to uninstall). You may also find that it's possible to run recent versions of RegClean (a Microsoft utility for removing registry entries that may be in error) to get some if not all of these registry entries.

IE 6.0 Removal

I am still not sure this is required. The version that came with Beta 2 was an IE 6 preview, another beta, and may have been a bit flaky. However, I replaced that with the real IE 6.0 release on my system. But I still felt there were errors I was seeing that pointed at the IE install. I zapped it anyway.

Re-Install

The install of the Release Candidate went smoothly once I had deleted all the files, directories and registry entries. The iterative removal and install process required many reboots before it finally, and quietly, installed the framework. It was the framework that proved to be my main problem area. The Visual Studio .NET application installed without further issue.

One final note, if you want to register the Release Candidate, it requires that you get and use Microsoft Passport. I am not a firm believer in the security of this tool, I don't know why they would resort to this, sending in the warranty card always struck me as mostly useless, now we are forced into divulging private information with no control over who gets it (I know several folks that like to place errors in their personal details so they can track who sells this info to whom. Call me Paranoid!) I say ignore the registration at this time and wait to see if there is a yellow card in the final product.

 

The About Screen from the Release Candidate
Just to prove it installed

It's all too late! Upgrade AGAIN! - NOW!

Since the official release of Visual Studio, and the expiration of the license on the Release Candidate, I decided to uninstall the old .NET Framework, download the new framework and install it. I was expecting better than the Beta uninstall, but was leery of what might occur. In the end I was pleasantly surprised by the easy crossover.

First I uninstalled both Visual Studio.NET and the .NET Framework using the Control Panel applet - Add/Remove Programs. This went without a hitch. I then rebooted the system, it was not asked for but I felt that I had just removed a lot of DLL's, something was going to be upset. On restarting I tried to run the new Framework SDK install, it failed telling me that certain files were still present. I ran the RegClean utility, it cleaned up a lot of loose ends and several residual keys. I ran the install again, and again it failed, this time giving me a long key that I was not able to find (8's [eight's] look a lot like B's [bees] in the font I have). I opened the regclean undo file, dug out the old .NET version number (1.0.3328) and did a search on it in the registry. This turned up a further 10 or so keys, all of which I deleted. I then hunted out C:\WINNT\System32\mscoree.dll and deleted it (I wasn't gonna get caught by that one again!).

Third time a charm

The 3rd install attempt worked like a charm and ran right through. I then applied the first .NET Service Pack, too, which called for a reboot.

The .NET framework is a pretty complete toolset, coming with various compilers including C#, VB.NET and JScript. There are even DLL's to integrate with Visual Studio 6, though VS.NET definitely has a lot going for it.

 

 

I take no responsibility for any actions you take on your system. If you trash your computer following my guidelines, tough. Caveat Emptor.

VS 2005 Betas and Release Candidates

In general the problems I had with transitioning from VS 2005 Betas and Release Candidates to the full .Net 2.0 environment were self inflicted. But getting the resulting mess to uninstall so that the new .Net 2.0 framework would install took several days of hair pulling.

The initial brainiac move was to simply relocate one machines' install of .Net 1.1 and VS2003 onto another machine (Win2K -> WinXP - been meaning to do this upgrade for some time...) That seemed to go very well, however the install of VS2005 that was on the old machine didn't go quite so well. Something in the registry got fubared (don't use that word around here!) and the installed VS2005 RC would not work on the new machine. So I did a repair... and another.. and another, to no avail. I then tried to uninstall it, but the uninstaller said that it could not work out what it needed to do to finish the uninstall and exited before removing anything. I tried to remove everything by hand (in regedit), but the installer for the new official .NET 2.0 release simply said that there was a pre-existing Release Candidate there and kindly remove it. Impasse!

I solved my problem in four steps.

  1. I uninstalled all of the parts (.NET 2.0 compact framework, VS2005, SQLServer 2005, MSXML6, etc) that could be uninstalled through the installer. Don't uninstall the actual .NET 2.0 framework at this time though - it's needed still. This left me with lots of bits left around, including a broken VS2005 and some Java redistributable library.
  2. I then searched the installation CD and found that there are two installers behind VS2005; the first seems to install the software keys, the second installs the VS2005 itself. This second installer is found on the DVD at \vs\setup\setup.exe. This ran through to conclusion doing an install. At the end, when I tried to run VS, it gave an error that said something like "No valid install key" - no surprise there! Now however, the uninstaller worked to remove the entire package - except the silly Java Redistributable.
  3. I eventually found a registry key for the Java item, with a search in Regedit for "Java Redistributable": there was only one entry. I deleted it.
  4. Now I uninstalled the .Net 2.0 (Beta / RC) framework through the VS installer.

The .Net 2.0 framework looks to only install if all the Release Candidate or Beta items are removed. In general, the .Net 2.0 beta's have been far more reliable and well thought out that the 1.0 items, therefore in general you should not have to read this. However, if you, like I, manage to do something self destructive, I wish you luck, and hope this little addition to the page helps you.

VS = Visual Studio. The release candidates for VS came with a .net framework, and in many cases a SQLServer CTP release, too

AM 11/19/2005


© Copyright A. Maclean 2002 -
  A page index