Upgrade Wizard: auto-upgrades and more

Monday, October 26, 2009 by The Telerik VSXTeam | Comments 3

Developers (yours truly included) often hate when there is a need to deal with an external tool to accomplish a simple task. The upgrade process of RadControls is such a tedious task – you need to start a browser, open the Telerik website, login to your account, navigate to the Downloads section, download the installer and run it. Even more - if you want to keep updated you need to either check your e-mail or refresh the Downloads page when you’re eagerly waiting for a new version.

 

One of the new features in the RadControls for ASP.NET AJAX and RadControls for Silverlight installations for the Q3 release is the auto-upgrade capability provided by the Visual Studio Extensions. We added a special webservice in the Telerik website to support that.

One of the aspects of the auto-upgrades is the automatic check for a new available version. The check happens once a day when you open a RadControls Web Application in the Visual Studio IDE. See for yourself:

NewVersionAvailableNotification

 

The other aspect is the retrieval of the actual new version. Once new version availability detected, you need to just provide your Telerik site credentials and you get the assemblies and the accompanying files downloaded and extracted to your hard drive*. Check these screenshots:

UpgradeWizard_DownloadLatestVersion

UpgradeWizard_DownloadLatestVersion_InProgress

 

Once retrieved, the new version is available for an upgrade:

UpgradeWizard_SelectDistribution

Here is important information I’d like to stress on: When you finish applying the upgrade, you’ll change the RadControls distribution the project uses. However, having the Visual Studio Toolbox populated with the RadControls you have installed, if you drag and drop a control to your page, you could accidentally revert the Telerik.Web.UI reference to the older version. The next page in the Upgrade Wizard allows you to prevent such an accident:

UpgradeWizard_UpdateToolbox

And finally, to be able to restore any breaking changes, you can automatically create a backup of your project and get a log:

UpgradeWizard_CreateABackup

UpgradeWizard_UpgradeLog

 

Notes:

  • There are two limitations we haven’t covered yet:
    In contrast to the installer, the auto-upgrade functionality does not add the Telerik.Web.Design assembly to the GAC. While technically possible, there are several side issues we would need to implement to have the auto-upgrades support the GAC addition.
  • The Visual Studio Extensions do not upgrade themselves for the time being. This is one of the major stuff the VSXTeam will be working in the near future.

 

* The download includes all the files affecting a web project operation – assemblies, script/skin files, RadSpell dictionaries, RadEditor dialogs. Documentation, Live Examples and Visual Studio Extensions are not included.

3 Comments

  • Amon-Ra Mackie 27 Oct 2009
    This feature is cool.  However, it would also be beneficial to me if this feature was available for any Telerik distribution, be it WPF, Silverlight, Reporting, etc.  How about a "Check for Updates" executable that I could use to download updates just by providing my credentials.  The app could download the updates to a folder I specify in the background.  While something like this may not update the projects associated with these assmeblies, I wouldn't have to log on a download each distribution separately.
  • Erjan Gavalji 28 Oct 2009
    A good one, Amon!
    We are working on providing Visual Studio Extensions for the rest of our products as well.

    Your suggestion is a very good one indeed, we have something in mind in the long term, but we haven't finalized the research and we don't have a strict decision yet.

    Cheers,
    Erjan
  • Patricio 30 Nov 2010
    So if I upgrade to the Q3 release, then I can use this wizard to upgrade to newer versions, but I can't use it to upgrade to Q3, right?
    Thanks,
    Patricio

Add comment

  1. Formatting options
       
     
     
     
     
       
  2. (optional, emails won't be shown on public pages)
  3. (optional)