ClickOnce – Not an ad for your camera!

On Feb 7th, 2005, I will be doing the keynote at VSLive! in San Francisco. Among other things, I will be speaking about Smart Clients’.  


One of the key advances that we are adding in Visual Studio 2005 for easy, secure, reliable deployment of smart client applications is the ClickOnce feature.  ClickOnce combines the best of the Web and Windows – the richness of a Windows-based application and the deployment benefits of a Web application. Users can download rich client applications from a web based server and run the app offline.  The deployment server automatically updates client applications on the user’s machine in a safe and secure manner i.e. the client applications run in a security context that can prevent them from doing harmful things at runtime.  Not only that, subsequent deployments of a new version of the application (caused by a dot release, or a security fix or the next version) is automatic with ClickOnce.  


I am very pleased to see the excitement around ClickOnce.  Several people have blogged about it –Wei-Meng Lee ‘s article talks about how smart clients are supported in Visual Studio 2005 and how it makes deploying them easy and painless as does Jay Glynn in his blog and Bart De Smet in his blog.


I am interested in knowing what you think about Smart Clients – especially the ease and power of ClickOnce. Please let me know your thoughts.


– Namaste!

Comments (10)

  1. S. "Soma" Somasegar, Corporate VP of Microsoft Developer Division, leads off the VSLive! conference in San Francisco with a keynote on Smart Clients. But the more I look into smart clients the more I’m troubled. I see products, application blocks, technologies and teams who are delivering a piece of the smart client puzzle — but who’s in charge?

  2. Asher says:

    ClickOnce sounds like a very interesting technology, I guess the main problem with it adoption is the issue that it will require .NET 2.0 (which means you need to deploy it before clickonce can work)

    I wish that MS would improve the support for other smart client/application installation.

    The fact that even Microsoft is using 3rd party tools (InstallShield) to create setup application is more than a clue that MS doesn’t have a good solution in this area.

  3. Bart De Smet says:

    Hi Asher,

    The need for .NET v2.0 is true in the current beta, and I think this won’t change in the future. However, the .NET Framework v2.0 redistributed can be deployed using ClickOnce as well, therefore eliminating a part of this problem. Other redist packages can be deployed as well, e.g. SQL Server 2005 Express, MSI 2.0, VJ# 2.0 redist, MDAC 2.8 and likely the list will grow.

    Thanks to Somasegar for reading my blog.

    Kind regards,

    Bart De Smet [MVP]

  4. Many of the pieces for building smart clients are in place, with the exception of a good data synchronization story. I want to be able to write to a variety of local data stores (SQL Express, Access, XML Documents, Whatever), and have the local data store sync, through Web services with the back-end store. In other words, I want SQL Merge Replication, just more generic. This doesn’t exist today, and IMHO, data synchronization is the biggest hurdle to building Smart Clients.

    Oh yeah, and practically none of the technology (Smart Client Offline Application Block, WSE, App Updater Block, etc.) are available for Pocket PC.

    Oh yeah, one more thing, the term Smart Client has been munged to the point where an awful lot of people don’t even know what it is, nor can they get a consistent answer when they ask. Some people think it’s the same thing as Smart Device. Other people think it only has something to do with Office development. Even Microsoft seems to have really struggled to define the term.

    Stuart had a great post where he asks "Who owns Smart Clint?"

    I think this is a great question. I don’t see anyone in Microsoft who’s tasked with saying "Here are all the building blocks a developer would need to productively build smart client applications", and then driving development to actually build those and make sure they work together. So far, Smart Client is a marketing term, but it’s not being developed as though it were a product.

    Ranting aside, I’m a huge proponent of Smart Client. I think with so many mobile users, and so much connectivity available, the stars are aligning to make it "the way" many applications should work. It’s just pretty hard to do today.


    I am very excited about PDC. I arrived LA on Sat night. I heard PDC generates a lot…


    I am very excited about PDC. I arrived LA on Sat night. I heard PDC usually generates…


    I am very excited about PDC05. I arrived LA on Sat night. I heard PDC usually generates…