Shell extensions in C# and/or VB.NET

Please, repeat with me.

I WILL NEVER WRITE SHELL EXTENSIONS IN C# OR VB.NET.

Not even if Dino Esposito suggests it.

It’s bad for many reasons.

Shell extensions are loaded in almost every application you run (read : every application with a file open dialog or save or browse for folder…). If your shell extension is written in a .NET language (C#, VB.NET, but also Managed C++, C++/CLI) you simply inject the whole CLR in almost every application.

This has these consequences :

So essentially, writing a shell extension in .NET is a good way to break applications and debuggers randomly.

It’s sad but UI in shell extensions must be written in p(l)ain C++.. :( :( :(

References :

Comments

Comments are closed.