Краткая характеристика: Тот же .exe при запуске без прав администратора может использовать 32-битный драйвер. Однако при запуске с правами администратора он не может использовать его/найти.. Исполняемый проект .Net может использовать 32-битные драйверы только тогда, когда NOT «запускается как администратор»
Моя среда:
- Windows 7 64bit
- Visual Studio 2013 Professional
- .Net 4.5
- Компьютер не входит в домен
Фоновая история: У меня есть служба WCF, размещенная в consoleApplication, и я подключаюсь к ней WCF через net.Tcp (локально).
WCF использует для своей работы поставщик VFPOLEDB.1, который является только 32-разрядным. Все работает нормально, пока я не сделаю какую-нибудь работу администратора внутри приложения. Для этого логически требуется «Запустить как администратора», чтобы либо Visual Studio 2013 (который размещает consoleApp), либо Debug \ xxx.exe должен быть запущен в режиме «Запуск от имени администратора».
Обнаружено исключение: «VFPOLEDB.1 не зарегистрирован» (поэтому основная проблема: приложение 64 бит и поиск 64-битных драйверов) ТОЛЬКО, когда я использую запуск как администратор, я попробовал установку AnyCPU на x86 и настройку проекта на x86, и ни один имел эффект.
Вот мой вопрос:
Как я могу запустить .exe/Visual Studio 2013 в режиме администратора, но заставить его использовать драйверы 32bit.
Спасибо!