
Installing FixPaks via CID


Kicker diskettes are required for installing OS/2 FixPaks and LAN Server
(LS) Customer Service Diskettes (which are called FixPaks here). This
includes installing these FixPaks via IBM's Configuration Installation
Distribution (CID) process.

This README assumes that you can do a standard manual installation of a
FixPak on your system, before you set up a complex CID installation and
then find that the FixPak does not work on your system.

The installation kicker diskettes are different from the FixPak data
diskettes. The same kicker diskettes can be used to install several
different FixPaks, including all current OS/2 and LAN Server FixPaks,
and certain other products such as DCAF and NetView.

The following information describes how to use these kicker diskettes to
install the FixPaks.

CID Server Setup
________________

Step 1. On the CID server, create a new directory for
the FixPak. Here, let's name the directory FIXPAK.

Step 2. Use the XCOPY command with the /S parameter to copy all of the
FixPak data diskettes (for either OS/2 or LAN Server) into the FIXPAK
directory.

Step 3. XCOPY the single LS kicker diskette into the FIXPAK directory.
(You can XCOPY the second OS/2 FixPak kicker diskette into the FIXPAK
directory if you do not have the LS kicker diskette.)

Create a Response File
______________________

Step 4. To install an OS/2 FixPak, create an FSERVICE response file,
using the contents of RESPONSE.FIL in the FIXPAKS directory as the
basis (see Figure 1).

:LOGFILE \OS2\INSTALL\SERVICE.LOG
:FLAGS REPLACE_PROTECTED REPLACE_NEWER
:SOURCE A:\
:SERVICE
:SYSLEVEL \OS2\INSTALL\SYSLEVEL.OS2
:ARCHIVE \ARCHIVE

Figure 1. RESPONSE.FIL for Installing OS/2 FixPak

When modifying RESPONSE.FIL, be very careful not to resequence any of
the statements. Incorrect sequencing is a common cause of problems.

To service a product that resides in a specific partition, the response
file keyword :SYSLEVEL is used. For example,
:SYSLEVEL D:\OS2\INSTALL\SYSLEVEL.OS2
will only service the OS/2 product that already resides in the D:
partition.

There is no need to change the :SOURCE statement, because the /S:
command-line parameter used for the FSERVICE invokation overrides the
:SOURCE keyword in the response file. Also, the /L1: command-line
parameter overrides the :LOGFILE keyword.

It is okay to remove or remark out the :LOGFILE statement, but the
:SOURCE statement must always be present, even if it is not used.

The default OS/2 response file does not assign drive letters to
:SYSLEVEL and :ARCHIVE.  This will cause the FSERVICE exec to search
all partitions to locate the OS/2 product, and update all partitions
where it finds a version of OS/2 that is the correct version for the
FixPak.  If you remove the parameter from :SYSLEVEL then FSERVICE will
service all products found in the FixPak on all partitions where the
products exist.

Executing FSERVICE
__________________

Step 5. Execute FSERVICE to install the FixPak. Figure 2 lists the
parameters that can be used.

/S:   the source path pointing to the FIXPAKS directory on the CID
        server
/R:   drive:\path\filename of the response file
/L1:  drive:\path\filename of the log file
/T:   (optional) drive:\path to be used if booted from the SEMAINT
        environment; should be set to the same parameter value used in
        the SEMAINT call
/CID  (optional) to be used for unattended installation
/SF:  do not use for CID install

Figure 2. FSERVICE Parameters

Figure 3 gives an example of invoking the FSERVICE exec. Depending on
what the response file contains, the call in Figure 3 could be used to
install a FixPak, back out a FixPak, or commit a FixPak (so that the
FixPak cannot be backed out once it is installed). All code in Figure 3
must be on a single command line.

x:\csd\fixpak\fservice
  /s:x:\csd\fixpak
  /r:x:\csd\fixpak\response.fil
  /cid
  /t:c:\service
  /l1:x:\log\fixpak\service.log

Figure 3. Invoking FSERVICE

The /T: Parameter
_________________

If you boot OS/2 from a hard drive and the environment variable
REMOTE_INSTALL_STATE is set to 0 or 1, you must use the /T: parameter.
If you boot from a hard drive and the REMOTE_INSTALL_STATE environment
variable is not defined, you should not use the /T: parameter. If you
boot from diskette, /T: is ignored.

FSERVICE uses the /T: parameter to decide whether a file should be
updated. If the first part of the path to a file is equal to the /T:
parameter, then FSERVICE will not update that file, because files in
the maintenance directory (created by SEMAINT) should not be updated.

Whether to Run SEMAINT
______________________

The best and safest way to install an OS/2 FixPak is in a maintenance
mode. You can install an OS/2 FixPak while booted in normal OS/2 PM
mode, but problems may occur. If you install the FixPak while in the
OS/2 PM mode you must reboot the system as soon as possible after the
FixPak install completes. If you install two FixPaks in a row then
reboot the system the locked file device driver will not work correctly.

There are two standard ways to enter maintenance mode -- you can use
SEMAINT to generate a maintenance boot environment, or you can boot from
diskette. If you are going to install several fixes at one time, using
SEMAINT will save time because it requires fewer reboots and no
processing of locked files.

To use SEMAINT, you must make changes to the way you invoke FSERVICE.
FSERVICE cleans up a maintenance directory created by SEMAINT if the
/T: parameter is used and the system is booted from a hard drive.

You should only use the /T: parameter in the first FSERVICE call you
make. You need to remove or not use the /T: parameter in all other calls
to FSERVICE. This is necessary because the /T: parameter may cause a
file that was already updated to be restored to the original level.

If you use SEMAINT, do not use the /S2: parameter. The /S2: parameter
should only be used if installing OS/2 ServicePak XR_6200 or XR_6300.

Removing an Installed FixPak
____________________________

To back out a FixPak that has already been installed, use the response
file shown below.

:LOGFILE C:\OS2\INSTALL\SERVICE.LOG
:TARGET ARCHIVE
:BACKOUT
:SYSLEVEL C:\OS2\INSTALL\SYSLEVEL.OS2

When backing out a FixPak, the FSERVICE parameter /S: should point to
the FIXPAK directory on the CID server, because FSERVICE needs to find
the product information files for the FixPak that it will back out.

Some Troubleshooting
____________________

If problems occur during a FixPak installation, it may be necessary to
delete or rename the LOGF0000.??? and the LOGFSTART.??? files from the
target client system and to remove the ARCHIVE directory. These steps
are frequently needed when a previous FixPak installation started but
failed to finish.

The current OS/2 FixPak boot diskettes are based on OS/2 Warp code. The
system can be booted from either OS/2 2.11 or OS/2 Warp to install the
FixPak; however, a problem may occur if the system was booted with OS/2
2.11 when you apply a FixPak. The problem occurs if FSERVICE finds the
OS/2 Warp file SHPIINST.DLL from the FixPak boot diskette. The fix for
this problem is to replace the SHPIINST.DLL file in the FixPak directory
with an OS/2 2.11 version.

When installing a FixPak for LS 4.0 or some other product, you may need
to change the response file keyword <code> :SYSLEVEL <end code> to point
to the correct SYSLEVEL.??? file for that product.

You may need to remove or remark out the response file keyword :ARCHIVE
if archiving is turned off for the FixPak. This is the case for many LS
FixPaks.

You can archive to a LAN drive. You can archive files for different
products to the same directory.

You must always use the same archive directory for the same product. If
you install an OS/2 FixPak and a previous OS/2 FixPak was installed on
the system, you must use the same archive directory as used before. You
can change the archive directory with a special response file keyword,
:REDIRECT.

To update several products, you may need several pairs of :SERVICE and
:SYSLEVEL parameters for each product.

Using NvDM/2 and LCU
____________________

Users of NetView Distribution Manager for OS/2 (NvDM/2), IBM's premier
CID process, should refer to Figure 4 for a sample profile. For users
of LAN CID Utility (LCU), the standard CID process, see the REXX command
file product definition example in Figure 5.

TargetDir = "C:\SERVICE"
CompNameLen = 4

Section Catalog
Begin
  ObjectType = SOFTWARE
  GlobalName = FIXPAK.WARP.17.C.REF.1.0
  Description = WARP FixPak 17 on C:
End

Section Install
Begin
  Program = SA:\IMG\FIXW17\FSERVICE.EXE
  Parms = "/S:$(SourceDir) /T:$(TargetDir)
    /R:$(SA)\IMG\FIXW17\SERVICEC.RSP /L1:$(Logfile1)"
  SourceDir =  SA:\IMG\FIXW17
  LogFile1 = SB:\LOGS\OS2\$(WorkStatName).FIX
End

Figure 4. NvDM/2 Profile Example


x.fixpak = 9
x.9.name='WARP FixPak 17'
x.9.statevar = 'CAS_' || x.9.name
x.9.instprog = 'x:\img\fixw17\fservice.exe ',
               '/S:x:\img\fixw17 ',
               '/L1:y:\logs\os2\' || client || '.fix ',
               '/CID ',
               '/R:'
x.9.rspdir = 'x:\img\fixw17'
x.9.default = 'response.fil'

Figure 5. LCU REXX Example

SERVICE/FSERVICE Differences
____________________________

The Fixtool utility SERVICE will not work from a LAN drive.  This is
working as designed. SERVICE will only work from "removable" media
such as floppy diskette and CDROM.  FSERVICE is designed to work from
floppy diskette, CDROM, hard drive, LAN drive, etc.
