Я разрабатываю приложение со встроенной смарт-картой (цифровая подпись). Давайте предположим, что у нас есть один и тот же код в этих двух контекстах:Различия в разрешении между службой Windows и консольным приложением
- консольного приложение, выполняемого пользователем Administrator
- Windows Service, выполняемого пользователем Administrator
Я suposed, что если эти два кода были выполненные тем же пользователем, у них будут одинаковые привилегии. Кажется, что это не так. Когда я пытаюсь с службой Windows (Выполненный с пользователем Administrator) я получить
TargetInvocationException
CryptographicException
Can't initialize DLL provider at System.Security.Cryptography.Utils.CreateProvHandle(.
Насколько я читал в интернете, может быть, некоторые король выдачи разрешений. Консольное приложение работает нормально.
В чем разница между службой Windows и консольным приложением, если они выполнены одним и тем же пользователем?
Можно ли добиться таких же результатов с помощью службы Windows?
Бесплатного виртуальное пиво для человека, который решает его;)
Спасибо!
Хорошо, спасибо Брэнди, что сработало! :). Проблема в том, что я не знаю почему. Я перешел на другого пользователя, потому что у службы сети нет доступа к сертификату. В некотором роде я не понимаю, сертификат закончился в папке: - c: \ windows \ system32 \ config \ systemprofile \ application data \ microsoft \ systemcertificates \ my \ certificates Нравится этот файл находится в этой папке папка может работать с локальной службой, и я не получаю ошибку:.? - Невозможно инициализировать поставщик DLL в System.Security.Cryptography.Utils.CreateProvHandle ( Кто-нибудь знает, как этот файл закончился в этой папке Спасибо, Брэнди! – user256038