Note - I originally wrote this blog post when the Windows Phone Developer Tools Beta was released, but the information is also useful when trying to install the RTW version. I'm going to update some of the links from this post to point to the WPDT RTW version instead of the beta version.
As noted in my previous blog post, the Windows Phone Developer Tools RTW was released recently. Since the RTW version was released, we’ve heard from some people who have had problems uninstalling the previous WPDT CTP builds from their computer in order to be able to install the RTW version. There are 2 specific types of issues that I’ve seen, so I want to describe each of them in a bit more detail in case anyone reading my blog in the future runs into similar problems.
Issue 1 – WPDT CTP uninstall will not proceed due to missing components
In this scenario, the WPDT CTP or CTP Refresh uninstall process detects that some optional components (Silverlight 4 Tools, XNA Game Studio 4.0 and/or XNA Game Studio 4.0 Windows Phone Extensions) are not present, and it forces you to re-install those components before being allowed to uninstall the WPDT CTP.
In most cases, you can simply allow setup to re-download and re-install the missing components, then run setup again and uninstall the CTP. The steps to accomplish this are documented in this blog post. This post describes CTP uninstall, but equivalent steps can be used for CTP Refresh uninstall as well.
Sometimes, the re-download and re-install of these components can also fail. If you encounter this type of failure, you can download the XNA Game Studio cleanup tool and choose the option in that tool to uninstall the Windows Phone Developer Tools as a last resort. After the uninstall completes, you can proceed with the installation of the WPDT RTW.
Note – the underlying problem with WPDT setup that causes it to force you to re-install components in order to uninstall the product is a known bug that existed in the CTP and CTP Refresh and has been fixed in the Beta and in the RTW version. However, since the bug was present in the CTP Refresh, it still impacts scenarios where you try to uninstall the CTP Refresh in order to move forward to RTW. You should not see this type of issue when uninstalling the Beta or RTW versions of WPDT.
Issue 2 – WPDT RTW install will not proceed because of incompatible components
In this scenario, the WPDT RTW setup process blocks you from installing because it detects that incompatible components are still installed on your computer. In some cases, this can happen even after uninstalling the CTP builds as described above in Issue 1.
I use the steps like the following to diagnose and resolve this issue:
- Open the file %temp%\dd_install_vm_xcor_100.txt and determine the exact components that WPDT setup has identified as incompatible. The incompatible products will generate log file entries like the following:
[07/12/10,10:49:40] VS Scenario: ***ERRORLOG EVENT*** : Error: CVSScenario::ExecuteEachBlocker returned false
[07/12/10,10:49:40] Setup.exe: AddGlobalCustomProperty
[07/12/10,10:49:40] VS Scenario: ***ERRORLOG EVENT*** : Error:There is a blocking condition met, the installer is blocking because of Section :
[07/12/10,10:49:40] Setup.exe: AddGlobalCustomProperty
[07/12/10,10:49:40] VS Scenario: ***ERRORLOG EVENT*** : Microsoft Visual C# Express 2010
- Look in the WPDT setup data file named blocker.sdb to determine the exact registry key that is being used to detect each incompatible product. Blocker.sdb is located in the vm_web.exe self-extracting setup package, and I have posted an extracted copy at this location. For the product in the above example, the information in blocker.sdb looks like the following:
[Microsoft Visual C# Express 2010]
This means that setup will block if the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\vcs\Servicing\10.0\xcor@Version exists and the value is less than 30319.01.
There is one subtle issue here - the WPDT setup is a 32-bit application, so that means that the registry location will be different on a 64-bit version of Windows. In the example above, the registry key will be at HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv\vcs\Servicing\10.0\xcor@Version.
- Use the Programs and Features control panel to uninstall the product that is triggering the block. In some cases, uninstalling the product will not remove the registry key that WPDT setup is checking for in blocker.sdb. In those cases, you may have to manually rename or change the registry value so that the block will no longer be triggered.
If you run into WPDT CTP uninstall issues or RTW install issues that are not solved by the above suggestions, you can use the log collection tool to gather your setup log files. This log collection tool will create a file named %temp%\vslogs.cab. This tool does not gather XNA Game Studio 4.0 setup log files, so if your setup failure is caused by the XNA Game Studio 4.0 component, you’ll need to gather those logs separately by zipping up all of the logs in the folder named %temp%\XNA Game Studio 4.0 Setup\Logs. Once you have gathered your setup log files, you can upload them to a file server of your choice (such as http://skydrive.live.com), and post a link to the log files in the forums or in a comment on my blog to get additional support.
<update date="7/14/2010"> Added a note about where to find the blocking registry keys on 64-bit versions of Windows. </update>
<update date="10/14/2010"> Updated the post to refer to WPDT RTW instead of the WPDT beta. </update>