		private void UpdateConfigFile(string ServerName){

			if(string.Empty==ServerName)
				throw new InstallException("ServerName not specified");
	        
			// Use reflection to find the location of the config file.
			System.Reflection.Assembly Asm = 
				System.Reflection.Assembly.GetExecutingAssembly();
			System.IO.FileInfo FileInfo = new 
				System.IO.FileInfo(Asm.Location + ".config");
			if(!FileInfo.Exists)
				throw new InstallException("Missing config file");

			//Load the config file into the XML DOM.
			System.Xml.XmlDocument XmlDocument = new System.Xml.XmlDocument();
			XmlDocument.Load(FileInfo.FullName);

			//Find the right node and change it to the new value.
			Boolean FoundIt = false;
			foreach(XmlNode Node in XmlDocument["configuration"]["appSettings"]){
				if("add"==Node.Name){// skip any comments
					if("ConnectionString"==Node.Attributes.GetNamedItem("key").Value){
						Node.Attributes.GetNamedItem("value").Value = 
							String.Format("Server={0};Database=NorthWind;Integrated Security=True" 
								, ServerName);
						FoundIt = true;
					}
				}
			}

			if(!FoundIt)
				throw new InstallException( 
					"Config file did not contain a ConnectionString setting");

			//Write out the new config file.
			XmlDocument.Save(FileInfo.FullName);

		}
