I'm not sure about namespace extensions but almost every other kind of shell extension is possible using VB. Property Page extensions are a little tricky because you need a way to call an AddPage function pointer returned to your shell and I saw someone just create a very simple DLL and declared it in VB to do this. The code in the DLL (regular DLL) was something like this;

typedef BOOL (CALLBACK FAR * LPFNADDPROPSHEETPAGE)(LONG, LONG);

int WINAPI __export AddPage(LPFNADDPROPSHEETPAGE lpfnAddPage, LONG hPage, LONG lParam) {

return lpfnAddPage(hPage, lParam);

}

Also Microsoft has a context menu shell extension sample in VB. You should be able to find it at MSDN.

To be honest shell extentions are the only thing I can think of that are easier in C++ than VB. The code is fairly boilerplate so the actual code you have to add in C++ is just the stuff you want to do. Just look at the MS sample and you'll see what I mean about being harder in VB.

If I can dig up any samples I'll post them but I don't know if I have backups of that stuff from my last hard drive crash.