Installation 使用WiX在Windows中的用户存储中安装pfx证书

Installation 使用WiX在Windows中的用户存储中安装pfx证书,installation,wix,certificate,pfx,Installation,Wix,Certificate,Pfx,请,有人能为我提供一个WiX片段或解决方案,用于上述场景。我需要将pfx文件包含在WiX msi中,用户将通过internet explorer将我的msi下载到他的机器上,然后单击“安装”,我还需要在他的机器上安装证书。您需要证书。它是wix的IIS扩展的一部分,但也可用于与IIS无关的安装 你需要 为iis命名空间声明前缀,例如 在根Wix元素中类似的示例: <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi' xmlns:i

请,有人能为我提供一个WiX片段或解决方案,用于上述场景。我需要将pfx文件包含在WiX msi中,用户将通过internet explorer将我的msi下载到他的机器上,然后单击“安装”,我还需要在他的机器上安装证书。

您需要证书。它是wix的IIS扩展的一部分,但也可用于与IIS无关的安装

你需要

  • 为iis命名空间声明前缀,例如 在根Wix元素中类似的示例:

    <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
       xmlns:iis='http://schemas.microsoft.com/wix/IIsExtension'>
    
  • 通过添加来激活IIS扩展 选项
    -ext WixIISExtension
    调用wix命令行工具时的选项。如果使用VisualStudio,只需在wix项目中将引用添加到
    WixIISExtension


  • 要稍微扩展一下答案,以下一组属性适用于我:

    <iis:Certificate 
        Id="My.Certificate" 
        StoreName="root" 
        Overwrite="yes" 
        Name="My Friendly Certificate Name" 
        Request="no" 
        BinaryKey="MyCertificate.Binary" 
        StoreLocation="localMachine" />
    
    
    
    其中
    元素包含
    子元素,如下所示:

    <Binary 
        Id="MyCertificate.Binary" 
        SourceFile="$(var.ProjectDir)MyCertificate.pfx" />
    
    
    

    (我将PFX文件包含在我的WiX项目中)。

    我将研究此答案并重试。再次感谢您的回答。非常感谢您的解释。祝您圣诞快乐!出于某种原因,使用此代码,Wix不会在用户的存储中安装证书。由于某些疯狂的原因,它最终进入了IIS,我的应用程序无法使用它。将PFX更改为PEM文件确实会将其放入用户的存储中,但它缺少私钥!所以也不可用。很奇怪。
    <iis:Certificate 
        Id="My.Certificate" 
        StoreName="root" 
        Overwrite="yes" 
        Name="My Friendly Certificate Name" 
        Request="no" 
        BinaryKey="MyCertificate.Binary" 
        StoreLocation="localMachine" />
    
    <Binary 
        Id="MyCertificate.Binary" 
        SourceFile="$(var.ProjectDir)MyCertificate.pfx" />