Just a quick question, that could save me hours of time
I'm playing around with .NET shell extensions again, and I have an extension that works perfectly, picking up calls to ShellExecuteEx.
My problem is, that to make this work, as well as registering my extension through com (which is easy), I also need to import it into the GAC of the host machine.
Now this is easy to do manually - just drag and drop the dll, or use the tools included with the SDK, however I want to be able to do this programatically, so that running the exe I provide with my solution will register the dll with com AND GAC, and also be able to unregister it when a /u switch is there.
With .NET 1.0 and 1.1 you could do this using a file called fusioninstall.cs which was included with the SDK. This provided some functions which you could just wrap with a .NET class and call to import/remove the dll from the GAC at runtime. However I cannot get this to work with .NET 2.0 at all - it will compile fine using the fusioninstall.cs file from .NET 1.1, however at runtime it gives me a “System.EntryPointNotFoundException” Exception.
I *think* that this is because the entrypoints for the required functions in fusion.dll have changed with .NET 2.0 (since the CLR team *loves* to break things between revisions, and they hate to document important things like fusion.dll), so i'm looking for another way to do it
Anyone got any ideas? Maybe it has been incredibly simplified in 2.0 and I just can't find the right classes to use..or it could even be a simple modification to the fusioninstall.cs file..i'm still playing around with it to see if I can get it working, but maybe someone here has some ideas
Thanks in advance,
Spud/Pete


LinkBack URL
About LinkBacks
Reply With Quote