У продукта, над которым я работаю, есть установщик, который выполняет множество вещей, включая установку обычных файлов, настройку ключей реестра, установку веб-сайтов и веб-служб в IIS и создание запланированных задач. Мы использовали этот установщик в течение многих лет, и время от времени у нас возникают проблемы с ним, но обычно мы можем их разобрать. Этот нас поставил в тупик.
Мы пытаемся создать кучу запланированных задач, и каждый раз он возвращается со словами «Набор ключей не существует (исключение из HRESULT: 0x80090016)». Сегодня мы использовали этот установщик на нескольких разных машинах, и у нас не было проблем, но, в частности, у нас проблемы с одним.
Каждый поиск в Google сообщал нам, что это проблема службы защищенного хранилища. Сначала мы обнаружили, что эта служба не работает, поэтому мы запустили ее, но у нас все еще есть проблемы. Другие поиски предлагали очистить папку в Documents and Settings \ All Users \ Application Data \ Microsoft \ Crypto, но, учитывая, что мы работаем на Server 2008, этот путь точно не существует, и мне не удалось найти, где он может быть вместо этого (я заглянул в папку «Пользователи» в разделе «По умолчанию», полагая, что это пользователь, который заменил «Все пользователи»).
Я также видел некоторые результаты, появляющиеся, когда вы имеете дело с IIS на сервере 2008, и они предполагают, что существует проблема с некоторыми сертификатами, не разрешающими доступ пользователю IIS, но мы не используем сертификаты в нашей установке, и ошибка происходит до того, как мы попали в IIS.
Для тех, кто знает код, мы используем TaskScheduler.dll (который, насколько я понимаю, обрабатывает все вещи COM + за вас) для создания наших задач, а наш установщик построен с использованием инструментария WiX и C #.
Кто-нибудь когда-нибудь видел такую проблему или видел эту ошибку и сумел ее исправить или обойти?
Мы обнаружили, что нам пришлось удалить / переименовать S-1-5-18
папка в C:\ProgramData\Microsoft\Crypto\RSA
. Как только это было сделано, у нас не было проблем.