March 2008 Archives

What's in that Patch?

| | Comments (0)
With a .NET customer, I recently upgraded ALUI to ALUI 6.1 MP1 Patch 1. The process involved first running the MP1 installer, then the Patch 1 installer. But we encountered a bug in Patch 1 that meant we had to remove that portion of the upgrade.

BEA support suggested we roll back to the files as they had been before the Patch 1 installer, but since we did MP1 and Patch 1 as part of the same activity, we didn't have the backups support would have hoped for. Plus, we weren't sure whether Patch 1 modified config files.

I decided to identify the exact files that were modified to see if they could be easily backed out by just replacing some JARs and DLLs, and indeed, that was the case. My approach might be helpful to others. I did the following:

  1. Install MP1 on a fresh VMWare host
  2. Change the date on the VMWare host to tomorrow's date.
  3. Set the timestamp on every file in the c:\bea\alui directory to the date of the VMWare host. I did this with the following command using unix-esque executables from unxutils:
    c:\add2path\find.exe c:\bea\alui -exec touch {} ;
  4. Backup the c:\bea\alui directory as c:\bea\alui-mp1
  5. Restore the date on the VMWare host to the correct date
  6. Install MP1 Patch 1. This will result in timestamps of today or earlier for any file placed on the server by Patch 1.
  7. Search for all files modified anytime up until today but not including tomorrow
  8. Delete from c:\bea\alui-mp1 every file except those on the list of modified files
  9. We were only concerned with rolling back Patch 1 on the portal servers, so I made a zip file of the remaining contents of c:\bea\alui-mp1\ptportal. I named the zip file

We then unzipped over the ptportal directory on the customer servers with good results. The following is the list of files that were installed or modified with Patch 1. Where the full path is not given, the file was under c:\bea\alui.

But wait, you say. Why did you mess around with changing the timestamps on the files? Why didn't you just backup the MP1 directory, then install Patch 1 and compare the two directories? The concern there is that it's hard to tell whether a config file is identical both before and after Patch 1 is the same because it wasn't touched (good information) or because it was overwritten with an identical file that had the same timestamp (confusing). And if that file that is placed identically by the installers needs some modifications for your environment, then you really need to know whether the installer would overwrite your changes.

If you ever have the situation were you need to know after the fact what changed, then you might take this approach.