About Windows Installer, the .NET Framework, and Visual Studio.
When I announced that Visual Studio 2008 SP1 RTM will install over SP1 beta, we were on track to make that reality. However, when SP1 beta shipped we found that adding new components into existing features was causing a prompt for source for non-default installations of Visual Studio 2008. To fix this, we would have to remove those components and put them into a new feature. This, in turn, causes the installation to not actually update most files if the beta was installed because it advertises the features.
After a lot of discussion, we decided that because a prompt for source is a blocking issue for more customers that installed the beta we would block SP1 RTM from upgrading SP1 beta. To make this easier, we have provided a tool that uninstalls only certain beta patches. Not all patches need to be removed so this exercise is made simple and relatively faster than uninstalling all of the beta.
Note: you do not have to uninstall Visual Studio 2008 Express Editions with SP1 Beta prior to installing Express SP1 RTM. The tool described below for VS box SKUs does not apply to Express SKUs.
If you installed VS2008 SP1 Beta, you will see a dialog similar to the following.
The dialog above lists all the pre-release updates that must first be removed, depending on which you have installed. It reads,
You must first use Microsoft Visual Studio Patch removal tool before installing Visual Studio 2008 SP1. The tool will verify Visual Studio integrity and remove previous Visual Studio 2008 updates or pre-release software Microsoft Visual Studio 2008 - KB945140 (Beta) Microsoft Visual Studio 2008 - KB944899 Microsoft Silverlight Tools Beta 1 Microsoft Visual Studio 2008 - KB949325
You must first use Microsoft Visual Studio Patch removal tool before installing Visual Studio 2008 SP1. The tool will verify Visual Studio integrity and remove previous Visual Studio 2008 updates or pre-release software
The tool is straight forward to use and should allow you to install VS 2008 SP1 - assuming you are running as an administrator and have applicable products installed.
When VS 2008 SP1 Beta is installed it adds new components to existing features. This causes Windows Installer to install that feature, its parent features, and all those features' child features which follow their parent install state. If one of those features was not already installed, the files authored into that feature likely do not already exist on your machine. Windows Installer then prompts for source to find and install those files.
To fix this, we have to move those new components to new top-level features which always get installed.
Because a patch alters the view of the product - the installer package (.msi file) and all patch packages (.msp files) combined - those new components are now part of the product. When SP1 Beta is already installed and SP1 RTM is being installed, those new components in Beta get removed from their parent features and put into new features. Because a there is no "move" operation, it's actually a "delete" and an "add". Deleting a component, however, advertises the parent feature. The result is that any files within affected features are not updated because they are not registered as being installed locally. In fact, none of those files will ever be upgraded again until the product is reinstalled with a specially crafted command line specific to your machine, or uninstalled and then re-installed. That means no updates and no new features for a lot of the product.
Based on the estimated number of people that installed the beta and the number of people that customized their installations of Visual Studio 2008, we felt it was better to block installation of VS2008 SP1 RTM if VS2008 SP1 Beta was installed. We also block if features installed with applicable products are also already advertised since this could happen in a couple of other scenarios - like if KB944899 was installed and you then installed SP1 Beta.
The tool we have provided performs these same checks on product that SP1 updates and attempts to fix them. When uninstalling patches, however, you might be prompted for source to restore files in shared components. This happens when share components in another product were already updated. When any other products' shared components are then updated, those products' baseline caches are not updated with a backup copy of those shared files already updated. To streamline the operation, for one product where this happened 100% of the time we shipped the source but it was small - only a few megabytes. But for Visual Studio and other products which are much larger overall, note the title of the source prompt dialog, insert your installation media (network installs likely won't cause prompts), and browse to the path of that product. Typically this will be vs_setup.msi in the root directory for the drive containing the installation media.
Updated: added that users do not have to remove Express SP1 Beta prior to installing Express SP1 RTM.
As noted earlier today in this post on Soma's blog , the .NET Framework 3.5 SP1 and Visual Studio 2008
by Don Burnett Had problems uninstalling the beta 1 of Visual Studio 2008? is it looking for an install package that you don't have.. Thanks to Heath Stewart and the new patch uninstaller you can easily install the Final Service Pack 1 release with no
I'm having problems with the tool - it's asking for the source media, but it won't recognise the vs_setup.msi from the RTM media. Any suggestions?
Tom, the source prompt might not be for vs_setup.msi in the drive root. Note the title of the dialog and let me know. Or if it is for Visual Studio, make sure you've provided the installation media for the correct edition and language of VS.
Visual Studio SP1 and Silverlight tools
Today during installation it asked me for VS08 "source media" (it happened after using "preparation tool").
It's sad that first you state that it would install over existing Beta files, then change your mind and require to run preparation tool AND STILL needs "source media" during SP1 installation.
Next time don't state promises, that you don't want keep.
The title of the dialogue box was "Microsoft Visual Studio 2008 Shell (integrated mode) - ENU"
This may have been installed with the SQL Server 2008 RC I had installed recently?
I removed all the SQL Server 2008 RC stuff (just the client tools), and also that instance of VS2008 Shell from add-remove programs (VS2008 Professional was listed seperately), then re-ran the cleanup tool - it completed almost instantly.
Got SP1 going on now, all good so far.
As mentioned yesterday .NET Framework 3.5 SP1 and Visual Studio 2008 SP1 were released. Here is a more
Nu er sommerferien overstået for mit vedkommende ... så er det jo rart at komme tilbage, netop som vi
Today Visual Studio 2008 has released SP1 which not only brings some fixes, but also is an added value
I'm getting this error in the log:
Returning IDOK. INSTALLMESSAGE_ERROR [Error 1309.Error reading from file: c:\Program Files\Microsoft Visual Studio 9.0\Microsoft Visual Studio 2008 Team Explorer - ENU\Program Files\Microsoft Visual Studio 9.0\Team Tools\Static Analysis Tools\FxCop\Rules\DesignRules.dll. Verify that the file exists and that you can access it.]
Installing experience of VS 2008 SP 1 RTM
It doesn't work for Microsoft Visual Web Developer 2008 Express Edition
How to proceed??
Your advice of Microsoft Visual Studio Patch removal tool not helpful with Microsoft Visual Web Developer 2008 Express Edition
ProJester, you need only run the tool if you see the error dialog telling you to use it when installing SP1 on VS 2008 box SKUs. Express SP1 Beta can be upgraded to Express SP1 RTM.
I have updated the blog post to better reflect this information.