Я сижу под W2K3-64. У меня есть две DLL xxx.is32.dll и xxx.amd64.dll соответственно под ia32 и amd64, которые я зарегистрировал с помощью regsvr32 (похоже умеет определять тип DLL). Я запустил regedit и хочу найти имя первой DLL в реестре — результат положительный. Теперь ищем имя второй DLL — результат отрицательный. Но моя програмулька отлично работает через COM и с первой DLL и, будучи скомпилированна под amd64, и со второй DLL.
1. Где находиться то место, куда производиться регистрация DLL скомпилированный под amd64?
2. Как бы посмотреть на это место?
Здравствуйте, WW898, Вы писали:
WW>Я сижу под W2K3-64. У меня есть две DLL xxx.is32.dll и xxx.amd64.dll соответственно под ia32 и amd64, которые я зарегистрировал с помощью regsvr32 (похоже умеет определять тип DLL). Я запустил regedit и хочу найти имя первой DLL в реестре — результат положительный. Теперь ищем имя второй DLL — результат отрицательный. Но моя програмулька отлично работает через COM и с первой DLL и, будучи скомпилированна под amd64, и со второй DLL.
WW>1. Где находиться то место, куда производиться регистрация DLL скомпилированный под amd64?
WW>2. Как бы посмотреть на это место?
Вообще говоря там же где обычно.
Подробности про реестр —
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win64/win64/registry_redirector.asp
Вкратце реестр 64 разрядной windows содержит дополнительные разделы, соответствующие 32 разрядной подсистеме.
32 разрядная подсистема только их и видит.
Соответственно проблема может быть в том, чем вы это дело смотрите.
Попробуйте запускать именно 64-битный regedit указывая полный путь..., а то может вы его стартуете из 32 битной проги которая уже запущена со включенным редирекшеном в папку SysWOW64. Как вам такой вариант?
V>Вообще говоря там же где обычно.
V>Подробности про реестр — http://msdn.microsoft.com/library/default.asp?url=/library/en-us/win64/win64/registry_redirector.asp
V>Вкратце реестр 64 разрядной windows содержит дополнительные разделы, соответствующие 32 разрядной подсистеме.
V>32 разрядная подсистема только их и видит.
V>Соответственно проблема может быть в том, чем вы это дело смотрите.
V>Попробуйте запускать именно 64-битный regedit указывая полный путь..., а то может вы его стартуете из 32 битной проги которая уже запущена со включенным редирекшеном в папку SysWOW64. Как вам такой вариант?
Самый прикол в том, что я именно так и делал. Более того я сравнил regedit из System32 и SysWOW64 — они одинаковы.
Может можно скачать его откуда-нибудь?
Здравствуйте, WW898, Вы писали:
WW>Самый прикол в том, что я именно так и делал. Более того я сравнил regedit из System32 и SysWOW64 — они одинаковы. Может можно скачать его откуда-нибудь?
Странно. У меня в папке windows лежит 64-битный файл regedit.exe размером 220 кб.
А в папке SysWOW64 32-битный regedit.exe размером 144 кб. При запуске отличие в них видно в окне about.
Ну и плюс 32-битный видит только свою часть реестра, а 64-битный — весь реестр,
с папками wow6432node в соответствующих местах. Плюс в таск менеджере возле него пишется *32.