How to execute Wix custom action after installatio

2019-04-05 23:35发布

问题:

I am using Wix3 to install WCF service to IIS.

How can I use my custom action (c#) function after installation completed? i.e. I need to open installed web.config file and replace hostname with real one.

Any ideas?

回答1:

You can schedule it after InstallFinalize action in InstallExecuteSequence.



回答2:

There is a sequence of Actions in Windows Installer. The WiX tutorial has a good section on events (and is a great resource anyway).

A typical example of getting something to run after InstallFinalize is to get the installed app to start.

<InstallExecuteSequence>
   <Custom Action='LaunchFile' After='InstallFinalize'>NOT Installed</Custom>
</InstallExecuteSequence>


回答3:

Why would you:

1) Need a custom action? 2) Do it after the install instead of during the install?

WiX has a built-in extension for handling what you are trying to do:

XmlFile Element (Util Extension)

It will update your XML after the file has been installed and handle rollback scenarios as well.

What you will have to write a CA for though is reading the XML value back into a property ti handle repair and upgrade situations. Read:

The WiX toolset's "Remember Property" pattern.



标签: wix action