我開發的產品有一個安裝程序,可以執行很多操作,包括安裝常規文件、設定註冊表項、在 IIS 上安裝網站和 Web 服務以及建立排程任務。我們已經使用這個安裝程式很多年了,偶爾會遇到問題,但通常可以解決它。這件事把我們難倒了。
我們正在嘗試建立一堆排程任務,每次它都會回傳說「密鑰集不存在(HRESULT 異常:0x80090016)」。我們今天在幾台不同的機器上使用了這個安裝程序,沒有任何問題,但我們在其中一台機器上遇到了問題。
每次谷歌搜尋都告訴我們這是受保護儲存服務的問題。起初我們發現這個服務沒有運行,所以我們啟動了它,但仍然遇到問題。其他搜尋建議清除 Documents and Settings\All Users\Application Data\Microsoft\Crypto 中的資料夾,但考慮到我們在 Server 2008 上運行,該路徑並不完全存在,而且我還沒有找到它可能在哪裡相反(我查看了“預設”下的“使用者”資料夾,發現這是替換“所有使用者”的使用者)。
我還看到當您在 server 2008 上處理 IIS 時出現一些結果,這些結果表明某些證書有問題,不允許訪問 IIS 用戶,但我們在安裝中不使用證書,錯誤是發生在我們訪問 IIS 之前。
對於那些了解程式碼的人來說,我們使用 TaskScheduler.dll(據我所知,它可以為您處理所有 COM+ 內容)來建立我們的任務,而我們的安裝程式是使用 WiX 工具包和 C# 建置的。
有沒有人見過這樣的問題或看到此錯誤並設法修復或解決它?
答案1
我們發現我們必須刪除/重新S-1-5-18
命名C:\ProgramData\Microsoft\Crypto\RSA
.一旦完成,我們就沒有任何問題了。