InstallUISequence typically runs in its entirety before InstallExecuteSequence is processed (the execute sequence is processed by the ExecuteAction action). You can't set a property in the execute sequence and expect its value to appear in the UI sequence. You should schedule your custom action in the UI sequence before your Show action.
Public properties are copied from the client process to the server process, but not in the other direction, which is I think what you're trying to do here. If you need the property in the execute sequence as well, it needs to be a public property (ALLCAPS, as this one is), and you should schedule the custom action in the execute sequence as well so that your install still works in no-UI mode (msiexec /qn). If you want it only to run once, set CustomAction/@Execute to "firstSequence". -- Mike Dimmick -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of WiX'ed Sent: 26 April 2007 21:24 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Property Visibility and Custom Actions Given a property: <Property Id='MYPROPERTY' Value='0' /> I have a custom action that sets it to different values depending on what it finds: <CustomAction Id='SetMyProperty' BinaryKey='HelperDLL' DllEntry='SetMyProperty' /> <InstallExecuteSequence> <Custom Action='SetMyProperty' After='ValidateProductID'>NOT Installed</Custom> </InstallExecuteSequence> I need to show a dialog (among other things) depending on the value of this property: <InstallUISequence> <Show Dialog="MyDialog" After='ExecuteAction'>MYPROPERTY = 1</Show> </InstallUISequence> The problem is that no matter what value the custom action sets for MYPROPERTY, it is always 0 (whatever I defined at the top or not defined at all if I don't) when the dialog 'MyDialog' is supposed to run. The msiexec log shows MYPROPERTY being properly set by the custom action: <...snip...> MSI (s) (DC!0C) [15:31:05:718]: PROPERTY CHANGE: Modifying MYPROPERTY property. Its current value is '0'. Its new value: '1'. <...snip...> But I see these two lines showing the different values: <...snip...> Property(S): MYPROPERTY = 1 <...snip...> Property(C): MYPROPERTY = 0 <...snip...> I assume these to be "Client" and "Server". How do I make this work? I'm sorry if this is simple but I'm still having a hard time grasping MSI. TIA g ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users