I haven't used Wix 2.0, but I know for sure it's in Wix 3.0. >From what I've read when I needed to use these elements, is that they look very very similar, but I think XmlConfig has a little more power and that's what I favor.
derekj wrote: > > Hi, > > Just wondering if you could tell me is <util:XmlConfig part of wix v2.0 > and/or v3.0 which should would you recomend to use/ > > regards > > Derekj > > cemiles wrote: >> >> 1) I'll try and do you one better. Here's how I update a specifc node >> (key >> or value)... >> >> <util:XmlConfig Id="SetPort" Action="create" Node="value" Name="value" >> ElementPath="//appSettings/[EMAIL PROTECTED]'port'[\]]" >> VerifyPath="//appSettings/[EMAIL PROTECTED]'port'[\]]" Sequence="1" >> File="[INSTALLDIR]Web.config" On="install" Value="[CONFIGPORT]" /> >> >> [INSTALLDIR] should be whatever your directoryref is to that component >> for >> the config file... >> >> And you'll probably want 2 xmlfile elements to create the 2 elements >> (newSection & add). I could be wrong on this part, haven't tried adding >> in >> new sections before, but this is a start. >> >> And my config file looks something like this... >> >> <?xml version="1.0"?> >> <configuration> >> <appSettings> >> <add key="port" value="12345"/> >> </appSettings> >> </configuration> >> >> And for the dialog you could give the user the choice to update or not to >> update... >> >> <!-- RadioButton Group values: Config=1; Bypass=2 --> >> <Control Id="RadioButtons" Type="RadioButtonGroup" X="35" Y="65" >> Width="301" Height="66" Property="CONFIGCHOICE"> >> <RadioButtonGroup Property="CONFIGCHOICE"> >> <RadioButton Text="!(loc.WebConfigDlg_Radio1_Text)" X="0" >> Y="0" >> Width="300" Height="15" Value="1" /> >> <RadioButton Text="!(loc.WebConfigDlg_Radio2_Text)" X="0" >> Y="15" >> Width="300" Height="15" Value="2" /> >> </RadioButtonGroup> >> </Control> >> <!-- User enters PORT to listen for (Defaults to "12345") --> >> <Control Type="Edit" Width="172" Height="15" X="155" Y="136" >> Id="ConfigPortValue" Text="[CONFIGPORT]" Default="yes" >> Property="CONFIGPORT"> >> <Condition Action="show">CONFIGCHOICE=1</Condition> >> <Condition Action="hide">CONFIGCHOICE=2</Condition> >> </Control> >> <Control Type="Text" Width="112" Height="10" X="35" Y="139" >> Id="ConfigPortText" Transparent="yes" NoPrefix="yes" >> Text="!(loc.WebConfigDlg_Port)"> >> <Condition Action="show">CONFIGCHOICE=1</Condition> >> <Condition Action="hide">CONFIGCHOICE=2</Condition> >> </Control> >> >> 2) You just need to include the old one and the new one will be installed >> as >> the user updates the settings. >> >> 3) I've never seen this, but I'd lean towards 'no' >> >> On Tue, Sep 9, 2008 at 11:17 AM, polan <[EMAIL PROTECTED]> wrote: >> >>> >>> Thx for your fast answer >>> >>> Ok - sorry for the unclear description. I didn't want to make it long - >>> let's do it more descriptive: >>> Here's the scenario (I'll use simplify pseudo code for the app.config): >>> >>> I have my application version 1.0.0 with app.config: >>> <configuration> >>> <databaseConfig> >>> <add key="Server" value="localhost\MyDbEngine" /> >>> <add key="Database" value="MyDb" /> >>> </databaseConfig> >>> </configuration> >>> >>> The user gets the app and installs it. He changes the values as he's >>> pleased. >>> (i.e. he changes >>> <add key="Server" value="localhost\MyDbEngine" /> >>> <add key="Database" value="FancyUserDbName" /> >>> ) >>> Now there is the next version 1.0.1 with app.config: >>> >>> <configuration> >>> <databaseConfig> >>> <add key="Server" value="localhost\MyDbEngine" /> >>> <add key="Database" value="MyDb" /> >>> </databaseConfig> >>> <newSection> >>> <add key="newKey" value="newValue" /> >>> </newSection> >>> </configuration> >>> >>> Users gets the installer (1.0.1). What I want it to do is install the >>> program preserving the values from .config file that already existed in >>> the >>> previous version (1.0.0) and adding all the new ones. I wouldn't like >>> the >>> user being forced to write the "FancyUserDbName" once again to the file >>> (or >>> in the installer). >>> >>> As I understood from your answer there is a way to extract required >>> values >>> from the .config file that is being installed, show them in installers >>> UI >>> and allow the user to edit it and write the effect into the final >>> .config >>> file. >>> 1. If it is right could you write a bit more on how to do it? Or maybe >>> some >>> link to read about it? I am especially concern in the way of accessing >>> the >>> file that is being installed. >>> >>> 2 .Would it be also possible to use both the new .config file (in my >>> example >>> version 1.0.1) and the old one (1.0.0) together to fill the data in UI >>> accordingly to my needs? >>> >>> 3. Finaly is it possible to skip editing the values by the user and just >>> merge the new and old files? (I don't expect the wix to know how to >>> merge >>> them - but maybe it is possible to do it via Custom Action?) >>> >>> >>> >>> cemiles wrote: >>> > >>> > You'll probably have to write up a dialog and have some edit fields >>> set >>> to >>> > properties and pass those values entered onto the util:xmlconfig >>> element. >>> > That's been my approach. Maybe I'm on the wrong track on what you are >>> > trying to do... >>> > >>> > On Tue, Sep 9, 2008 at 10:32 AM, Chad Miles <[EMAIL PROTECTED]> >>> wrote: >>> > >>> >> You can update the config file during the UI sequence and modify >>> >> keys/values. Is that all you're trying to do? >>> >> >>> >> util:xmlconfig element >>> >> >>> >> >>> >> On Tue, Sep 9, 2008 at 10:26 AM, polan <[EMAIL PROTECTED]> wrote: >>> >> >>> >>> >>> >>> I have some application settings (like database configuration etc.) >>> >>> stored >>> >>> in >>> >>> app.config file. >>> >>> As it is a standard .Net approach i haven't expected any troubles >>> with >>> >>> this >>> >>> and installer. I would like to make the newest version of the >>> program >>> >>> available to the users via wix installer, but I couldn't find a >>> simple >>> >>> way >>> >>> of updating the .config file without trashing the old settings >>> values. >>> >>> The perfect solution for me would be a way to merge somehow the old >>> file >>> >>> with the new one. >>> >>> >>> >>> I am thinking about several possible approaches (don't know if all >>> are >>> >>> possible) >>> >>> >>> >>> 1. Compare and merge old and new .config files using Custom Action >>> >>> A problem with this one is I can't get to access the new file (the >>> one >>> >>> that's gona be installed) >>> >>> >>> >>> 2. Backup old file using Custom Action and merge the backup with the >>> >>> freshly >>> >>> installed version using another (deferred) Custom Action >>> >>> >>> >>> 3. Instead of copying the .config file from source move creating it >>> to >>> >>> the >>> >>> wix (using XmlConfig or XmlFile tag) >>> >>> Don't know how to write conditional set/create values - is it >>> possible? >>> >>> >>> >>> 4. There is some other obvious way, which I can not see maybe? >>> >>> >>> >>> >>> >>> So in Your opinion what is the best approach for updating the >>> .config >>> >>> file >>> >>> during the update/upgrade? >>> >>> Would moving some values from app.config to registry be better? >>> >>> -- >>> >>> View this message in context: >>> >>> http://n2.nabble.com/Updating-app.config-tp1077780p1077780.html >>> >>> Sent from the wix-users mailing list archive at Nabble.com. >>> >>> >>> >>> >>> >>> >>> ------------------------------------------------------------------------- >>> >>> This SF.Net email is sponsored by the Moblin Your Move Developer's >>> >>> challenge >>> >>> Build the coolest Linux based applications with Moblin SDK & win >>> great >>> >>> prizes >>> >>> Grand prize is a trip for two to an Open Source event anywhere in >>> the >>> >>> world >>> >>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>> >>> _______________________________________________ >>> >>> WiX-users mailing list >>> >>> WiX-users@lists.sourceforge.net >>> >>> https://lists.sourceforge.net/lists/listinfo/wix-users >>> >>> >>> >> >>> >> >>> > >>> ------------------------------------------------------------------------- >>> > This SF.Net email is sponsored by the Moblin Your Move Developer's >>> > challenge >>> > Build the coolest Linux based applications with Moblin SDK & win great >>> > prizes >>> > Grand prize is a trip for two to an Open Source event anywhere in the >>> > world >>> > http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>> > _______________________________________________ >>> > 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/Updating-app.config-tp1077780p1077897.html >>> Sent from the wix-users mailing list archive at Nabble.com. >>> >>> >>> ------------------------------------------------------------------------- >>> This SF.Net email is sponsored by the Moblin Your Move Developer's >>> challenge >>> Build the coolest Linux based applications with Moblin SDK & win great >>> prizes >>> Grand prize is a trip for two to an Open Source event anywhere in the >>> world >>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>> _______________________________________________ >>> WiX-users mailing list >>> WiX-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/wix-users >>> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's >> challenge >> Build the coolest Linux based applications with Moblin SDK & win great >> prizes >> Grand prize is a trip for two to an Open Source event anywhere in the >> world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> _______________________________________________ >> 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/Updating-app.config-tp1077780p1078490.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users