DLL плагина Windows Explorer в 32 и 64 битах - PullRequest
0 голосов
/ 29 сентября 2011

В настоящее время я работаю над DLL для Windows Explorer, который предоставляет различные функции, такие как информация и эскизы для определенных типов файлов.Пока что он отлично работает на Windows x64, и сейчас я работаю над проблемой 32/64 bits и процессом регистрации (этот процесс выполняется небольшой автономной программой, написанной на C#).

Мое пониманиеis:

  • 64-битная DLL не будет работать с 32-битным приложением и наоборот
  • , поэтому 64-битная DLL не будет работать для Open file диалоговое окно 32-битного приложения
  • Мне нужно отдельно зарегистрировать 32- и 64-битные версии

Мои вопросы:

  • мои предположения верныдо сих пор? В частности, мне интересно, если диалоговое окно просмотра, открытое приложением, обязательно имеет ту же разрядность, что и приложение (или это диалоговое окно управляется каким-либо процессом Windows 64 в любом случае?)
  • предположимУ меня есть 32-битная и 64-битная версии моей DLL, как мне зарегистрировать их в 64-битной программе?( "Окей, я 64-битный процесс, но я регистрирую его для 32-битных приложений, понял?" )

У меня есть несколько страницчитайте по теме:

64-битный реестр Windows против 32-битного реестра

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

1 Ответ

3 голосов
/ 29 сентября 2011

Ваше понимание верно.Вам необходимо предоставить 32-битную версию для пользователей в 32-битной Windows, а также для общих диалогов для 32-битных процессов в WOW64.

Способ развертывания зависит от вашего установочного инструмента.Когда я сделал это, я создал отдельные MSI для двух версий из одного источника и использовал загрузчик setup.exe, который установил их обе.Рекомендуемой практикой является установка параметров реестра из MSI.Тогда вы позволяете перенаправлению реестра делать чудеса под WOW64.

...