Troubleshooting: Cannot install interim fix because Update Installer says that it is already installed

After you install a higher feature pack level, you attempt to install a WebSphere Commerce Feature Pack interim fix but the operation fails. The Update Installer reports that the interim fix is installed.

Problem

You installed an interim fix for a particular APAR on an earlier WebSphere Commerce feature pack, then you migrated to a higher feature pack version. After migration, you attempt to install an interim fix for that same APAR on the higher feature pack version. However, when you attempt to install using the WebSphere Commerce Update Installer, the interim fix is grayed out so you cannot select it. Update Installer reports that the interim fix is installed.

You need to install the interim fix only if the newer feature pack does not already include a fix for the APAR. To determine whether a fix for the APAR is included in the newer feature pack, see APARs fixed in WebSphere Commerce feature packs.

If a fix for the APAR is not included in the feature pack, you must install an interim fix. However, you cannot install the same interim fix that you installed on the earlier version. Each interim fix is valid only for a particular version of WebSphere Commerce, so you must install the version of the interim fix that is for the higher feature pack level.

Solution

If this scenario applies to you, use the following steps to install the interim fix for the higher feature pack level.

To install the interim fix either in the WebSphere Commerce product directory (instance none) in the runtime environment or in the WebSphere Commerce Developer environment:
  1. Remove the old interim fix entry from NIFStack.xml.
    1. Back up the following file to a temporary directory:
      • WC_installdir\properties\version\update\backup\NIFStack.xml
      • WebSphere Commerce DeveloperWCDE_installdir\properties\version\update\backup\NIFStack.xml
    2. Open the following file in a text editor:
      • WC_installdir\properties\version\update\backup\NIFStack.xml
      • WebSphere Commerce DeveloperWCDE_installdir\properties\version\update\backup\NIFStack.xml
    3. In the file, find the <maintenance ..> section that corresponds to the interim fix you installed on the earlier feature pack for the APAR.
      The APAR number is listed in the apars parameter that looks like the following example:
      <param name="apars" value="a list of one or more APAR numbers"/>
      The old feature pack is listed in the targetproductids parameter, that looks like the following example:
      <param name="targetproductids" value="wc.fepX"/>
      If you are trying to install an interim fix for APAR IY12345 that was previously installed on top of Feature Pack 3, the applicable <maintenance> section might look like the following example.
      <maintenance name="IY12345" order="8">
      <param name="features" value="commerce;commerceear;configcommon;configmanager;docs;fep.content-version.
      70;fep.foundation.70;fep.management-center.70;fep.social-bridging.70;fep.sterling-integration.70;fep.store-enhancements.
      70;fep3.primary;update"/>
      <param name="uritoreinstall" value=""/>
      <param name="isenablingifix" value="false"/>
      <param name="producttype" value="NA"/>
      <param name="wasinstalledasmaintenance" value="true"/>
      <param name="packagetype" value="NA"/>
      <param name="wasinstalledasprimary" value="true"/>
      <param name="uninstallablebyupdi" value="true"/>
      <param name="filename" value="3.0.0.0-WS-WC70FeaturePack3Server-IFIY12345.pak"/>
      <param name="info" value="This is an example description for example APAR IY12345"/>
      <param name="hasprofileupdates" value="false"/>
      <param name="supercedesapars" value=""/>
      <param name="supercedes" value=""/>
      <param name="builddate" value="2012/02/17"/>
      <param name="autouninstallable" value="true"/>
      <param name="iscopyjdkrequired" value="false"/>
      <param name="isbackuppackage" value="false"/>
      <param name="apars" value="IY12345"/>
      <param name="isofficialfix" value="true"/>
      <param name="targetsubproductids" value="wc.fep3"/>
      <param name="targetproductids" value="wc.fep3"/>
      </maintenance>
      Note the value of the filename parameter, for example:
      <param name="filename" value="3.0.0.0-WS-WC70FeaturePack3Server-IFIY12345.pak"/>
    4. Delete from the NIFStack.xml file the entire <maintenance> section that is associated with the APAR. In the example that is shown, you would delete starting with and including the line like: <maintenance name="IY12345" order="8"> until and including the line </maintenance>.
  2. Remove the backup *.pak file.

    UPDI placed a backup *.pak file on the system when the original interim fix was installed. It must be removed

    1. Identify the *.pak file that corresponds to the old version of the interim fix
    2. Recall the value of the file name parameter from step 1. That is the name of the *.pak file to delete. The *.pak file to remove is in following directory:
      • WC_installdir\properties\version\update\backup
      • WCDE_installdir\properties\version\update\backup
    3. Delete, or move the *.pak file to another directory.
      Note: You will need the file again only if you uninstall the new interim fix and uninstall the new feature pack, then decide to uninstall the old interim fix. If you think that scenario is possible, then keep the file and move it back to this location when you are done. Otherwise, you can delete the file.
  3. Run Update Installer again to install the new interim fix. Update Installer no longer reports that the interim fix is already installed. You can successfully install the interim fix for the newer feature pack.
To install the interim fix on the WebSphere Commerce product instance in the runtime environment:
  1. Remove the old interim fix entry from NIFStack.xml.
    1. Back up WC_installdir\instances\instance_name\properties\version\update\backup\NIFStack.xml to a temporary directory:
    2. Open the WC_installdir\instances\instance_name\properties\version\update\backup\NIFStack.xml in a text editor:
    3. In the file, find the <maintenance ..> section that corresponds to the interim fix you installed on the earlier feature pack for the APAR.
      The APAR number is listed in the apars parameter that looks like the following example:
      <param name="apars" value="a list of one or more APAR numbers"/>
      The old feature pack is listed in the targetproductids parameter, that looks like the following example:
      <param name="targetproductids" value="wc.fepX"/>
      If you are trying to install an interim fix for APAR IY12345 that was previously installed on top of Feature Pack 3, the applicable <maintenance> section might look like the following example.
      <maintenance name="IY12345" order="8">
      <param name="features" value="commerce;commerceear;configcommon;configmanager;docs;fep.content-version.
      70;fep.foundation.70;fep.management-center.70;fep.social-bridging.70;fep.sterling-integration.70;fep.store-enhancements.
      70;fep3.primary;update"/>
      <param name="uritoreinstall" value=""/>
      <param name="isenablingifix" value="false"/>
      <param name="producttype" value="NA"/>
      <param name="wasinstalledasmaintenance" value="true"/>
      <param name="packagetype" value="NA"/>
      <param name="wasinstalledasprimary" value="true"/>
      <param name="uninstallablebyupdi" value="true"/>
      <param name="filename" value="3.0.0.0-WS-WC70FeaturePack3Server-IFIY12345.pak"/>
      <param name="info" value="This is an example description for example APAR IY12345"/>
      <param name="hasprofileupdates" value="false"/>
      <param name="supercedesapars" value=""/>
      <param name="supercedes" value=""/>
      <param name="builddate" value="2012/02/17"/>
      <param name="autouninstallable" value="true"/>
      <param name="iscopyjdkrequired" value="false"/>
      <param name="isbackuppackage" value="false"/>
      <param name="apars" value="IY12345"/>
      <param name="isofficialfix" value="true"/>
      <param name="targetsubproductids" value="wc.fep3"/>
      <param name="targetproductids" value="wc.fep3"/>
      </maintenance>
      Note the value of the filename parameter, for example:
      <param name="filename" value="3.0.0.0-WS-WC70FeaturePack3Server-IFIY12345.pak"/>
    4. Delete from the NIFStack.xml file the entire <maintenance> section that is associated with the APAR. In the example that is shown, you would delete starting with and including the line like: <maintenance name="IY12345" order="8"> until and including the line </maintenance>.
  2. Remove the backup *.pak file.

    UPDI placed a backup *.pak file on the system when the original interim fix was installed. It must be removed

    1. Identify the *.pak file that corresponds to the old version of the interim fix
    2. Recall the value of the file name parameter from step 1. That is the name of the *.pak file to delete. The *.pak file to remove is in following directory:
      • WC_installdir\instances\instance_name\properties\version\update\backup
    3. Delete, or move the *.pak file to another directory.
      Note: You will need the file again only if you uninstall the new interim fix and uninstall the new feature pack, then decide to uninstall the old interim fix. If you think that scenario is possible, then keep the file and move it back to this location when you are done. Otherwise, you can delete the file.
  3. Run Update Installer again to install the new interim fix. Update Installer no longer reports that the interim fix is already installed. You can successfully install the interim fix for the newer feature pack.