Application settings

  • Thread starter Thread starter John
  • Start date Start date
J

John

Hi

Is there an easy way to allow user to change application settings at run
time short of editing the configuration file manually?

Thanks

Regards
 
John said:
Is there an easy way to allow user to change application settings at run
time short of editing the configuration file manually?

This can be done for user settings ('My.Settings'), but it is not possible
for settings whose scope is the whole application. In the latter case users
typically do not have the rights to write the configuration file.
 
kimiraikkonen said:
Having .NET 2.0 with VB 2005, can i include XML settings file in my
app's root folder instead of fixed location in Windows which was
created by my.settings?

This is maybe possible with a custom settings provider. However, note that
the 'LocalFileSettingsProvider' provides a lot of features (support for
roaming profiles, ...) which you would have to reimplement if you roll your
own settings provider.
Not to be forced Like: C:\Documents and Settings\<userid>\Application
Data\
company\product\version

User settings are stored there. The cryptic folder name is used to allow
multiple versions of the application to run in parallel on the same machine.
Application-scope settings are stored in the program folder. That's why it
is not possible to write them at runtime.
 
Actually I have googled and am looking for something like this

http://www.codeproject.com/KB/cs/configeditor.aspx

which would let the user edit application settings easily. Unfortunately
this one does not load my app.config (given below) for some reason.

Regards

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings"
type="System.Configuration.ApplicationSettingsGroup, System,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="EMS.My.MySettings"
type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"
/>
</sectionGroup>
</configSections>
<connectionStrings>
<add name="EMS.My.MySettings.EMSDataConnection"
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&quot;C:\EMS
2008\Data\Events Manager Data.mdb&quot;" providerName="System.Data.OleDb" />
</connectionStrings>
<system.diagnostics>
<sources>
<!-- This section defines the logging configuration for
My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog" />
<!-- Uncomment the below section to write to the Application Event
Log -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information" />
</switches>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener,
Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
initializeData="FileLogWriter" />
<!-- Uncomment the below section and replace APPLICATION_NAME with the
name of your application to write to the Application Event Log -->
<!--<add name="EventLog"
type="System.Diagnostics.EventLogTraceListener"
initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
<applicationSettings>
<EMS.My.MySettings>
<setting name="ClientErrorLogEmailRecipient" serializeAs="String">
<value>[email protected]</value>
</setting>
<setting name="ErrorLogEmailFrequency" serializeAs="String">
<value>1</value>
</setting>
<setting name="Sender" serializeAs="String">
<value>[email protected]</value>
</setting>
<setting name="SMTPServer" serializeAs="String">
<value>smtp.myisp.co.uk</value>
</setting>
<setting name="strLocalDDB" serializeAs="String">
<value>"C:\BlahBlah\Replica of MyDB.mdb"</value>
</setting>
<setting name="strRemoteDDB" serializeAs="String">
<value>"F:\BlahBlah\MyDB.mdb"</value>
</setting>
</EMS.My.MySettings>
</applicationSettings>
</configuration>
 
Back
Top