Programming Books C Java PHP Python Learn more Browse Programming Books
Smart Client Deployment with ClickOnce and over one million other books are available for Amazon Kindle. Learn more
  • List Price: $49.99
  • Save: $6.77 (14%)
Only 1 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
FREE Shipping on orders over $35.
Condition: Used: Like New
Comment: Used book in like-new condition Has very little wear and tear on the cover. Binding is tight and in excellent condition. Has pristine, unmarked pages. Buy your literature with confidence! This book qualifies for PRIME and FREE SHIPPING! We ship daily Monday-Friday. Delivery confirmation included.
Access codes and supplements are not guaranteed with used items.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Smart Client Deployment with ClickOnce: Deploying Windows Forms Applications with ClickOnce Paperback – January 6, 2007

ISBN-13: 978-0321197696 ISBN-10: 0321197690 Edition: 1st

Buy New
Price: $43.22
14 New from $30.85 28 Used from $0.01
Amazon Price New from Used from
"Please retry"
"Please retry"
$30.85 $0.01

Frequently Bought Together

Smart Client Deployment with ClickOnce: Deploying Windows Forms Applications with ClickOnce + Deploying .NET Applications: Learning MSBuild and ClickOnce (Expert's Voice in .NET)
Price for both: $73.10

One of these items ships sooner than the other.

Buy the selected items together

Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Paperback: 336 pages
  • Publisher: Addison-Wesley Professional; 1 edition (January 6, 2007)
  • Language: English
  • ISBN-10: 0321197690
  • ISBN-13: 978-0321197696
  • Product Dimensions: 6.9 x 0.8 x 9.3 inches
  • Shipping Weight: 1.4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (10 customer reviews)
  • Amazon Best Sellers Rank: #1,425,713 in Books (See Top 100 in Books)

Editorial Reviews

About the Author

Brian Noyes is a software architect, trainer, writer, and speaker with IDesign, Inc. (, a premier .NET architecture and design consulting and training company. He is a Microsoft Regional Director ( and Microsoft Most Valuable Professional (MVP), and has been developing software systems for more than sixteen years. He speaks at many major software conferences around the world, and writes for a variety of software journals and magazines. He lives in Alexandria, Virginia, but is a Southern California surf bum at heart, having grown up there. Prior to becoming a full-time software developer, Brian flew F-14 Tomcats in the U.S. Navy and graduated from the Navy Fighter Weapons School (TopGun) and the U.S. Naval Test Pilot School. Brian has a master’s degree in computer science from the University of Colorado, Boulder, a master’s degree in aerospace engineering from the Naval Postgraduate School, and a bachelor’s degree in aerospace engineering from the U.S. Naval Academy.

Excerpt. © Reprinted by permission. All rights reserved.

Deployment has been a thorn in most developers’ sides for a long time. Developing complex distributed applications is challenging enough just from a design and implementation perspective. Failing to plan for deployment or having the deployed environment change on you can kill an application quickly, no matter how well you plan for it. ClickOnce does not solve this problem, but it definitely takes a big step in the right direction for streamlining deployment of smart client applications.

I was first exposed to ClickOnce more than three years ago at an early adopter lab on the Microsoft campus in Redmond. At the time, I was just starting to get immersed in smart client technology and beginning to think about how to address all aspects of the application lifecycle as an architect. Having experienced a fair amount of deployment pain myself in the past, I instantly fell in love with ClickOnce as a technology. I quickly saw the potential for ClickOnce to be a key enabler for the broad adoption of smart client architectures because without a way to get those smart client applications in your users’ hands, you might as well not build them.

The most common question that I got as I was working on this book was, “How can you write a whole book on ClickOnce?” This usually came from someone who had seen demos of ClickOnce but had not yet tried to use it for something real. ClickOnce is incredibly powerful, yet it seems simple on the surface. It takes only five to ten minutes to run an end-to-end demo of what ClickOnce can do for you. When people have seen this kind of presentation of ClickOnce, they do not realize that ClickOnce addresses a lot more than a single common deployment scenario. However, whenever you try to provide flexibility and power, a fair amount of complexity also comes along with it.

I think the ClickOnce team did a really good job of making the simple, straightforward use of ClickOnce as easy as possible. If you are building a new smart client application from scratch with ClickOnce in mind, using ClickOnce to deploy it requires minimal effort for both your administrators and your users. However, real applications are rarely simple and straightforward (even though, because of poor architecture, the complexity is often unnecessary or disproportionate to what the applications are designed to do). ClickOnce has many variations and options that let you address a broad range of scenarios to deal with those complexities. And once you start getting into those capabilities, you dive into the deep end of the ClickOnce pool and really need to understand a lot more about what is going on under the covers; what the effects are of setting publishing, update, and security options different from the defaults; how your application is going to behave in the ClickOnce runtime environment; and so on.

Who Should Read This Book?

This book is written for those developers and architects who need to understand the full range of capabilities of ClickOnce so that they can make educated decisions early in the development lifecycle and put those decisions into practice when the product is getting close to complete. You will need this understanding to make sure you can get your smart client applications deployed through ClickOnce and to address the complexities of real-world applications in that environment. It is primarily written for intermediate to advanced developers or architects, but IT professionals who are responsible for deploying and maintaining ClickOnce applications can also get a lot out of most of the chapters as well.

This is not a book about programming, although there are aspects of ClickOnce covered in several of the chapters that require coding to use. ClickOnce is mainly driven through Visual Studio project configuration, tools, and processes, not through code. So a fair percentage of the book will describe these aspects, and only a small portion will discuss code directly.

There is a programmatic API that is discussed in several chapters, and there are other coding practices that are important from within your application that can affect the deployment and execution of a ClickOnce application. For the sections that cover coding, I expect that readers already know how to code .NET applications. I will point out appropriate references when necessary for complex topics, but to understand the code samples, you need to have some experience developing Windows Forms applications in .NET. 1


Deploying ClickOnce applications is mostly about tools and less about code. However, there are a number of code samples in this book, and to help make things easier, I have adopted some common conventions.

First, any time I refer to classes, variables, namespaces, and other artifacts that manifest themselves in code, I will use a monospace font to make it clear if I am talking about an instance of the ApplicationDeployment class as opposed to talking about a coding construct in a conceptual way. Short code listings will be presented inline within the text using a monospaced font as well.

Longer listings will use a similar font, but will be broken out into labeled listings that can be referred to throughout the text (based on listing numbers). Within code listings, I will sometimes set in bold particularly relevant portions of the code, especially to highlight “evolving code.” I may remove details that are not relevant to a discussion, and if so will insert a comment that indicates that there are more details, identifiable by a comment with an ellipses (//...). What this means is that more code is needed to complete the example or that there exists more code generated by the designer, but you don’t need it to understand the concept. On occasion, I will add explanatory comments to code in order to show context.

System Requirements

This book was written using the released version of Visual Studio 2005 and the .NET Framework 2.0. ClickOnce capabilities are available in all versions of Visual Studio, including Visual C# 2005 Express and Visual Basic 2005 Express. You do not need Visual Studio to use ClickOnce because it is a core capability of the .NET Framework, but to use ClickOnce for any serious project, you will need Visual Studio to do the initial publishing. Throughout the book, I will refer to Visual Studio instead of Visual Studio 2005 for brevity, but you can always infer that I mean Visual Studio 2005 or one of the Express versions (even though they do not have “Studio” in their official names).

If you plan to run the samples available from the download site or the walkthroughs and code listings in this book, you will need a version of Visual Studio 2005, Visual C# 2005 Express, or Visual Basic 2005 Express installed on your machine. One of the samples uses a SQL Server 2005 Compact Edition database to provide sample data to the application, but it includes the libraries needed to run that. One sample uses the Northwind database to provide sample data. Because the particular functionality of the application is not important to the topic being covered (how to deploy and update these applications with ClickOnce), don’t get wrapped up in trying to get these samples running if you don’t already have the databases available; just create an empty Windows Forms application and use it.

Choice of Language

I chose to present the code samples in this book in C#. The downloadable code is available in both C# and Visual Basic. It is a fact of life that there will continue to be a mix of C# and Visual Basic available in articles, books, and code samples for a long time to come. Even though I prefer C# myself, that is just a preference, and I feel that Visual Basic is a solid choice for developers who have a strong background in earlier versions of Visual Basic.

I firmly believe that to be an effective .NET developer, you need to be able to read code from either language, even if you spend most of your time with one. If you are not already comfortable reading C# code, I encourage you to use this opportunity to get comfortable with reading C#. It will expand your horizons in terms of the amount of reference material that is available to you, it may help you in your job, and it will give you bragging rights over the many silly and close-minded C# developers who can’t or won’t read Visual Basic.

Chapter Overview

This book steps you progressively through all of the concepts you will need to master to use ClickOnce to deploy real-world smart client applications. It starts with the basics in the first chapter, giving you a high-level view of ClickOnce and the surrounding context of smart client applications. Then it steps through deploying and updating applications, with all the associated options. It then focuses on more of the infrastructure for ClickOnce deployment, including how to manage application files, security, prerequisites, and advanced capabilities. It ends with an appendix that tells you what is different with respect to Windows Presentation Foundation application deployment (not much).

Here is a quick breakdown of the contents of each chapter.

Chapter 1: Introduction to ClickOnce. This chapter sets the context for the rest of the book. It starts by describing what a smart client application is and what deployment challenges ClickOnce was designed to address. It describes the high-level features of ClickOnce, and then walks you through a sample deployment and update of a client application using ClickOnce. This chapter wraps up describing the system requirements for ClickOnce, how it relates to other deployment technologies, when to use it and when not to, and a quick discussion of smart client architecture.

Chapter 2: Initial Deployment with ClickOnce. This chapter covers the process of publishing an initial version of an application and deploying it...

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.4 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 10 customer reviews
This is a great starting place.
A. Struthers
I was hoping for more detail on securing the files downloaded to the Client, and some better advice one securing running ClickOnce with parameters.
T. Anderson
The book is well layed out and documents the ClickOnce menus and options thoroughly.
Ryan S. Gandy

Most Helpful Customer Reviews

9 of 9 people found the following review helpful By T. Anderson TOP 1000 REVIEWERVINE VOICE on January 13, 2007
Format: Paperback Verified Purchase
I gave this book 5 stars because it is very thorough. It covers everything there is to know about ClickOnce deployment. The author didn't miss any topic and covers the topics very thoroughly.

It wasn't what I had hoped for because I already own 'Deploying NET Applications Learning MSBuild and ClickOnce'. I was hoping for more detail on securing the files downloaded to the Client, and some better advice one securing running ClickOnce with parameters. The was no new info.

Both books offered the same information, and depth on the topics. So if you own 'Deploying NET Applications Learning MSBuild and ClickOnce' I would not buy this book.

If you don't own a book on ClickOnce, and you want to learn all the details about it, this is an excellent book.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
2 of 2 people found the following review helpful By Panit Tuangsuwan on January 15, 2007
Format: Paperback
This book is a 5-stars book carrying completed information about ClickOnce from the beginning to the finish deployment of your project.

It is practical, compact, easy-to-read, and up-to-date. You will enjoy reading it and finish it in few days.

For .NET developer, it is a must-have book, and worth for your money. Interestingly, it shows how-to-use "ClickOnce" for both Windows and Web applications. This completed information is hardly found in other books.

I am a .NET developer who has experienced for several projects. I recommend this book with Deploying .NET Applications from APress. If you can afford two books, get them both. If you can get only one of them, get this one because in my opinion, it carried deeper, wider, updated information.

Enjoy ClickOnce!!!
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
By Ryan S. Gandy on October 20, 2008
Format: Paperback
The book is well layed out and documents the ClickOnce menus and options thoroughly. This is great for people who are not software junkies. As a techie I found the descriptions of the interface components a little long winded as most of this information can be deduced from the click once interface itself. I bought the book to troubleshoot a specific problem I was encountering installing Click Once applications with third party DLL's on Windows Vista. The book shed some light on part of the problem but was not really geared towards in depth problem solving when the technology does not work the way it is supposed to.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
Format: Paperback
This book is very well written. Actually that can be said about any book written by Brain Noyes.
It helped me a lot when I was put in charge of the ClickOnce deployment for our project. It had 99% of everything that I needed to know about ClickOnce deployment. Brian's style is very lucid and he brilliantly unfolds the steps in a very logic manner. In short, if you want to learn ClickOnce deployment, this book is a very good investment.
Well done, Brian.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
Format: Paperback
I just finished Noyes' book on Microsoft's .NET ClickOnce API and found it to be helpful in understanding most aspects of ClickOnce. It provides illustrations of the user's experience when installing an application through the API, and the book is helpful by providing information for making proactive choices when designing the architecture of your application (such as the security consequences of utilizing 3rd party controls).
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

What Other Items Do Customers Buy After Viewing This Item?