在 x64 Windows 上安装 DLL 服务器
我需要为任何版本的 Windows x64 上的上下文菜单安装 shell 扩展(64 位 DLL 服务器)。如果我在目标系统上安装了 VS 9.0 SP1 x64 的可再发行文件(来自 Microsoft 的安装文件),我就可以很好地注册扩展(regsvr32)。
但是,我必须进行设置,并且不能要求用户已安装这些文件,因此我需要在我的设置中将可再发行的 CRT 和 MFC DLL 包含在与 DLL 相同的文件夹中。
我尝试包含 VS 9.0 SP1 中的 64 位可再发行 DLL(称为 AMD64),但它们似乎不起作用。我做错了什么?我应该使用哪些 DLL?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要研究 Microsoft 合并模块。由于您没有列出您正在使用什么技术进行设置,因此我无法提供比这更具体的指导。
http://msdn.microsoft.com/en-我们/库/ms235290%28VS.80%29.aspx
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
我通过静态链接所需的库解决了我的问题。其大小比可执行文件 + dll 小得多。我可以为我的 shell 扩展执行此操作,但不能为主应用程序执行此操作,因为与包含的库存在冲突。
感谢比利·奥尼尔的建议,我忽略了显而易见的事情。
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.