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