如何在安装后执行Wix自定义操作?

Ole*_*leg 11 action wix

我使用Wix3来安装WCF服务到IIS.

安装完成后如何使用自定义操作(c#)功能?即我需要打开已安装的web.config文件并将主机名替换为真实的.

有任何想法吗?

Cos*_*rvu 9

您可以在InstallExecuteSequence中的InstallFinalize操作之后安排它.


Pet*_*lly 9

Windows Installer中有一系列操作.WiX教程有很好的事件部分(无论如何都是一个很好的资源).

在InstallFinalize之后获取某些内容的典型示例是启动已安装的应用程序.

<InstallExecuteSequence>
   <Custom Action='LaunchFile' After='InstallFinalize'>NOT Installed</Custom>
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)

  • 如果您的“CustomAction”使用“CustomAction”的“ExeCommand”属性来执行脚本命令,则这将不起作用并报告编译时错误:“*[插入操作 ID 名称] 是脚本内自定义操作。它必须在 InstallExecuteSequence 表中的 InstallInitialize 操作和 InstallFinalize 操作之间排序*” (2认同)

Chr*_*ter 6

你为什么要这样:

1)需要自定义操作吗?2)在安装后而不是在安装期间执行此操作?

WiX有一个内置的扩展,用于处理您要执行的操作:

XmlFile元素(Util扩展)

它将在安装文件后更新XML并处理回滚方案.

但是,编写CA的必要条件是将XML值读回属性ti处理修复和升级情况.读:

WiX工具集的"记住属性"模式.