Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过wix安装了一个.pfx证书,给我一个密钥集不存在错误,但手动安装不存在_Wix_Certificate - Fatal编程技术网

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

通过wix安装了一个.pfx证书,给我一个密钥集不存在错误,但手动安装不存在,wix,certificate,Wix,Certificate,我看到了这个答案: 要通过wix安装证书并且看起来工作正常,证书(我需要两个)安装在正确的位置存储中,并且具有正确的值,用于颁发给和颁发给 然而,当我试图在我安装的应用程序中使用它们时,我得到的密钥集不存在异常 当我使用MMC->import从wix中定义的位置手动安装pfx文件时,效果很好 权限略有不同,因为wix添加了所有者权限和msiserver权限,并删除了我无法手动添加的临时S-1-5-5-0-XXXXX读取权限 有人知道是什么导致了这个问题吗?这不是权限问题,而是msi安装方式的问题

我看到了这个答案: 要通过wix安装证书并且看起来工作正常,证书(我需要两个)安装在正确的位置存储中,并且具有正确的值,用于颁发给和颁发给

然而,当我试图在我安装的应用程序中使用它们时,我得到的密钥集不存在异常

当我使用MMC->import从wix中定义的位置手动安装pfx文件时,效果很好

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


有人知道是什么导致了这个问题吗?

这不是权限问题,而是msi安装方式的问题

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

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

我已经设法让我的msi安装带有私钥的证书,但这是一个有点任务

  • 我创建了一个控制台应用程序来生成和导入证书
  • 将此exe作为安装的一部分放入安装文件夹中
  • 使用模拟CustomAction生成提升的PowerShell命令(-Verb RunAs)
  • 运行执行exe的脚本

  • 正如我所说的,这是一项任务,但现在它可以完美地工作了!:)

    好的,显然这是一个权限问题,有没有办法在wix中安装证书时修改证书权限?有一种方法可以修改文件的权限,但我不确定如何将其应用于证书。是的,我早些时候得出了相同的结论。这本应该容易些。