Updating a Single file leaving other intact

I have realised that I cannot update a single file in a folder with multiple file. So for example, my application is installed on a user's computer and several folder and files are placed. During the Next update, I may only need to update a single DLL in the previous version. But when I upload the single file for server as an update, the wyupdater deletes every other file in the installed directory leaving the update only.

How can I update a single file only without harming the others in the installation directory ie replace an existing file with a New one leaving every other file intact

Follow the step-by-step walkthrough. Namely, step 6:

If you haven't already done so, you'll need to add the files for your first version of your app to wyBuild. wyBuild only references files from disk it does not store your files for you, which means this involves 3 steps:

  1. Create a folder to store the files for this first version that includes wyUpdate (in this example we call it version 1.1).
  2. Copy all of the files from version 1.1 of your app into this folder.
  3. Drag all the files into wyBuild from inside this "1.1" folder you just copied.

So why does it tell you to put *all* files in wyBuild? Because wyBuild compares the versions you supply and see which files to add, which files to patch, and which files to delete. If your version 1.0 has all your files, and version 2.0 only has 1 file, then wyBuild naturally sees that as meaning delete all files except that 1 file.

Hence, adding all the files and let wyBuild do the hard work of comparing your versions.

So I have to modify the version information of the New file for wybuild to detect it? Modifying just the source code alone is not sufficient i guess.

Secondly, The installation files contains a configuration file which stores certain information unique to each user. The New version build contains a default version of this configuration file which does not contain the users' unique information. When the application is updated, it replaces the user's config file on his computer. This requires the user to input his personal details into the config file after every update is installed. Is it possible to configure the update in such a way that the updater does not modify or replace certain files especially user configuration files?

So I have to modify the version information of the New file for wybuild to detect it? Modifying just the source code alone is not sufficient i guess.

That's not what he was saying at all. He was saying include all files in wyBuild and let wyBuild do the byte-by-byte comparison of the files.

Secondly, The installation files contains a configuration file which stores certain information unique to each user. The New version build contains a default version of this configuration file which does not contain the users' unique information. When the application is updated, it replaces the user's config file on his computer. This requires the user to input his personal details into the config file after every update is installed. Is it possible to configure the update in such a way that the updater does not modify or replace certain files especially user configuration files?

We should probably have a FAQ for this question, because it gets asked every other week. Your config files should be separate from your app files. Put them in %appdata% and don't let the installer or the updater touch them. So how to create an "initial" config file for first time users? Create "template" config files in your program's folder. Copy these to the %appdata% folder on the user's first run.

Or create / modify the config files entirely from within your app.

Legend. Thanks a bunch