I'd suggest using microsoft.XMLDOM...you can search for if a node is not present (in the old file), and add if needed: http://www.w3schools.com/dom/default.asp It's all up to you, to set the logic to override a node...such as, you can make an attribute, and set it True/False if you want that node to override/not override. For the EXE route, i have a share, where I store all my scripts. When executed, I check that the EXE is running from a temp file (known), and if not, then I copy from the share to that Temp file, then have the script call the temp file...that way, you always run the current. (as long as you don't run from the temp file manually )