by 3 Leaf Solutions, Ltd. Intel Corp.
This article introduces the new ClickOnce deployment technology that is included in the version of Visual Studio .NET code-named Whidbey. This mechanism provides developers the ability to deliver applications quickly and securely over the Internet and to configure those applications to update themselves automatically. ClickOnce is a significant advance in Web-based deployment of rich-client applications.
In recent years there has been an ever growing trend to move toward web applications as the primary corporate application type. Primarily this has been due to the ease of deployment of web applications. However, in corporations, there has been a trend to equip the "corridor warriors" with mobile technology (laptops and now, Tablet PCs) to the point where laptop sales now exceed desktop sales. Using Web portals, much of this mobile processing power has gone unutilized.
In the case of Web applications, they are considered more costly to initially develop, but ultimately easier to maintain. While updating Web applications is easier than pushing updates to hundreds or thousands of client machines, Web applications require users to be on-line to function, which runs counter to the trend of equipping workers with mobile platforms.
We now live in a world of wireless HotSpots in airports, hotels, and coffee shops. Many corporations have augmented their wired connections with wireless. As a result, the mobile user is constantly drifting in and out of network coverage. As the Web assumes a solid connection, this has resulted in critical corporate applications being unavailable for extended periods of time.
Intel has recognized this trend, and developed an architecture from the ground up to enable the mobile user. Intel® Centrino™ mobile technology, with integrated 802.11g/b or 802.11a/b support, seeks to provide users with network connectivity whenever possible. In addition, Intel Centrino mobile technology is aggressive with power management, and provides great battery life. With the hardware in place, the burden now falls on software to leverage the mobilized infrastructure.
ClickOnce quite simply combines the ease of Web deployment with the power of rich, mobilized software. ClickOnce applications are deployed from a central server, and are always up-to-date. However, the applications actually run on the client, and can take full advantage of the client processing power. Properly architected, they can provide rich functionality even when a network connection is not available.
ClickOnce represents the evolution of technologies that began to emerge in the first version of the .NET Framework as 'no-touch deployment.' The introduction of the .NET Framework solved a number of problems faced by developers. Managed applications built on the .NET Framework could benefit from application isolation and no-impact (XCopy) deployment. .NET Framework version 1.0 also remedied the problem of "DLL Hell" by providing a new approach to sharing and versioning components.
Eliminating DLL version problems opened the door to new ways of thinking about deploying applications. No-touch deployment emerged as a Web-based deployment method that allowed users equipped with Internet Explorer 5.01 or later to download and install Windows desktop applications from a URL and run them on their local machine without altering shared system components or the system registry. Also known as "href-exes," these rich desktop applications could be delivered to users with the relative ease of deploying a traditional Web application.
Running applications directly from a Web location has limitations. Specifically, applications run much slower over the Web than they would locally, and because they rely on network connectivity, they are not available offline. Another significant problem with href-exes exists in the area of security, where many applications required changes to the security policy on the client in order to run.
ClickOnce features and benefits
Building upon the foundation of this earlier model, ClickOnce addresses a number of deployment obstacles associated with other deployment methods. Its specific design goals include the following:
- Automatic / Self-Service Updating—As already discussed, no-touch deployment introduced Web-based installation of desktop applications; ClickOnce extends this functionality to provide a mechanism for automatically updating applications or for allowing users to update their applications at their own discretion. Further, these updates do not require the user to reinstall the entire application.
- Self-Contained Applications—To avoid the versioning conflicts sometimes associated with applications using shared components, ClickOnce deploys applications as self-contained entities that do not interfere with other applications. This characteristic also means that any applications installed subsequently to a ClickOnce application will not interfere with that ClickOnce application.
- Non-Administrator Installs—Windows Installer applications will only run under administrative permissions. Users can install a ClickOnce application under an account with reduced permissions, requiring only rights that are sufficient to run the application.
![]()
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... |
![]() | Mobile platforms need power-conserving applications: optimizing applications for extended battery life by Eric L. Palmer, Intel Corp. Applications can be designed to con... |
![]() | Managing your Linux system deployment with Tivoli Provisioning Manager for OS Deployment Join us to learn about how Tivoli Provisioning Manager for OS Deployme... |
![]() | Revolution in our hands: money matters - application design for a wireless world by Chris S. Thomas, Intel e-Strategist, Intel Corp. The mobile revo... |
![]()
Related Jobs:
![]() | Software/QA Engineer IV #753190 - CA - San Jose - Cisco Systems, Inc. Description Key Responsibilites include: Develop capabilities to ... |
![]() | Program Manager #151258 - WA - Redmond - Microsoft Corporation Want to work in the highly strategic and competitive area of web devel... |
![]() | Program Manager #132253 - WA - Redmond - Microsoft Corporation The .NET client team is looking for a strong senior Program Manager to... |
![]() | Business Consultant - DC - Washington - Saba Software Position Profile: The Business Consultant will participate in large, ... |
![]() | Javascript Systems Designer #part-00029301 - MA - Wellesley - Partners HealthCare System, Inc. Affiliate Name: Partners Healthcare Corporate Job Title: JavaScript... |
![]() | Software Quality Assurance Engineer - CA - Palo Alto - TNS Prognostics The SQA Engineer will apply knowledge of testing methodologies and p... |
![]() | Technical Support Engineer II #2301 - GA - Atlanta - S1 Corporation Job Description: S1 is seeking a Technical Support Engineer II. We w... |
![]() | Citrix Administrator #644 - NY - Long Island City - RCG Information Technology Description: All applicants must have a minimum of 3 years IT Industry... |
![]() | 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... |


