【问题标题】:Install a pfx certificate in a users store in Windows using WiX使用 WiX 在 Windows 的用户存储中安装 pfx 证书
【发布时间】:2009-12-24 08:44:13
【问题描述】:

请有人为我提供上述场景的 WiX sn-p 或解决方案。我需要在 WiX msi 中包含 pfx 文件,用户将通过 Internet Explorer 将我的 msi 下载到他的机器上,然后单击安装,我还需要在他的机器上安装证书。

【问题讨论】:

    标签: installation wix certificate pfx


    【解决方案1】:

    您需要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. &lt;iis:Certificate&gt; 元素声明一个组件,用于 像这样的例子。看着那(这 documentation,需要填写一些 更多属性。请注意,如果您使用 BinaryKey 属性,则不需要 CertficatePath

      <Component Id="MyCertificateComponent" Guid="MY-GUID-HERE">
         <iis:Certificate Id="MyCertificate"
            BinaryKey="MyCertificateBinaryStream"
            ... some more attributes ...                  
         />
      </Component>
      
    4. 通过添加激活 IIS 扩展 选项-ext WixIISExtension 调用 wix 命令行工具时的选项。如果您使用 Visual Studio,只需在您的 wix 项目中添加对 WixIISExtension 的引用即可。

    【讨论】:

    • 我会调查这个答案并尝试。再次感谢您的回答。非常感谢您的解释。祝您圣诞快乐!
    【解决方案2】:

    为了稍微扩展答案,以下一组属性对我有用:

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

    其中&lt;Product&gt; 元素包含&lt;Binary&gt; 子元素,如下所示:

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

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

    【讨论】:

    • 出于某种原因,使用此代码,Wix 不会在用户的商店中安装证书。由于某种疯狂的原因,它最终出现在 IIS 中,并且不能被我的应用程序使用。将 PFX 更改为 PEM 文件确实将其放入用户的存储中,但它缺少私钥!所以也不能用。很奇怪。
    猜你喜欢
    • 1970-01-01
    • 2010-09-23
    • 2018-04-19
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    • 2011-09-09
    • 2011-08-13
    • 2021-01-26
    相关资源
    最近更新 更多