我所从事的产品有一个安装程序,它可以做很多事情,包括安装常规文件、设置注册表项、在 IIS 上安装网站和 Web 服务以及创建计划任务。我们已经使用这个安装程序多年了,偶尔会遇到问题,但我们通常都能解决。这个让我们很为难。
我们正在尝试创建一组计划任务,但每次它都会返回“键集不存在(来自 HRESULT 的异常:0x80090016)”。我们今天已经在几台不同的机器上使用了此安装程序,没有遇到任何问题,但我们在某台机器上遇到了问题。
每次谷歌搜索都告诉我们这是受保护存储服务的问题。起初我们发现此服务没有运行,所以我们启动了它,但仍然有问题。其他搜索建议清除 Documents and Settings\All Users\Application Data\Microsoft\Crypto 中的一个文件夹,但考虑到我们在 Server 2008 上运行,该路径并不完全存在,而且我还没有找到它可能在哪里(我查看了 Default 下的 Users 文件夹,发现这是替换“All Users”的用户)。
我还看到在服务器 2008 上处理 IIS 时出现的一些结果,这些结果表明某些证书存在问题,不允许 IIS 用户访问,但我们在安装中不使用证书,并且错误发生在我们触及 IIS 之前。
对于那些了解代码的人,我们使用 TaskScheduler.dll(据我所知,它可以为您处理所有 COM+ 内容)来创建我们的任务,并且我们的安装程序是使用 WiX 工具包和 C# 构建的。
有谁见过类似的问题或看到过这个错误并设法修复或解决它?
答案1
我们发现必须删除/重命名S-1-5-18
中的文件夹C:\ProgramData\Microsoft\Crypto\RSA
。完成后,我们没有遇到任何问题。