0
votes

I want my custom action to be performed after a user viewed and modified features, which are to be installed, but before execute installing.

I tried to call my action before PublishProduct (it seems to me that it's the right point), but I got a linkage errors from WiX.

<InstallUISequence>
    <Custom Action="ModifyConfigBeforeStartService" Before="PublishProduct"/>
</InstallUISequence>

The error is:

error LGHT0094: Unresolved reference to symbol 'WixAction:InstallUISequence/PublishProduct' in section 'Product:*'

Then I tried to call my action after CostFinalize. From the documentation:

The CostFinalize action queries the Condition table to determine which features are scheduled to be installed.

But (from the same doc):

The CostFinalize action must be executed before starting any user interface sequence which allows the user to view or modify Feature table selections

How installer detects which features are to be installed, if user interface wasn't displayed yet?

1

1 Answers

1
votes

PublishProduct exists in the execute sequence not the UI sequence. The name of your custom action implies it should be scheduled before StartServices (also in the execute sequence) not the PublishProduct action.

File costing is another important concept for you to learn but not really relevant here. I'd start with this required reading:

InstallSite: Installation Phases and In-Script Execution