I built a WPF application in VS.NET 2008 using ClickOnce deployment. It worked perfectly on any machine on which VS.NET was installed, but my business users received an error message: "The application could not be installed or started. The application requires Microsoft.Windows to be installed on Microsoft Windows 2000 .Design.Extensibility Version 3.5.0.0 Global Assembly Cache (GAC). "
I was surprised to find that this DLL is not part of the standard client installation of .NET 3.5 SP1, but for some reason my application thought it was necessary. I checked the Publish tab for the project, and that turned out to be a prerequisite.
Oddly enough, I was able to simply delete this (and all other Microsoft.Windows.Design. * .Dll files), and it just worked everywhere. I completely removed them from my project, and everything was in order.
Can someone explain why the VS.NET 2008 project wizard forced them to be included in the project, and more importantly, why ClickOnce thought they had to be on the client machine to run?
It's just a matter of curiosity, but I'm sure I'm not the first to bite him. I hope this post at least saves someone else from a headache.
Mike snyder
source share