ClickOnce - reduce the challenges of mobilized software deployment

Leveraging client processing power
A long-standing argument for building Web-based solutions rather than rich-client applications is that one can exploit the Web server's processing power to perform complex computations, including building dynamic HTML content, while making only modest demands on the client. ClickOnce removes some of the rationale for this argument. The robust power of client machines based on Pentium® 4 processors and Pentium M processors make the "weak client" argument much less compelling.

In fact, desktop and laptop computers can not only support multiple rich-client applications distributed using ClickOnce, but they are equipped with the processing power necessary to drive distributed applications that deliver a much richer user experience than is possible with HTML.

ClickOnce allows applications to take full advantage of the processing power provided by desktop and mobile processors. Solutions can provide a rich client interface, leverage offline storage, and offload processing tasks to client devices. Moreover, applications deployed using ClickOnce can support the Mobilized Software Initiative (MSI) by running whether they are connected to the network or not.

None of this suggests that Web-based applications will become obsolete. They still provide the broadest reach for solutions that need to run on a wide variety of operating systems. A Windows Installer package remains the best choice for a full-featured client installation. In many scenarios, however, one can now look forward to delivering rich-client applications to users without having to face the deployment constraints that made that deployment modality an impractical option in the past. The table below summarizes the three major deployment options and the advantages and disadvantages of each:


 

Web

ClickOnce

MSI Client

Reach

x

  
"No Touch" Deployment

x

x

 
Install / Run Per-User

x

x

 
Low System Impact

x

x

 
Rich Interactive UI 

x

x

Offline Access 

x

x

Windows Shell Integration 

x

x

Per-Machine / Shared Components  

x

Unrestricted Install  

x


At its core, ClickOnce is a set of new deployment features built into the .NET Common Language Runtime (CLR), including a programmable interface and integrated design-time support built into the Visual Studio.NET environment. These features can be utilized from the applications themselves and do not require a separate installation program.

Configuring an application for ClickOnce
ClickOnce is integrated in two places within the new version of Visual Studio .NET code-named "Whidbey". The first point of integration is in the property settings for an application (see Figure 1). The ClickOnce information you add in the 'Property Pages' dialogue is used to build the manifest files that are written to the deployment location, along with the compiled executable for your application.


Use the Property Pages dialogue to set the deployment location and to update information and applica

Figure 1 - Use the 'Property Pages' dialogue to set the deployment location and to update information and application prerequisites.


Subscribers who liked this article also read:

If you're interested in this topic, these articles may be helpful:

Mobilized software: the developer's new challenge
by Andrew Binstock, principal analyst, Pacific Data Works LLC. Intel C...
Wireless security demands more than technology
by Chris S. Thomas, Intel chief strategist, George Moakley, director o...
Extending a single .NET app across two platforms
by Justin Whitney, senior product marketing engineer, Intel Architectu...
Revolution in our hands: money matters - application design for a wireless world
by Chris S. Thomas, Intel e-Strategist, Intel Corp. The mobile revo...
Mobile platforms need power-conserving applications: optimizing applications for extended battery life
by Eric L. Palmer, Intel Corp. Applications can be designed to con...

Related Jobs:

Software Quality Assurance Engineer - CA - Palo Alto - TNS Prognostics
The SQA Engineer will apply knowledge of testing methodologies and p...
User Interface Software Developer - MA - Chelmsford - Kronos, Inc.
The Kronos engineering team located in Chelmsford, MA is looking for a...
Program Manager #138371 - WA - Redmond - Microsoft Corporation
The .NET client team is looking for a strong senior Program Manager to...
Program Manager #151477 - WA - Redmond - Microsoft Corporation
Senior Customer and Partner Experience Manager We are looking for s...
Technical Support Engineer 1 & II #2365 - TX - Austin - S1 Corporation
Job Description: Job Title: Level 1&2 Technical Support Engineer...
Network Technician III #43009 - CA - Irvine - The Home Depot U.S.A., Inc.
White Cap - NETWORK TECHNICIAN III (Irvine) (# 43009) Irvine, CA ...
Sr. Programmer Analyst #7A6525995A2BB2DB - CA - Pasadena - IndyMac Bancorp, Inc.
Post Date 2/2/2006 Job Title Sr. Programmer Analyst Job Category I...
Operations Specialist #132095 - WA - Redmond - Microsoft Corporation
BS/BS degree preferred, in accounting, finance or business law, or equ...
Business Consultant - DC - Washington - Saba Software
Position Profile: The Business Consultant will participate in large, ...
Program Manager #135076 - WA - Issaquah - Microsoft Corporation
Do you have the desire to make a huge difference to the MSFT customer ...