This is a bit of an odd one. What I want to achieve is to do whole file replacement of files, but only if they have changed between versions.
The reason is that we have about 18,000 HTML/JS/CSS files we ship with our software. On most updates, 99.99% of those will be unchanged, but some will change, so we don't want to do a "Force install" on all the HTML/JS/CSS files (that can take a LONG time).
However, if there's a minor problem with one of the files, we may tell people to edit it or download an interim patch to fix the problem. So, the file contents at the time of the patch may not be the same as those from the previous full release. So, a "binary patch" update may fail.
So, what we would like to achieve is that if a file has changed between versions, do a full replacement of that file so it's back to a known state, but if it hasn't changed between versions, leave the original there to save time.
I can't see any way to do this within Visual Patch at the moment.
What we could potentially do is run a pre-processing script to move all the changed files into a folder, and have Visual Patch do a 'Force Install' on those (as well as doing binary patches on the DLLs, EXEs etc, which users can't change themselves).
Would that mess up Visual Patch or would it be OK?
So, what I'm thinking is that we make versions in VP like: V1, V1.1, V1.2 etc. The 'web' folder for V1 is empty (even though the real distribution had 18,000 files in there), then the 'web' folder for V1.1 has, say, 10 files in there, which are the ones modified since V1 was released, V1.2 has, say, 20 files in there, which are those modified since V1 was released for that version, and so on. We set the 'web' folder to 'Force Install'.
We only need to support the last 2 or 3 versions for the patcher, since a full install will handle bigger steps (Currently that's the method we use for all updates, but Visual Patch should be quicker, and less scary for the user, if we can get it to work as we want).
The reason is that we have about 18,000 HTML/JS/CSS files we ship with our software. On most updates, 99.99% of those will be unchanged, but some will change, so we don't want to do a "Force install" on all the HTML/JS/CSS files (that can take a LONG time).
However, if there's a minor problem with one of the files, we may tell people to edit it or download an interim patch to fix the problem. So, the file contents at the time of the patch may not be the same as those from the previous full release. So, a "binary patch" update may fail.
So, what we would like to achieve is that if a file has changed between versions, do a full replacement of that file so it's back to a known state, but if it hasn't changed between versions, leave the original there to save time.
I can't see any way to do this within Visual Patch at the moment.
What we could potentially do is run a pre-processing script to move all the changed files into a folder, and have Visual Patch do a 'Force Install' on those (as well as doing binary patches on the DLLs, EXEs etc, which users can't change themselves).
Would that mess up Visual Patch or would it be OK?
So, what I'm thinking is that we make versions in VP like: V1, V1.1, V1.2 etc. The 'web' folder for V1 is empty (even though the real distribution had 18,000 files in there), then the 'web' folder for V1.1 has, say, 10 files in there, which are the ones modified since V1 was released, V1.2 has, say, 20 files in there, which are those modified since V1 was released for that version, and so on. We set the 'web' folder to 'Force Install'.
We only need to support the last 2 or 3 versions for the patcher, since a full install will handle bigger steps (Currently that's the method we use for all updates, but Visual Patch should be quicker, and less scary for the user, if we can get it to work as we want).