代码之家  ›  专栏  ›  技术社区  ›  abmv

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

  •  9
  • abmv  · 技术社区  · 15 年前

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

    2 回复  |  直到 15 年前
        1
  •  11
  •   Wim Coenen    15 年前

    Certificate element . 它是wix的IIS扩展的一部分,但也可用于与IIS无关的安装。

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

      <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
         xmlns:iis='http://schemas.microsoft.com/wix/IIsExtension'>
      
    2. 将PFX文件嵌入为二进制文件 Binary 产品元素如下:

      <Binary Id="MyCertificateBinaryStream" 
         SourceFile="c:/path/to/mycertificate.pfx" />
      
    3. 声明具有 <iis:Certificate> 元素,用于 像这样的例子。看这张照片 documentation ,您需要填写一些 更多属性。请注意,您不需要 CertficatePath BinaryKey 属性

      <Component Id="MyCertificateComponent" Guid="MY-GUID-HERE">
         <iis:Certificate Id="MyCertificate"
            BinaryKey="MyCertificateBinaryStream"
            ... some more attributes ...                  
         />
      </Component>
      
    4. 选择权 -ext WixIISExtension WixIISExtension .

        2
  •  6
  •   Jim Liddell    13 年前

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

    <iis:Certificate 
        Id="My.Certificate" 
        StoreName="root" 
        Overwrite="yes" 
        Name="My Friendly Certificate Name" 
        Request="no" 
        BinaryKey="MyCertificate.Binary" 
        StoreLocation="localMachine" />
    

    <Product> 元素包含一个 <Binary> 以下儿童:

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

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

    推荐文章