I need to install a shell extension (64-bit DLL server) for the contextual menu on any version of Windows x64. I'm able to register the extension just fine (regsvr32) if on the target system I have installed the redistributable files for VS 9.0 SP1 x64 (setup file from Microsoft).
However I have to make a setup and cannot require the user to have those files already installed so I need to include the redistributable CRT and MFC DLLs in my setup in the same folder as my DLL.
I've tried to include the 64 bit redistributable DLLs from my VS 9.0 SP1 (called AMD64) but they don't seem to work. What am I doing wrong开发者_如何学运维? What DLLs should I use?
You need to look into Microsoft Merge Modules. Since you haven't listed what technology you are making your setup with I can't give any more specific guidance than that however.
http://msdn.microsoft.com/en-us/library/ms235290%28VS.80%29.aspx
I resolved my problem by statically linking the required libraries. The size is much smaller than having the executable + dlls. I can do that for my shell extension but not for the main application since there are conflicts with the included libraries.
Thanks Billy ONeal for the suggestion, I was ignoring the obvious.
精彩评论