У меня 64-битные проблемы. Вот совок:
У меня 32-битный COM exe (написанный на FoxPro). Этот exe-файл вызывает 32-битную COM-библиотеку (также написанную на FoxPro). В 32-битном мире Windows, DLL находится в каталоге C:/Windows/System32
, зарегистрировано в C:/Windows/System32/regsvr32.exe
, и все хорошо. Exe может быть запущен, и любые процессы, требующие dll, в порядке.
Это другая история в 64-битном мире. Я пытался установить это приложение на машине под управлением Windows 7 x64
, например, так:
- Я помещаю dll в
C:/Windows/SysWOW64
- Я зарегистрировал его с помощью
C:/Windows/SysWow64/regsvr32.exe
, но мне удалось только успешно выполнить регистрацию, запустив regsvr32
с помощью параметра контекстного меню «Запуск от имени администратора».
Теперь, когда я пытаюсь запустить свой exe-файл, он не может вызвать dll, кроме случаев, когда мой exe-файл запускается с использованием параметра «Запуск от имени администратора». Это не хорошо. Пользователь не должен быть администратором только для запуска простого приложения.
Кто-нибудь знает, как я могу заставить это работать, не требуя опции «Запуск от имени администратора» ??
Спасибо!
1025 * Кен *