Showing results for 
Show  only  | Search instead for 
Did you mean: 
Level 5

File Merge Upon Upgrade To Retain Customizations


I am wondering if anyone has any general strategies in regards to the following:

We have a server application that is built using InstallShield (MSI). This server application contains many jsp files. Our customers like to modify these jsp files to do all sorts of things - modifying these files it is something we support.

So here is the problem:

Before they upgrade to the said latest version, they essentially need to take a backup of the JSP directory and then post upgrade, perform a manual diff of the backup vs the latest JSP directory. Then they need to re-merge in their customizations (we probably made changes to the jsp files in the new version).

Does anyone have any strategies regarding dealing with these kinds of file customizations and merging them in upon an upgrade (or uninstall and reinstall)? I'm wondering if we'd need to acquire a commercial merge tool of some sort to do this automatically, but I'd love to hear of other suggestions...

Labels (1)
0 Kudos
(2) Replies
Level 5

Do you want to merge the contents of the files or merge the files?

If it is about merging files(latter case), what you can do is write a custom action to launch right at the beginning of the installation or after a step where you get to know that there exist a version already, backup the existing directory by renaming it or XCopy it to some location. Then you can continue with your installation. As a post installation activity, you can run through a for each kind of loop for the new directory and backed up directory to get the list of files and copy as needed from source to destination.

For the former case, you may have to stretch your code a little more to go through each file content line by line and compare with the new and write all needed contents in a temporary file. Once that is done, you can rename your temp file to whatever name you want and copy over to the destination.

Will this help somehow????
0 Kudos
Level 5

Thanks for the reply. It is going to be a file contents merge. I was thinking what you described below was the way we were going to have to do it, but wasn't sure if there is more of a best practice in solving this. My guess is there isn't because of the volatility of merges; each case may be different...
0 Kudos