2014-04-03 72 views
0

我想创建一个MSI,在多台计算机上的本地机器存储中安装证书。 由于每台机器上的证书都不同,我想从MSI中排除pfx,这样我就可以在任何地方提供相同的MSI,只需选择正确的证书即可。WIX:安装证书,但从msi单独分发pfx文件

如何告诉WiX封装安装程序中包含的pfx的二进制元素应该是安装源目录中的文件,而不是嵌入MSI中?

回答

1

您需要自行流式传输文件。如果你在网上搜索也有类似这样的事情,表明所涉及的原理:

http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Extract-Binary-file-from-MSI-to-Temp-folder-using-C-td7588682.html

http://makemsi-manual.dennisbareis.com/extract_binary_at_install_time.htm

诀窍是SQL查询的东西。在WiX中,您只需使用二进制元素来获取文件。

如果您将pfx文件放在二进制表中,您知道MSI文件是透明的,例如,我可以用Orca打开MSI文件并提取您的pfx文件,并可能用它来签名?

+0

其实我不想把pfx文件作为一个二进制文件进入msi。我想分发两个文件:一个“installcert.msi”伴随着一个“installcert.pfx”。 msi总是一样的。 pfx会改变当前的机器。在msi中,我想引用元素中的pfx文件。 –