Custom Application Configuration XML files Warning - xfgr.com Click here to Skip to main content

Custom Application Configuration XML files Warning

Here is a lesson I learnt while working with custom application settings in XML files and Visual Studio
Sign Up to vote for this article
Add a reason or comment to your vote: x
0
answers
4.0/5
3 votes
298
views

On a recent application I wrote, I ran into some problems when the application was released onto end users systems, but did not show up any problems in the development environment.

The application uses a Class that is serialized and deserialized to/from disk to stores the applications configuration settings. This way, if we want to change the database server/database userid/passwords, we can send an update config file to the user and they can drop this into the applications folder.

The application does not make use of the settings management built into the .NET Framework.

When the application was deployed to the end user environment at runtime, it generated an exception "Configuration system failed to initialize". I couldn't for the life of me work out what was happening, when the application was executed in the development environment, there were no errors, and everything worked as expected.

So, what was the problem.....simple, a filename conflict.

Originally I had used AppName.config as the settings file, changed this to AppName.xml and everything works now. As a test, I created an empty file named AppName.config, and dropped it in the EXE folder and yes, it triggered the exception.

It appears that if a file named AppName.config appears in the EXE folder, it attempts to start the configuration subsystem and throws the "Configuration system failed to initialize" error.
If you name a file AppName.exe.config and drop it in the EXE folder, it throws an exception with "The application has failed to start because its side-by-side configuration is incorrect". This is despite not using any settings within the MyProject Application Settings tab.

Leasson Learnt: If you are making use of custom files to store config settings, don't call them AppName.config or AppName.exe.config.

Oh, and AppName should be replaced with whatever your EXE filename is...... Smile
Posted 20 Jun '10 4:50 AM
daveauld15.5K
Edited 21 Jun '10 3:26 AM
Revision 4

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Hint: For improved responsiveness use Internet Explorer 4, Firefox or above. Ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
FAQ FAQ   
Noise Tolerance  Layout  Per page   
  (Refresh) 
-- There are no messages in this forum --

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   


Last Updated 26 Mar 2009
Web23 2.3.0027 Advertise Privacy