Upgrading to Silverlight Tools Beta 2 and Visual Studio 2008 SP1 Beta
Silverlight 2 Beta 2 has just been released!
Checkout http://silverlight.net/GetStarted/
Silverlight Tools Beta 2 for Visual Studio 2008 now includes support for both:
- Visual Studio 2008 RTM (get a free 90 day trial version here)
- Visual Studio 2008 SP1 Beta
Upgrading "the Easy way"
[update] Please read Fixing Setup Errors Installing Silverlight Tools Beta 2
Installing Microsoft Silverlight Tools Beta 2 is quick and easy following the steps below.
Visual Studio 2008 RTM w/Silverlight Tools Beta 1 to Beta 2
If you simply want to upgrade your current Silverlight Tools Beta 1 installation:
- Install "Microsoft Silverlight Tools Beta 2 for Visual Studio 2008"
- Install "Expression Blend 2.5 Preview"
note: if you later install Visual Studio 2008 SP1 Beta, you'll need to reinstall Silverlight Tools Beta 2
Visual Studio 2008 SP1 Beta to Silverlight Tools Beta 2
If you've already got Visual Studio 2008 SP1 Beta and now want to install Silverlight Tools Beta2:
- Install "Microsoft Silverlight Tools Beta 2 for Visual Studio 2008"
- Install "Expression Blend 2.5 Preview"
Visual Studio 2008 RTM w/ Silverlight Tools Beta 1 to
Visual Studio 2008 SP1 Beta & Silverlight Tools Beta 2
The recommended way to upgrade to both Silverlight Tools Beta 2 and Visual Studio 2008 SP1 Beta is:
- Uninstall "Microsoft Silverlight Tools Beta 1 for Visual Studio 2008"
- Uninstall KB949325 (in Add/Remove Programs select "view installed updates")
- Install "Microsoft Visual Studio 2008 Service Pack 1 Beta"
- Install "Microsoft Silverlight Tools Beta 2 for Visual Studio 2008"
- Install "Expression Blend 2.5 Preview"
Following the above steps will ensure a smooth upgrade to both Visual Studio 2008 SP1 Beta and Silverlight Tools Beta 2.
Start Building Awesome Silverlight 2 Applications.
That's it, you're ready to start building incredible applications.
- Checkout this getting started video
- Quick Starts samples for Beta 2 are here
- You can review the breaking changes between Beta1 and Beta2 here
- For an Silverlight Tools update checkout What’s new with Silverlight Tools Beta 2
- And of course be sure to check out ScottGu's post Silverlight 2 Beta2 Released
Installation Errors?
The rest of the post is dedicated to the variety of errors and workarounds when not following the above sequences. The length of this post should be incentive enough to stick to the script above.
If you've already run into problems, fear not. The rest of this post is dedicated to getting you up and running with Silverlight 2 Beta 2 and Visual Studio 2008 SP1 Beta.
Installer Contents
The "Microsoft Silverlight Tools Beta 2 for Visual Studio 2008" installer "silverlight_chainer.exe" contains the following installers:
Silverlight.2.0_Developer.exe Silverlight 2 Beta 2 silverlight_sdk.msi Silverlight 2 Beta 2 SDK VS90-KB950630.msp KB950630 for Visual Studio 2008 RTM VS90SP1-KB950632.msp KB950632 for Visual Studio 2008 SP1 Beta VS_SilverlightTools_Beta2_Setup.exe Silverlight Tools Beta 2 for Visual Studio 2008
You can extract the individual components using this command:
silverlight_chainer.exe /extract
The first thing you'll notice is that there are two KBs, KB950630 and KB950632.
- KB950630 is a patch for Visual Studio 2008 RTM
- KB950632 is a patch for Visual Studio 2008 SP1 Beta
The installer will apply the patch matching the installation of Visual Studio that you have. This is why you need to rerun the Silverlight Tools Beta 2 installer if installing Visual Studio 2008 SP1 Beta after installing Silverlight Tools Beta 2.
note: These KBs are ENU specific. The localized release of Silverlight Tools Beta 2 will have unique KB #.
The installation sequence used by "silverlight_chainer.exe" is:
- Uninstall Silverlight Tools Beta 1
- Uninstall KB949325
- Uninstall "Microsoft Blend for Silverlight Beta 1"
- Uninstall the Silverlight 2 Beta 1 SDK
- Install Silverlight.2.0_Developer.exe (Silverlight 2 Beta 2 Developer Runtime)
- Install either KB950630 or KB950632 depending on version of VS
- Install silverlight_sdk.msi (Silverlight 2 Beta 2 SDK)
- Install VS_SilverlightTools_Beta2_Setup.exe
Notice that the installer also uninstall's "Microsoft Blend for Silverlight Beta 1". You can get the updated version of Blend for Silverlight Beta 2 here.
SP1 Beta Installation Errors
Installing out of the recommended sequence above can result in installation errors or design time errors when using Visual Studio.
SP1 (Beta) Does not Apply
One of the more common error messages while installing VS SP1 is:
Microsoft Visual Studio 2008 SP1 (Beta) does not apply, or is blocked by another condition on your system. Please click the link below for more details.
This happens when installing "Microsoft Visual Studio 2008 Service Pack 1 Beta" before uninstalling "Microsoft Silverlight Tools Beta 1 for Visual Studio 2008"
Check out this post for more information: Error installing Visual Studio 2008 SP1 Beta and Silverlight Tools Beta 1
The solution is to uninstall Silverlight Tools Beta 1.
Important: You also need to manually uninstall KB949325 prior to installing Visual Studio 2008 SP1 Beta.
Failure to uninstall KB949325 is the source of most of the other errors and problems listed below.
Fatal Error during installation
During the installation of VS SP1 you may also come across an error such as:
The installation failed with the following message:
Fatal error during installation.
Click the Finish button to exit.
Check out this post for more information: KB944899 Should be Removed before Installing Visual Studio 2008 SP1
Error from silverlight_uninstallrtmpatches.exe
[6/6/2008, 19:2:12] (IronSpigot::ExeInstallerBase::PerformAction) c:\036de815481bb1774fbe5acf\silverlight_uninstallrtmpatches.exe - Exe installer does not provide a log file name
[6/6/2008, 19:2:12] (IronSpigot::ExeInstallerBase::PerformAction) Exe (c:\036de815481bb1774fbe5acf\silverlight_uninstallrtmpatches.exe) failed with 0x80070643 - Fatal error during installation. :
[6/6/2008, 19:2:12] (IronSpigot::ExeInstallerBase::PerformAction) PerformOperation on exe returned exit code 1603 (translates to HRESULT = 0x80070643)
The above error has been reported and maybe related to installing on 64 bit Vista machines. This is the command that the silverlight_chainer.exe runs to remove KB949325. To get around this problem manually uninstall KB949325. The next time you run the the silverlight_chainer it will skip this step.
How to Validate SP1 is Installed Correctly
WARNING: Visual Studio 2008 SP1 Beta will report installation success even if KB949325 was not removed first. Unfortunately, failure to remove KB949325 will prevent some SP1 files from being updated.
This is why it's critically important to remove KB949325 before installing VS SP1.
One way to determine if KB949325 prevented SP1 from updating correctly is to check the version of Microsoft.VisualStudio.Web.Application.dll
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Microsoft.VisualStudio.Web.Application.dll
VS08 SP1 Version should be:
Version 9.0.30428.1 Date modified 4/29/2008 Size 468 KB If you have the following version it's from the Silverlight Tools Beta 1 release:
Version 9.0.21116.48 Date modified 2/23/2008 Size 492 KB This means that KB949325 was not removed and thus prevented SP1 from updating numerous files including Microsoft.VisualStudio.Web.Application.dll.
If you're in this state, read on carefully and see the "How to Recover" section.
Installing Silverlight Tools Beta 2
Unfortunately, unless you check files versions there is no obvious indicator that SP1 did not install all of it's files.
If you then installed "Microsoft Silverlight Tools Beta 2 for Visual Studio 2008" while Visual Studio is in this state with missed matched binaries you will get the following errors when running Visual Studio:
Creating new Silverlight projects:
Method 'SelectSilverlightProject' in type 'Microsoft.VisualStudio.Silverlight.SLPackage' from assembly 'Microsoft.VisualStudio.Silverlight, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' does not have an implementation.
Opening existing Silverlight projects:
Package Load Failure
Package 'Microsoft.VisualStudio.Silverlight.SLPackage, Microsoft.VisualStudio.Silverlight, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' has failed to load properly (GUID =
{CB22EEOE-4072-4AE7-96E2-90FCCF879544}). ...
Note that if you dismiss this dialog by selecting the "Yes" button then you'll need to run the following command later on after the installation has been fixed.
devenv /resetskippkgs
You'll also notice that in this scenario the version of Microsoft.VisualStudio.Web.Application.dll is still 9.0.21116.48.
Basically once KB949325 is installed it prevent subsequent patches from applying. This is why its critically important to uninstall the KB949325 before installing VS08 SP1 Beta.
As an aside if you install Silverlight Tools Beta 2 before SP1, it will remove KB949325. you'll just need to reinstall Silverlight Tools Beta 2.
How to Recover
Fortunately, all is not lost. If you do get into this state w/ miss matched binaries here is how you can recover.
The first thing you'll need to do is to uninstall the KBs installed by Silverlight Tools. To see these updates you'll need to run "Add/Remove Programs"
For Vista or newer:
- Open Uninstall a Program from the Control Panel
- Click 'View installed updates' in the task bar on the left
- Remove KB949325 (it will be listed under your version of VS2008)
- Remove KB950632 (it will be listed under your version of VS2008)
For pre-Vista systems:
- Open the Add/Remove Programs dialog from the Control Panel
- Click 'Show updates' at the top of the window
- Remove KB949325 (it will be listed under your version of VS)
- Remove KB950632 (it will be listed under your version of VS2008)
You may get this error "The patch is not applied to this product." when uninstalling KB949325.
Go ahead and disregard this error, we'll take care of it with the steps below.
Even after uninstalling both KB949325 and KB950632 you'll notice that the version of Microsoft.VisualStudio.Web.Application.dll is still 9.0.21116.48.
The next step will be to create a batch file containing the following commands:
rem Repair features Visual Studio SP1
rem ENU VSTS
msiexec /passive /i {80C06CCD-7D07-3DB6-86CD-B57B3F0614D8} ADDLOCAL=VWD_for_VS_Ent_5902_x86_enu /L*vx %TEMP%\dd_repair_VSTS.logrem ENU VSTD
msiexec /passive /i {6721AC10-3743-38F1-B178-C0EC6C9A4108} ADDLOCAL=VWD_for_VS_Ent_5902_x86_enu /L*vx %TEMP%\dd_repair_VSTD.logrem ENU PRO
msiexec /passive /i {D7DAD1E4-45F4-3B2B-899A-EA728167EC4F} ADDLOCAL=VWD_for_VS_Ent_5902_x86_enu /L*vx %TEMP%\dd_repair_PRO.logrem ENU VSTA
msiexec /passive /i {8F10429A-DFF5-3B55-9306-0ADEB337CFD3} ADDLOCAL=VWD_for_VS_Ent_5902_x86_enu /L*vx %TEMP%\dd_repair_VSTA.logrem ENU VSTT
msiexec /passive /i {23D0117E-F9A5-364E-A379-70EC2DE02B9F} ADDLOCAL=VWD_for_VS_Ent_5902_x86_enu /L*vx %TEMP%\dd_repair_VSTT.logrem ENU VSDB
msiexec /passive /i {4298C783-524F-3C3E-9B11-36FA64604B2B} ADDLOCAL=VWD_for_VS_Ent_5902_x86_enu /L*vx %TEMP%\dd_repair_VSDB.logrem ENU STD
msiexec /passive /i {F434F50E-7614-3EA8-9008-2FB866B697DA} ADDLOCAL=VWD_for_VS_Ent_5902_x86_enu /L*vx %TEMP%\dd_repair_STD.log
Run the batch file you created with the above commands. This will put VS back into a recoverable state. Note that the KB949325 will still be listed in Add & Remove Programs. Unfortunately it'll continue to show up even though it's been uninstalled.
Now re-install "Microsoft Silverlight Tools Beta 2 for Visual Studio 2008". You can also do this by running Silverlight_chainer.exe again.
Confirm that KB950632 is shown when viewing installed updates in Add/Remove Programs.
Confirm that the new Beta 2 version of Microsoft.VisualStudio.Web.Application.dll is:
Version 9.0.30428.9 Date modified 6/3/2008 Size 512 KB
Other Errors:
“Object reference not set to an instance of an object” when adding a WCF service" - Crash on Exit
Tim Anderson has found a work around for the following problem and posted a solution here
- Error “Object reference not set to an instance of an object” when adding a WCF service
- Silverlight app cannot see WCF services in same solution
- Error “Unable to find ‘DynamicTypeService’” when clicking the Advanced button in the Add Service Reference dialog.
- Visual Studio crashing on exit
We're almost done!
If you now get an error creating or opening Silverlight projects:
The project type is not supported by this installation
You'll need to run the following command:
devenv /resetskippkgs
Finally, if no controls are showing up on the toolbox when editing Silverlight XAML pages then you'll need to:
delete %LOCALAPPDATA%\Microsoft\VisualStudio\9.0\toolbox*.*
At this point you should be up and running with Visual Studio 2008 SP1 Beta and Silverlight Tools Beta 2.
Where to go for Installation Help?
Be sure to check out the Silverlight 2 Beta 2 readme for known issues.
If you run into installation issues not covered here please post your question in the "Installation and Setup" forum here: http://silverlight.net/forums/13.aspx