Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio
All postings are provided AS IS
with no warranties, and confer no rights. Additionally, views expressed
herein are my own and not those of my employer, Microsoft.
I have seen several reports of issues related to uninstalling a beta or release candidate build of Visual Studio 2008 and installing the final release. As noted in many places, including this blog post, the most important step to take when updating a system to the final release of VS 2008 is to make sure that the pre-release VS 2008 packages are correctly removed. There are a couple of different scenarios that have different sets of uninstall requirements that are worth clarifying here.
Updating from beta 2 to the final release
If you have the VS 2008 beta 2 build or an earlier beta installed, the uninstall process for VS 2008 includes logic to automatically chain the uninstall of any pre-release packages that it chained in during installation. This means that if you had beta 2 installed, you can perform a very simple set of steps to remove beta 2 and install the final release:
If you follow these steps, you will probably notice that there will be several other packages that are left behind on the system after uninstalling beta 2. However, each of those packages are designed to be automatically upgraded to the final release versions. I've used theses steps on several systems (Windows XP, Windows Server 2003 and Windows Vista) and have had good results so far. There may be some isolated cases where the pre-release bits end up interfering with the final release install, and in those cases it may be necessary to manually remove the remaining packages. There is a link at the bottom of this post that lists all of the packages that are installed during VS 2008 setup if you need to uninstall them manually.
Updating from a post-beta 2 build to the final release
After VS 2008 beta 2, the chained uninstall feature was disabled within VS 2008 setup because a decision was made a while back to not automatically uninstall any chained components that are non-beta in case other applications on the system depend on them.
This means that if you have a post-beta 2 but pre-final release build (such as the release candidate), then you will need to make sure to uninstall all components by using the manual uninstall steps or the automated removal tool. The order of uninstall is important in these uninstall steps, so make sure to follow them as listed in this MSDN topic if you choose to uninstall manually instead of using the automated removal tool.
One additional note here - the manual uninstall steps and the automated removal tool will also perform a full uninstall of the final release of Visual Studio 2008 if you need to remove that from your system as opposed to just removing a pre-release version of VS 2008.
A note about removing the .NET Framework 3.5 beta
The .NET Framework 3.5 setup package has a couple of features that allow you to directly upgrade a system from a previous beta to the final release. For Windows XP and Windows Server 2003, the .NET Framework 3.5 is installed via a set of MSI packages. Each of those MSI packages contains Windows Installer major upgrade logic to accomplish the beta-to-RTM upgrade scenarios.
On Windows Vista, the .NET Framework 3.5 installs the .NET Framework 2.0 SP1 (Update for Microsoft Windows (KB110806)) and the .NET Framework 3.0 SP1 (Update for Microsoft Windows (KB929300)) as OS hotfix packages instead of as MSI-based packages. The final releases of these packages are designed to migrate forward any public beta versions of these packages so that you do not need to manually uninstall them, and I've successfully upgraded from beta 2 to RTM on several Vista systems without needing to uninstall these packages. However, there have been a few cases we've run into where that logic does not work.
You can use the following steps to manually remove beta versions of the .NET Framework 2.0 SP1 and 3.0 SP1 on Windows Vista if necessary:
Useful VS 2008 beta uninstall links
Here are a few links that may be useful to you as you work through the process of uninstalling beta versions of VS 2008 and moving forward to the final release: