I made MY_PROP "optional" by adding MY_PROP to parent installer's "Install Parameters" and set it 0. In the MSM I made the condition check MY_PROP.[guid] = "0" so NOT having it on the command line will run the CA by default, passing in MY_PROP=1 will cause it to be skip...
This answer didn't complete address my question as I want the CA to run ONLY if MY_PROP=1 and not run if it's anything else or NOT provided on the command line.
This answer did point me in the right direction I hope. If so I will post what I did here for history purposes
Is the SET INSTALLER PROPERTY CA done in the parent/main project installer OR in the Merge Module? You can past those properties using the "Set installer property" custom action, or the "Set installer property value" control event. As mentioned by my colleague Cosmin in the above...
Ahhh don't think Set Installer Property CA picked up Main Project Prop, can both be named the same? MSI (s) (34:98) [18:49:02:903]: Doing action: SetProperty_NOCHROME.1774B61E_82C4_4E8C_8FBA_A705BBC46365 Action 18:49:02: SetProperty_NOCHROME.1774B61E_82C4_4E8C_8FBA_A705BBC46365. Action start 18:49:0...
I used the "Set Installer Property" as mentioned in: https://www.advancedinstaller.com/forums/viewtopic.php?t=3159#p71219 And pass in NOCHROME=1 on command line (NOTE: Not silent command line, still using UI) and my condition is NOCHROME <> "1" so it should fail and not do the CA...
For the last scenario I think I got bit by Merge Module defined properties, i.e. the Merge Module defined: Property(S): NOCHROME.1774B61E_82C4_4E8C_8FBA_A705BBC46365 = 0 and I need to copy the Session One to this "local" one, e.g.: Session.Property("NOCHROME.1774B61E_82C4_4E8C_8FBA_A7...
I switched to defining NOCHROME set to 0 in my merge module details and changed the condition to NOCHROME=0 but the CA still runs when passing in NOCHROME=1
I wanted to run a Custom Action, defined in a merge module, only if a global property was NOT defined. e.g. take "NOCHROME" I did not define it in "Module Details" -> "Properties" section. For the "Execution Stage" condition I entered "NOT NOCHROME"....
I know there's a way to implement a self-healing install through use of advertised shortcuts. Has anyone tried to implement a self-heal in a Windows service based application? i.e. no shortcuts used to launch main application.