On Sat, May 22, 2010 at 3:01 PM, Ian Thomas <il.tho...@iinet.net.au> wrote: > I guess it’s well known here that writing managed shell extensions was > strongly discouraged because it has the effect of injecting your managed > code (and the .NET Framework) into every application on the machine that has > a file open dialog. That can be disastrous. > > (see for example, Junfeng Zhang’s 2005 blogpost, Don't do Shell Extension > Handlers in .NET). > > Some time ago, a group called Sky Software (now LogicNP) offered a series of > products for writing a broad range of shell extensions in .NET, and these > have been widely accepted. I have used trial versions, and they work. > > Taking the more cautious approach, I have followed the conventional recipes > to write a few shell extensions in C++, but I find it hard going. > > There have been a few articles like “C# does Shell” (or something similar) > which don’t use the LogicNP products, but I’ve not followed their lead. I > guess I’ve heeded the Microsoft warnings, or I’m too cautious. Or not smart > enough to make sure I’ve taken the necessary precautions. > > But until I had a look around on Stack Overflow today, I wasn’t aware that > .NET 4 runtime changes all that. > > Framework 4 supports in-process side-by-side loading of all .NET runtimes, > so this “injection” problem can be avoided (which is the way that Sky > Software avoided the problem, I believe –ie, side-by-side loading). > > It’s over 6 months since I have written anything using the MEF/MAF or > checked out the CLR blogs, because I should have known this was in the > pipeline (in joke?). And I haven’t been reading MSDN Magazine very > carefully, either – CLR Inside Out has a good article. > > Another compelling reason to use the latest framework version, and to > convince clients and colleagues to do the same.
Interesting. I was just thinking about writing a shell extension as well. Finally a reason to care about .NET 4. > ________________________________ > > Ian Thomas > Victoria Park, Western Australia -- silky http://www.programmingbranch.com/