InPlaceHostingManager: Why Does AssertApplicationRequirements() Throw a TrustNotGrantedException?

As you may remember, InPlaceHostingManager is a part of the ClickOnce API that enables a .NET application to download and install other ClickOnce applications. It’s pretty straightforward to use – but there may be one area that trips you up. I was chatting in email with an MVP about why his InPlaceHostingManager application was throwing…


SQL Server Express, Windows Forms, and ClickOnce

I’m working on a project that will be included in a white paper, and needed to use SQL Server Express 2005 as a database engine. Being the “ClickOnce guy” on the Windows Forms doc team, I immediately wondered: How will I deploy this once it’s ready?Fortunately, Robert Walters already answered that question for me with…


Conflict Between ClickOnce and Kensington Mouseworks Causes ClickOnce Applications to Crash

The ClickOnce development team has just alerted us that the current versions of Kensington Mouseworks software have a bad problem in one of their driver DLLs that crashes all ClickOnce applications. The bug occurs in a DLL that is loaded with every Windows process,and crashes that process if the executable path is longer than 128…


ClickOnce: How to Dynamically Detect Data Directory Between Debug, Release, and Publish

Dynamically Detecting the Data Directory My Slideshow control (which I discussed in a previous post) looks in a data directory called images for the images it wishes to display. This adds a curious twist to application development and deployment. When I deploy an application using ClickOnce, I will want to include these files in the…


ClickOnce: Installing FrontPage Server Extensions 2002 on IIS 6.0 for Publishing

In order to test some ClickOnce deployments today, I had to configure a new Web server to allow ClickOnce publishing through Visual Studio. ClickOnce deployments can be x-copied to a Web server, so not having that auto-publish capability is not the end of the world. However, after testing one of my ClickOnce applications 20 or…


ClickOnce Identities: What They Are, Why You Should Care

I haven’t written much in the ClickOnce docs about the concept of a ClickOnce identity. Recent support inquiries have shown me that an understanding of this concept can help solve some very confusing problems. What is a ClickOnce Identity? The identity of a ClickOnce application is expressed by all of the properties (minus version) of…


Debugging Partially Trusted ClickOnce Apps

Shawn over at the .NET Security Blog has a great tip about using gflags to debug a ClickOnce app that fails to execute correctly in partial trust. Check it!


ClickOnce: Using On Demand Assembly Download in Partial Trust

A while back, I posted some information on how to get on demand assembly download to work for ClickOnce applications. As MVP Corrado Cavalli noted to me privately, however, this technique will not work in partial trust – and yet, the download APIs themselves are designed to work in partial trust! To use on demand…


Deploying Satellite Assemblies On Demand in a ClickOnce Application

Need to deploy satellite assemblies for your ClickOnce app? One way to do it would be to generate a new deployment for each localized version of your app, and include only the satellite assembly required for each localized version. Needless to say, if you localize to a number of cultures, this will result in the…


Boneheaded .NET Error of the Day

[Can I say “boneheaded” on MSDN? If this post disappears in an hour, you’ll know I’ve received an email from HR…] As a Programmer/Writer for Windows Forms, I develop code examples in both C# and Visual Basic.NET. Today, I was finishing up a code example for a new SDK topic on ClickOnce and localization. (Yes,…