Blair, Your answer was what i was looking for. I did not realize (and had not read anywhere) than you can treat the session object like a key/value object to get to the session properties. ie: string MyString = session["MYPROPERTY"]; session["MYOTHERPROP"] = "SomeValue";
That was what i was looking for. Thank you very much! David Blair-2 wrote: > > Use session Properties. They are populated from the Property table only at > the beginning of each sequence (before your immediate CA runs) and can be > read and written by immediate CAs. > > The "[PropertyName]" syntax used in formatted fields of the database (such > as some of the XmlConfig attributes and Condition element text) actually > read session properties, not the Property table, so using those properties > should be what you need. Remember to make your properties set in the UI > sequence public and secure to be consumed in the execute sequence, because > public secure property values will override the Property table values when > the execute sequence starts. > > -----Original Message----- > From: David Drake (Excell Data Corporation) > [mailto:a-ddr...@microsoft.com] > Sent: Thursday, November 12, 2009 8:22 AM > To: wix-users@lists.sourceforge.net > Subject: [WiX-users] Passing data into and out of a Custom Action > > I am attempting to pass information in and out of a C# Custom Action, and > am > having a hell of a time with it. > > The problem I am attempting to solve is this: > There is a system XML configuration file on my target system. The path to > the file is always known. I need to look into this file and determine > whether or not a specific element/attribute exists. If it does exist, I > need to recover its value and pass it back into the installer for later > use. > If it does not exist, I need to return some sort of indication so that I > write it using an util:XmlConfig action. The actual XML manipulations are > the easy part. The problematic is passing the information in and out of > the > CA. > > I have found that if I use a Deferred custom action, I can take a value > entered in via the UI (file path, Xpath statement, etc) and use it in my > CA > without issue. I have not been able to pass anything back to the > installer > though (whether or not the element exists). > > I have also found that if I use an immediate action, I then have access to > the session object, which includes the Database object. Unfortunately, > the > Database object only includes what is in the database at the beginning of > the install, and not what may have been modified during the UI Sequence. > I > have used a MessageBox within the CA to show me what value lies in the > property when the CA executes, and extra UI Dialogs to examine the > property > after it has been modified. I am able to modify the property via the UI > and > have it visible to the later UI Dialogs. However, when I examine the > property via the Database object in the CA, it always contains the default > value, even if I pass something else in via the command line. > > The reason for using the CA in this case is because Wix does not have any > ability to read files and react to the information found therein. > > Is there any way to accomplish my goal here in an elegant and reusable > way? > I wish it was as easy as creating some kind of parameterized call to a dll > with some kind of expected return value that would show up in some > property... > > If code samples of what I've done so far are needed, I can supply that. > > Thanks, > David > ---------------------------------------------------------------------------- > -- > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > -- View this message in context: http://n2.nabble.com/Passing-data-into-and-out-of-a-Custom-Action-tp3993905p3995078.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users