开发者

Windows Explorer plugin DLL in 32 and 64 bits

I am currently working on a DLL for Windows Explorer, which provides various features like information and thumbnails for certain types of files. So far it works fine on Windows x64, and I am now working on the 32/64 开发者_如何学Gobits issue and on the registration process (this process is made by a small standalone program written in C#).

My understanding is:

  • a 64 bits DLL will not work with a 32 bits application and vice versa
  • thus the 64 bits DLL will not work for the Open file dialog box of a 32 bits application
  • I need to register separately the 32 and 64 bits versions

My questions are:

  • are my assumptions correct so far? In particular I am wondering if the browse dialog box opened by an application necessarily has the same bitness as the application (or is the dialog box managed by some Windows 64 process anyway?)
  • supposing I have a 32 bits and a 64 bits versions of my DLL, how do I register them from a 64 bits program? ("Ok Windows I'm a 64 bits process, but I'm registering this for 32 bits applications, got it?")

Some pages I have read on the topic:

Windows 64-bit registry v.s. 32-bit registry

http://msdn.microsoft.com/en-us/library/aa384232%28v=VS.85%29.aspx


Your understanding is correct. You need to supply a 32 bit version for users on 32 bit Windows as well as for common dialogs for 32 bit processes under WOW64.

How to deploy depends on your installation tool. When I have done this I created separate MSIs for the two versions, from the same source, and used a bootstrapper setup.exe that installed them both. Recommended practice is to set the registry settings from the MSI. Then you let registry redirection do it's magic under WOW64.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜