Mike, This is perfect. Not only it answers my question, it clarified three different concepts I had not grasped.
Thanks a million, g On Apr 26, 2007, at 4:44 PM, Mike Dimmick wrote: > 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