0

I have a custom action that is working in Installshield 2009 that I am not sure how to port to WiX. Syntax looks right to me, according to this page, but VS2015 and WiX 3.10.2 are quite unhappy... informing me that Entity SA' is not defined in the Not &SA=3 portion.

I tried wrapping the values in the RHS of the conditions with quotes, to no avail. I do have a <Feature Id="SA" ... defined earlier (was after my custom actions, thought moving it up in the wxs file would help, it did not).

<InstallExecuteSequence>
<Custom Action="CA_StopClientService" After="StopServices" >((REMOVE="ALL") And (!SA=3)) Or ((Not &SA=3) And (!SA=3))</Custom>

What am I missing here?

Jon
  • 1,675
  • 26
  • 57

1 Answers1

0

Got it, I think. Two options to solve it:

<![CDATA[((REMOVE="ALL") And (!SA=3)) Or ((Not &SA=3) And (!SA=3))]]>

or

((REMOVE="ALL") And (!SA=3)) Or ((Not &amp;SA=3) And (!SA=3))

The first might be a little cleaner, in that, you can just write code. The second just replaces the & with &amp;. When I decompiled the msi with dark.exe, it produced code that followed the second form, which is what I ultimately ended up using. My problem stemmed from actually copying out the condition from installshield while replicating the installexecutesequence.

Jon
  • 1,675
  • 26
  • 57