Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to modify .NET config files during installation?

I use the app.config file to store some values (path to a mapping database, data connection selections). These settings differ on the user machines and I would like the installer to set them right. Is there an installer that can work with .NET config files during setup and allow me to create some dialogs that would help me fill in these values ?

I know this question may be similar to : Initializing user.config or app.exe.config during install, but I am not limited to VS 2008 setup project and I want to change the settings in the config files.

EDIT: I see that using WIX is one option, but I feel like cracking a walnut with a sledgehammer. It may be the only solution, but I still hope for something simple.

like image 946
Tomas Pajonk Avatar asked Nov 14 '08 10:11

Tomas Pajonk


People also ask

Where is .NET config file?

config, contains settings that apply to an entire computer. This file is located in the %runtime install path%\Config directory. Machine.


2 Answers

We use WIX to change the application's configuration file. It works really well, you'll need to add wixUtilExtension.dll in the reference.

WIX sample:

<Component Id="ChangeConfig" Guid="[YOUR_GUID_HERE]">    <File Id="App.config" Name="MyApplication.exe.config" Vital="yes" KeyPath="yes" Source="[Path to project dir]\app.config" />    <util:XmlFile Id="AppConfigSetConnStr" Action="setValue" Permanent="yes" File="[#App.config]"                     ElementPath="/configuration/connectionStrings/add[\[]@name='MyDatabaseName'[\]]" Name="connectionString"          Value="Your Connection string values here" />  </Component> 

It actually depends on what you are using to create the installer, What are you using ?
Have alook at the WIX Tutorial.

like image 156
CheGueVerra Avatar answered Sep 25 '22 02:09

CheGueVerra


If you're using a VS setup project, have you created a custom action? I've used them for everything from poking XML values to deploying databases.

like image 29
GalacticCowboy Avatar answered Sep 22 '22 02:09

GalacticCowboy