私が携わっている製品には、通常のファイルのインストール、レジストリ キーの設定、IIS への Web サイトと Web サービスのインストール、スケジュールされたタスクの作成など、さまざまなことを実行するインストーラーがあります。このインストーラーを何年も使用していますが、時々問題が発生しますが、通常は解決できます。しかし、今回は困惑しています。
多数のスケジュールされたタスクを作成しようとしているのですが、毎回「キーセットが存在しません (HRESULT からの例外: 0x80090016)」というメッセージが表示されます。今日、このインストーラーを複数の異なるマシンで使用しましたが、問題は発生しませんでしたが、特に 1 つのマシンで問題が発生しています。
Google 検索ではすべて、Protected Storage サービスの問題であると表示されています。最初、このサービスが実行されていないことがわかったので、開始しましたが、まだ問題があります。他の検索では、Documents and Settings\All Users\Application Data\Microsoft\Crypto のフォルダーをクリアすることを提案されていますが、Server 2008 を実行しているため、そのパスは正確には存在せず、代わりにどこにあるかを見つけることができませんでした (Default の下の Users フォルダーを調べて、それが "All Users" を置き換えたユーザーだと考えました)。
また、Server 2008 で IIS を扱っているときに表示される結果もいくつか確認しましたが、それらは一部の証明書が IIS ユーザーへのアクセスを許可しないという問題があることを示唆していますが、インストールでは証明書を使用しておらず、IIS に到達する前にエラーが発生しています。
コードに詳しい方のために説明すると、タスクの作成には TaskScheduler.dll (私の理解では、COM+ のすべての処理を自動で行います) を使用し、インストーラーは WiX ツールキットと C# を使用して構築されています。
このような問題やエラーを見たことがある人はいますか? また、それを修正したり回避したりできた人はいますか?
答え1
S-1-5-18
のフォルダを削除/名前変更する必要があることがわかりましたC:\ProgramData\Microsoft\Crypto\RSA
。それが完了すると、問題はなくなりました。