O produto em que trabalho tem um instalador que faz várias coisas, incluindo instalação de arquivos regulares, configuração de chaves de registro, instalação de sites e serviços da Web no IIS e criação de tarefas agendadas. Usamos esse instalador há anos e de vez em quando temos problemas com ele, mas geralmente conseguimos resolvê-lo. Este nos deixou perplexos.
Estamos tentando criar um monte de tarefas agendadas, e toda vez ele volta dizendo "O conjunto de chaves não existe (exceção de HRESULT: 0x80090016)". Usamos este instalador em várias máquinas diferentes hoje e não tivemos problemas, mas estamos tendo problemas com uma em particular.
Cada pesquisa no Google nos disse que é um problema com o serviço de armazenamento protegido. A princípio descobrimos que este serviço não estava funcionando, então o iniciamos e ainda estamos tendo problemas. Outras pesquisas sugeriram limpar uma pasta em Documents and Settings\All Users\Application Data\Microsoft\Crypto, mas como estamos executando no Server 2008 esse caminho não existe exatamente e não consegui descobrir onde ele pode estar em vez disso (examinei a pasta Usuários em Padrão, descobrindo que esse é o usuário que substituiu "Todos os usuários").
Também vi alguns resultados aparecendo quando você está lidando com o IIS no servidor 2008 e sugerem que há um problema com alguns certificados que não permitem acesso ao usuário do IIS, mas não usamos certificados em nossa instalação e o erro é acontecendo antes de chegarmos ao IIS.
Para aqueles que conhecem código, usamos TaskScheduler.dll (que, pelo que entendi, lida com todo o material COM+ para você) para criar nossas tarefas, e nosso instalador é construído usando o kit de ferramentas WiX e C#.
Alguém já viu um problema como esse ou viu esse erro e conseguiu corrigi-lo ou contorná-lo?
Responder1
Descobrimos que precisávamos excluir/renomear a S-1-5-18
pasta no formato C:\ProgramData\Microsoft\Crypto\RSA
. Feito isso, não tivemos problemas.