3

我正在使用 WIX 实现...我需要在 CustomAction 中执行一个 EXE,我可以通过在 Binary 中添加 EXE 并在安装前调用它来做到这一点。但是这个 EXE 需要一个 XML 文件来读取应该存在于当前目录中的数据。为此,我可以将 XML 插入二进制文件中,就像我为 EXE 所做的那样。

现在我需要从二进制文件中提取 EXE 之前的 XML 文件。无法弄清楚我需要提取它的 CustomAction。

以下是我所做的事情:

  • 将 XML 添加到二进制文件

<Binary Id="TestXML.xml" SourceFile="d:\csu\TestXML.xml"/>

  • CustomAction(我试过 - 问号“???”放什么)

<CustomAction Id="SetBinaryWrite_TargetFileName_1" BinaryKey="TestXML.xml" ExeCommand="???" Execute="immediate" Return="ignore" />

  • 在 <InstallExecuteSequence> 中执行

<Custom Action="SetBinaryWrite_TargetFileName_1" After="ValidateProductID"/>

需要帮忙 !!

4

1 回答 1

1

对此没有内置支持。

从二进制表启动 EXE 是本机 Windows Installer 自定义操作。如果您只想从二进制表中提取文件,则需要使用自定义代码编写自己的自定义操作。

您可以尝试使用接收安装句柄并使用Windows Installer API提取文件的win32 DLL 。

于 2012-06-14T06:33:01.033 回答