通过wix安装了.pfx证书,给我一个不存在的密钥集错误但手动安装没有

时间:2011-05-24 16:32:39

标签: wix certificate

我看了这个答案: Install a pfx certificate in a users store in Windows using WiX 通过wix安装证书似乎工作正常,证书(我需要两个)安装在正确的位置存储区,并具有正确的问题值和发布的。

但是,当我尝试在我安装的应用程序中使用它们时,我得到的键集不存在异常。

当我使用MMC->从wix中定义的位置手动安装pfx文件时,它可以正常工作。

在wix添加了所有者权限和msiserver权限的意义上,权限略有不同,并删除了我无法手动添加的临时S-1-5-5-0-XXXXX读取权限。

有谁知道会导致这个问题的原因是什么?

1 个答案:

答案 0 :(得分:1)

这不是权限问题,但安装msi的方式存在问题。

要获得安装证书所需的权限,此操作必须作为延迟操作运行,该操作在系统帐户下运行。

系统帐户没有配置文件,我认为需要使用私钥安装证书(我认为在移动到MachineKey存储之前,私钥会临时写入配置文件)。

我设法让我的msi用私钥安装证书,但这是一项任务......

  1. 我创建了一个生成并导入证书的控制台应用程序。
  2. 将此exe作为安装的一部分放在安装文件夹中。
  3. 使用模拟CustomAction,生成提升的PowerShell命令(-Verb RunAs)。
  4. 运行执行exe的脚本。
  5. 正如我所说的一点任务但现在完美无缺! :)