home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 April / Chip_1997-04_cd.bin / ovladace / novell / 410pt7 / 410pt7.exe / 410PATCH.IPS next >
Text File  |  1997-01-22  |  19KB  |  525 lines

  1. ; ***************************************************************
  2. ;
  3. ; This script has been developed to install NetWare OS Patches.
  4. ; Date: 08/16/96
  5. ;
  6. ; ***************************************************************
  7. ; @SyntaxVersion 1.00
  8. ; "CoPyRiGhT=(c) 1996 Novell, Inc.  All Rights Reserved."
  9. ; VeRsIoN=2.00
  10.  
  11.  
  12.     CopyToServer SYSTEM\NWUPDATE, PI_ICMD.NLM, '', ''
  13.     CopyToServer SYSTEM\NWUPDATE, PI_INIT.NLM, '', ''
  14.     Command NWUPDATE\PI_ICMD
  15.  
  16.     GetPath TempInstallDir, 1, 'SYS:\\SYSTEM\\NWUPDATE', ''
  17.  
  18.     ValueSet PatchKitLevel, "7"
  19.     SetVar PatchKitID, "410PT%{PatchKitLevel}"
  20.     ;-- WARNING:
  21.     ;ProductRecord does not support passing a varible
  22.     ;When modifing PatchKitID also midify the discription string on ProductRecord
  23.         ; Example:
  24.         ; ProductRecord PATCHKIT, 1, "NetWare v4.10 Patch Kit 410PT7"
  25.  
  26.  
  27.     ValueSet InstallAll, 0
  28.     ValueSet InstallPTOnly, 0
  29.  
  30.  
  31. ; ***************************************************************
  32.  
  33. ;;    This file set is commented out becouse we only want to install the (PT KIT ONLY).
  34. ;    to find addition commented line search for "XXX"
  35. ;    Note: line 68, Name: PTONLY_KIT , Class: OPTIONAL_OFF was changed to OPTIONAL.  
  36. ;    Note: lines 217, and 335 commended out to avoid adding a PMLOAD FOR START_IT
  37. ;@FileSet
  38. ;
  39. ;        Description: "NetWare v4.10 Patch Kit (PT and IT patches)"
  40. ;        Name: PTIT_KIT
  41. ;        CLASS: OPTIONAL
  42. ;;xxx        CLASS: OPTIONAL_OFF
  43. ;        HELP: " It is suggested that the installation of patches be done during NON-PRODUCTION hours,
  44. ;        to not affect performance of the File Server and to ensure completion of installation.\n\n
  45. ;
  46. ;        This installation will create a backup of your current NCF files.\n\n
  47. ;
  48. ;        This installation will also update SERVER.EXE (or MSERVER.EXE if SFTIII) with the most
  49. ;        current LOADER.\n\n
  50. ;
  51. ;        This installation will load PM410 & use the PMLOAD console command to load the patches
  52. ;        included in this kit if not already loaded.\n\n
  53. ;
  54. ;        Note that if PM410 is already loaded, the new version will not load until the server
  55. ;        it rebooted.\n\n
  56. ;
  57. ;        If the current version of PM410 does not support PMLOAD, the new patches will not load
  58. ;        until the server is rebooted."
  59. ;
  60. ;    ValueSet InstallAll, 1
  61. ;
  62. ;@EndFileSet
  63.  
  64.  
  65. @FileSet
  66.  
  67.         Description: "NetWare v4.10 Patch Kit (PT patches only)"
  68.         Name: PTONLY_KIT
  69.         CLASS: OPTIONAL
  70. ;xxx        CLASS: OPTIONAL_OFF
  71.         HELP: " It is suggested that the installation of patches be done during NON-PRODUCTION hours,
  72.         to not affect performance of the File Server and to ensure completion of installation.\n\n
  73.  
  74.         This installation will create a backup of your current NCF files.\n\n
  75.  
  76.         This installation will load PM410 & use the PMLOAD console command to load the patches
  77.         included in this kit if not already loaded.\n\n
  78.  
  79.         If PM410 is already loaded, the new version will not be loaded until the server is
  80.         rebooted.\n\n
  81.  
  82.         If the current version of PM410 does not support PMLOAD, the new patches will not load
  83.         until the server is rebooted."
  84.  
  85.     ValueSet InstallPTOnly, 1
  86.  
  87. @EndFileSet
  88.  
  89. ; ***************************************************************
  90. ; ***************************************************************
  91.  
  92.     GotoIfEqual %{InstallAll}, %{InstallPTOnly}, ERROR_MustSelectOneOption
  93.  
  94.     ; (Note that PI_INIT.NLM sets the PI_* variables used below)
  95.     NLMExec 1, NWUPDATE\PI_INIT, ccode
  96.  
  97.     GotoIfLess %{PatchKitLevel}, %{PI_InstalledPatchKitLevel}, ERROR_PatchKitIsOutdated
  98.  
  99.     PI_EditNCF_KEYSTRINGS
  100.  
  101.         'adtrstfx','alequefx','alldirfx','alwritfx','auddirfx','audnspfx',
  102.         'autodump','brdcstfx','chklanfx','clrdirfx','clsscrfx','comabrfx',
  103.         'comcopfx','comredfx','comsdsfx','comstpfx','comupdfx','credirfx',
  104.         'crtdirfx','diag410 ','dsprcsfx','duplicfx','eadflgfx','eapurgfx',
  105.         'eavlmtfx','eofredfx','evntrpfx','exvmgtfx','fndsymfx','getdirfx',
  106.         'getvinfx','getvolfx','ipxhanfx','ipxstafx','lckstnfx','lsllckfx',
  107.         'lsltimfx','macreqfx','mapconfx','maxpckfx','memcolfx','migfrefx',
  108.         'miginifx','migkeyfx','migstrfx','mmdismfx','mmmirrfx','mmremmfx',
  109.         'msinpqfx','msshim  ','mssmemfx','msvolmfx','nsmodffx','nswildfx',
  110.         'opnclbfx','pboutwfx','prgdelfx','prgfilfx','protidfx','pubrecfx',
  111.         'readflfx','regopnfx','relquefx','rendirfx','respolfx','ripfix  ',
  112.         'rpcerrfx','rtconnfx','serperfx','shrramfx','shrresfx','srsyncfx',
  113.         'srvprsfx','srvstpfx','stdrchfx','stpsrvfx','sublckfx','subspcfx',
  114.         'synmemfx','synmsgfx','synthrfx','timresfx','totblkfx','unkspcfx',
  115.         'vgenfufx','watdogfx','worktdfx','swtintfx',
  116.         'PM410'   , 'START_PT,'START_IT',
  117.         ''   ; Last entry MUST be null string (indicates end of list)
  118.  
  119.         ; Note that SMPSHMFX is not in the list because the SMP install
  120.         ; handles that patch explicitely on its own.
  121.  
  122.  
  123.     ;********* Get the source and destination paths
  124.  
  125.     GotoIfEqual 0, '%{PI_OSType}', SetupPaths_NATIVE
  126.     GotoIfEqual 1, '%{PI_OSType}', SetupPaths_NWOS2
  127.     GotoIfEqual 2, '%{PI_OSType}', SetupPaths_SFT3
  128.  
  129.     Display 0, 'Unknown OS Type %{PI_OSType}'
  130.     Goto ERROR_EXIT
  131.  
  132.     Label SetupPaths_NATIVE
  133.         GetPath startupDir, 3, '%{NWBOOT}', '', NWBOOT
  134.         GetPath autoexecDir, 3, 'SYS:SYSTEM', ''
  135.  
  136.         SetVar RelativePatchPath, '\\%{PatchKitID}\\NATIVE'
  137.         GetPath PatchSrc,  3, '%{NWSRC}%{RelativePatchPath}', '', NWSRC
  138.         GetPath PatchDest, 3, '%{NWBOOT}\\PATCHES%{RelativePatchPath}', '', NWBOOT
  139.  
  140.         GetPath SourceBootDrive,  3, '%{NWSRC}\\BOOT', '', NWSRC
  141.         GetPath DestBootDrive, 3, '%{NWBOOT}', '', NWBOOT
  142.  
  143.         GetPath SourceSYSDrive,  3, '%{NWSRC}\\SYS', '', NWSRC
  144.         SetVar DestSYSDrive, "SYS:"
  145.  
  146.         Goto InstallPatches_NonSFT3
  147.  
  148.     Label SetupPaths_NWOS2
  149.         GetPath startupDir, 3, '%{NWBOOT}', '', NWBOOT
  150.         GetPath autoexecDir, 3, 'SYS:SYSTEM', ''
  151.  
  152.         SetVar RelativePatchPath, '\\%{PatchKitID}\\NWOS2'
  153.         GetPath PatchSrc,  3, '%{NWSRC}%{RelativePatchPath}', '', NWSRC
  154.         GetPath PatchDest, 3, '%{NWBOOT}\\PATCHES%{RelativePatchPath}', '', NWBOOT
  155.  
  156.         GetPath SourceBootDrive,  3, '%{NWSRC}\\BOOT', '', NWSRC
  157.         GetPath DestBootDrive, 3, '%{NWBOOT}', '', NWBOOT
  158.  
  159.         GetPath SourceSYSDrive,  3, '%{NWSRC}\\SYS', '', NWSRC
  160.         SetVar DestSYSDrive, "SYS:"
  161.  
  162.         Goto InstallPatches_NonSFT3
  163.  
  164.     Label SetupPaths_SFT3
  165.         GetPath autoexecDir, 3, 'SYS:SYSTEM', '', NWBOOT
  166.  
  167.         SetVar RelativePatchPath, '\\%{PatchKitID}\\SFTIII'
  168.         GetPath PatchSrc,  3, '%{NWSRC}%{RelativePatchPath}', '', NWSRC
  169.  
  170.         GetPath SourceBootDrive,  3, '%{NWSRC}\\BOOT', '', NWSRC
  171.  
  172.         GetPath SourceSYSDrive,  3, '%{NWSRC}\\SYS', '', NWSRC
  173.         SetVar DestSYSDrive, 'SYS:'
  174.  
  175.         Goto InstallPatches_SFT3
  176.  
  177.  
  178. ; ***************************************************************
  179. ; ***************************************************************
  180.  
  181. Label InstallPatches_NonSFT3
  182.  
  183.     Display 2, "Patch kit %{PatchKitID} for NetWare v4.10 is about to be installed."
  184.  
  185.     ;********* Copy Patches
  186.     CopyFile 1, 1, 1, 1, 0, PatchSrc, '', '', '',PatchDest, '', '', '', 0
  187.  
  188.     ;********* Copy system NLMS TO NWBOOT AND SYS: if any are present on the source.
  189.     ;********* Copy to the SYS: Volume 
  190.     CopyFile 1, 1, 0, 1, 0, SourceSYSDrive, '', '', '',DestSYSDrive, '', '', '', 0
  191.  
  192.     ;********* Copy to the BOOT Drive.
  193.     CopyFile 1, 1, 0, 1, 0, SourceBootDrive, '', '', '',DestBootDrive, '', '', '', 0
  194.  
  195.     Display 2, "Done copying files."
  196.  
  197.     ;********* Edit the NCF FILES
  198.  
  199.     Display 2, "Modifying STARTUP.NCF"
  200.  
  201.     GetPath startupDir, 3, '%{NWBOOT}', '', NWBOOT
  202.     GetPath autoexecDir, 3, 'SYS:SYSTEM', ''
  203.  
  204.     ;--- Edit STARTUP.NCF
  205.  
  206.     ; Define the list of lines to be added at the top of the NCF file
  207.     ; Clear the list of lines
  208.     PI_EditNCF_ADDLINE ''        ; (not adding anything)
  209.     PI_EditNCF_ADDLINE '; The following lines were moved and/or added by the %{PatchKitID} patch installation'
  210.     PI_EditNCF_ADDLINE 'LOAD %{PatchDest}\\PM410.NLM'
  211.     PI_EditNCF_ADDLINE 'PMLOAD %{PatchDest}\\START_PT'
  212.  
  213.     GotoIfEqual 1, %{InstallPTOnly}, CommentPMLoadIT
  214.         PI_EditNCF_ADDLINE 'PMLOAD %{PatchDest}\\START_IT'
  215.         PI_EditNCF_ADDLINE '; End of modifications made by 410PT7 patch installation'
  216.         PI_EditNCF_ADDLINE ' ' ;Add blank Line
  217.  
  218.         Goto EditContinue
  219.     Label CommentPMLoadIT
  220.         PI_EditNCF_ADDLINE ';;PMLOAD %{PatchDest}\\START_IT'
  221.         PI_EditNCF_ADDLINE '; End of modifications made by 410PT7 patch installation'
  222.         PI_EditNCF_ADDLINE ' ' ;Add blank Line
  223.  
  224.     Label EditContinue
  225.  
  226.     PI_EditNCF startupDir, 'STARTUP.NCF', '.PT', ccode
  227.  
  228.     ;--- Edit AUTOEXEC.NCF
  229.  
  230.     ; Clear the list of lines
  231.     PI_EditNCF_ADDLINE ''        ; (not adding anything)
  232.  
  233.     PI_EditNCF autoexecDir, 'AUTOEXEC.NCF', '.PT', ccode
  234.  
  235.     ;********* Swap the loader
  236.  
  237.     ;NetWare for OS/2 does not need LOADER.EXE SWAPPED.
  238.     GotoIfEqual 1, '%{PI_OSType}', SkipInstallLoader_ForNWOS2
  239.         Display 2, "Updating SERVER.EXE with a new version of LOADER.EXE."
  240.         NLMExec 1, '%{PatchDest}\\LSWAP %{PatchDest}\\LOADER.EXE %{NWBOOT}\\SERVER.EXE', ccode
  241.     Label SkipInstallLoader_ForNWOS2
  242.  
  243.     ;********* Load PM410 and the patches
  244.  
  245.     Display 2, "Loading PM410"
  246.     NLMExec 0, '%{PatchDest}\\PM410.NLM', ccode
  247.  
  248.     Display 2, "Executing PMLOAD console command\n"
  249.     Console 'PMLOAD %{PatchDest}\\START_PT', 5
  250.  
  251.     GotoIfEqual 1, %{InstallPTOnly}, DontLoadIT
  252.  
  253.         Console 'PMLOAD %{PatchDest}\\START_IT', 2
  254.  
  255.     Label DontLoadIT
  256.  
  257.     Goto COMMON_FINISH_UP
  258.  
  259. ; ***************************************************************
  260. ; ***************************************************************
  261.  
  262. Label InstallPatches_SFT3
  263.  
  264.     ;*********  Stuff that happens once
  265.  
  266.     Display 2, "Patch kit %{PatchKitID} for NetWare v4.10 SFT3 is about to be installed."
  267.  
  268.     ; Note that PI_ICMD.NLM assumes that PI_IOCON.NLM and PI_IOMKD.NLM are
  269.     ; located in SYS:SYSTEM.
  270.     CopyToServer SYSTEM, PI_IOCON.NLM, '', ''
  271.     CopyToServer SYSTEM, PI_IOMKD.NLM, '', ''
  272.  
  273.     ;********* Copy system NLMS TO NWBOOT AND SYS: if any are present on the source.
  274.     ;********* Copy to the SYS: Volume
  275.     Display 2, "Copying files to SYS:\\... including sub-directories."
  276.     CopyFile 1, 1, 0, 1, 0, SourceSYSDrive, '', '', '',DestSYSDrive, '', '', '', 0
  277.  
  278.     GetDOSServer saveEngineNum
  279.     SetVar engineNum, 0
  280.  
  281.     Label SFT3_DoOtherEngine                   
  282.  
  283.         ;*********  Stuff that happens for each engine
  284.         SetDOSServer %{engineNum}, ccode
  285.         GotoIfNEqual 0, %{ccode}, SFT3_IOEngineNotPresent
  286.  
  287.         GetPath startupDir, 3, '%{NWBOOT}', '', NWBOOT
  288.  
  289.         GetPath PatchDest, 3, '%{NWBOOT}\\PATCHES%{RelativePatchPath}', '', NWBOOT
  290.         GetPath DestBootDrive, 3, '%{NWBOOT}', '', NWBOOT
  291.  
  292.         ;********* Copy Patches
  293.         Display 2, "Copying dynamic updates files."
  294.         CopyFile 1, 1, 1, 1, 0, PatchSrc, '', '', '',PatchDest, '', '', '', 0
  295.  
  296.         ;********* Copy system NLMS TO NWBOOT AND SYS: if any are present on the source.
  297.         ;********* Copy to the BOOT Drive.
  298.         Display 2, "Copying files to Boot drive"
  299.         CopyFile 1, 1, 0, 1, 0, SourceBootDrive, '', '', '',DestBootDrive, '', '', '', 0
  300.  
  301.         Display 2, "Done copying files."
  302.  
  303.         ;********* Edit the NCF FILES
  304.         ;----- Edit IOSTART.NCF
  305.  
  306.         Display 2, "Modifying IOSTART.NCF"
  307.  
  308.         ; Clear the list of lines
  309.         PI_EditNCF_ADDLINE ''
  310.  
  311.         ; Define the list of lines to be added at the top of the NCF file
  312.  
  313.         PI_EditNCF_ADDLINE '; The following lines were moved and/or added by the %{PatchKitID} patch installation'
  314.  
  315.         ; Search for a "SET NEW START ADDRESS FOR UNCLAIMED..." command in IOSTART.NCF.
  316.  
  317.         PI_SrchNCF startupDir, 'IOSTART.NCF', 'New Start Address For Unclaimed Memory Block', NewStartReturnedLine, ccode
  318.         GotoIfNEqual  0, '%{ccode}', SkipNewStartAddline
  319.             PI_EditNCF_ADDLINE '%{NewStartReturnedLine}'
  320.         Label SkipNewStartAddline
  321.  
  322.         ; Search for a "SET NEW END ADDRESS FOR UNCLAIMED..." command in IOSTART.NCF.
  323.  
  324.         PI_SrchNCF startupDir, 'IOSTART.NCF', 'New End Address For Unclaimed Memory Block', NewEndReturnedLine, ccode
  325.         GotoIfNEqual 0, '%{ccode}', SkipNewEndAddline
  326.             PI_EditNCF_ADDLINE '%{NewEndReturnedLine}'
  327.         Label SkipNewEndAddline
  328.  
  329.         PI_EditNCF_ADDLINE 'LOAD %{PatchDest}\\PM410.NLM'
  330.         PI_EditNCF_ADDLINE 'PMLOAD %{PatchDest}\\IO\\START_PT'
  331.  
  332.         GotoIfEqual 1, %{InstallPTOnly}, SFT3CommentPMLoadIT1
  333.             PI_EditNCF_ADDLINE 'PMLOAD %{PatchDest}\\IO\\START_IT'
  334.             PI_EditNCF_ADDLINE '; End of modifications made by 410PT7 patch installation'
  335.             PI_EditNCF_ADDLINE ' ' ;Add blank Line
  336.             Goto SFT3EditContinue1
  337.         Label SFT3CommentPMLoadIT1
  338.             PI_EditNCF_ADDLINE '; PMLOAD %{PatchDest}\\IO\\START_IT'
  339.             PI_EditNCF_ADDLINE '; End of modifications made by 410PT7 patch installation'
  340.             PI_EditNCF_ADDLINE ' ' ;Add blank Line
  341.         Label SFT3EditContinue1
  342.  
  343.         ; Now actually edit the NCF file...
  344.  
  345.         PI_EditNCF startupDir, 'IOSTART.NCF', '.PT', ccode
  346.  
  347.         ;----- Edit IOAUTO.NCF
  348.  
  349.         ; Clear the list of lines
  350.         PI_EditNCF_ADDLINE ''        ; (not adding anything)
  351.  
  352.         PI_EditNCF startupDir, 'IOAUTO.NCF', '.PT', ccode
  353.  
  354.         ;----- Edit MSSTART.NCF
  355.  
  356.         Display 2, "Modifying MSSTART.NCF"
  357.  
  358.         ; Clear the list of lines
  359.         PI_EditNCF_ADDLINE ''        ; (not adding anything)
  360.  
  361.         ; Define the list of lines to be added at the top of the NCF file
  362.         PI_EditNCF_ADDLINE '; The following two lines were added by the %{PatchKitID} patch installation'
  363.         PI_EditNCF_ADDLINE 'LOAD %{PatchDest}\\PM410.NLM'
  364.         PI_EditNCF_ADDLINE 'PMLOAD %{PatchDest}\\MS\\START_PT'
  365.     
  366.         GotoIfEqual 1, %{InstallPTOnly}, SFT3CommentPMLoadIT2
  367.             PI_EditNCF_ADDLINE 'PMLOAD %{PatchDest}\\MS\\START_IT'
  368.             PI_EditNCF_ADDLINE ' ' ;Add blank Line
  369.  
  370.             Goto SFT3EditContinue2
  371.         Label SFT3CommentPMLoadIT2
  372.             PI_EditNCF_ADDLINE '; PMLOAD %{PatchDest}\\MS\\START_IT'
  373.             PI_EditNCF_ADDLINE ' ' ;Add blank Line
  374.  
  375.         Label SFT3EditContinue2
  376.  
  377.         PI_EditNCF startupDir, 'MSSTART.NCF', '.PT', ccode
  378.  
  379.         ;----- Edit MSAUTO.NCF
  380.  
  381.         ; Clear the list of lines
  382.         PI_EditNCF_ADDLINE ''        ; (not adding anything)
  383.  
  384.         PI_EditNCF autoexecDir, 'MSAUTO.NCF', '.PT', ccode
  385.  
  386.         ;********* Swap the loader
  387.  
  388.         Display 2, "Updating MSERVER.EXE with latest version of LOADER"
  389.         NLMExec 1, '%{PatchDest}\\LSWAP %{PatchDest}\\LOADER.EXE %{NWBOOT}\\MSERVER.EXE', ccode
  390.  
  391.         ;********* Load PM410 and patches in IOEngine
  392.  
  393.         Display 2, "Loading PM410 in IOEngine"
  394.         NLMExec_IO 0, '%{PatchDest}\\PM410.NLM', ccode
  395.  
  396.         Display 2, "Loading IOEngine patches\n"
  397.         Console_IO 'PMLOAD %{PatchDest}\\IO\\START_PT', 5
  398.  
  399.         GotoIfEqual 1, %{InstallPTOnly}, SFT3DontLoadIT_IO
  400.  
  401.             Console_IO 'PMLOAD %{PatchDest}\\IO\\START_IT', 2
  402.  
  403.         Label SFT3DontLoadIT_IO
  404.  
  405. Label SFT3_IOEngineNotPresent_continue
  406.  
  407.         ValueAdd engineNum, 1
  408.  
  409.     GotoIfEqual 1, '%{engineNum}', SFT3_DoOtherEngine
  410.  
  411.     ;********* Set DOS server back to original engine number
  412.  
  413.     SetDOSServer %{saveEngineNum}, ccode
  414.  
  415.     ;********* Load PM410 and patches in MSEngine
  416.  
  417.     Display 2, "Loading PM410 in MSEngine"
  418.     NLMExec 0, '%{PatchDest}\\PM410.NLM', ccode
  419.  
  420.     Display 2, "Loading MSEngine patches\n"
  421.     Console 'PMLOAD %{PatchDest}\\MS\\START_PT', 5
  422.  
  423.     GotoIfEqual 1, %{InstallPTOnly}, SFT3DontLoadIT_MS
  424.  
  425.         Console 'PMLOAD %{PatchDest}\\MS\\START_IT', 2
  426.  
  427.     Label SFT3DontLoadIT_MS
  428.  
  429.     ;********* Finished
  430.  
  431.     Goto COMMON_FINISH_UP
  432.  
  433. Label SFT3_IOEngineNotPresent
  434.  
  435.     display 0, 'IOEngine[%{engineNum}] not present (will be skipped)'
  436.     Goto SFT3_IOEngineNotPresent_continue
  437.  
  438. ; ***************************************************************
  439. ; ***************************************************************
  440.  
  441. ; Common exit stuff
  442.  
  443. Label ERROR_MustSelectOneOption
  444.  
  445.     display 0, 'ERROR: Must select ONE of the two file groups only'
  446.     Goto CLEANUP    ; Skip the CLEANUP stuff (we never copied anything)
  447.  
  448. Label ERROR_PatchKitIsOutdated
  449.  
  450.     display 0, 'ERROR: Patch kit is outdated.\n
  451.        This patch kit (%{PatchKitID}), is older than currently installed patch kit (%{PI_InstalledPatchKitID}).'
  452.     Goto CLEANUP
  453.  
  454. Label COMMON_FINISH_UP
  455.  
  456.     ;********* Remove old records (we now just use OS_PATCHES)
  457.     Display 2, "Removing old records from PRODUCT.DAT file"
  458.     NLMExec 1, 'SYS:\\SYSTEM\\UINSTALL 410PT3', ccode
  459.     NLMExec 1, 'SYS:\\SYSTEM\\UINSTALL 410PT4', ccode
  460.     NLMExec 1, 'SYS:\\SYSTEM\\UINSTALL 410IT6'  ccode
  461.  
  462.     ;********* Update OS_PATCHES record in PRODUCTS.DAT
  463.     ;We have a problem useing %{PatchKitID} variable as part of the ProductRecord discription.
  464.     ;NetWare for OS/2 will page fault for some customers adding the ProductRecord.
  465.     GotoIfEqual 1, '%{PI_OSType}', SkipProductRecord_ForNWOS2
  466.  
  467.         ProductRecord PATCHKIT, 0, "7.00"
  468.         ProductRecord PATCHKIT, 1, "NetWare v4.10 Patch Kit 410PT7"
  469. ;        ProductRecord PATCHKIT, 1, "NetWare v4.10 410PT7 (PreRelease ver. B)"
  470.     Label SkipProductRecord_ForNWOS2
  471.     ; Fall through to CLEANUP
  472.  
  473.  
  474.     ;********* Setup closeing screens dependent on the version of OS.
  475.     GotoIfEqual 0, '%{PI_OSType}', CloseScreen_NATIVE
  476.     GotoIfEqual 1, '%{PI_OSType}', CloseScreen_NWOS2
  477.     GotoIfEqual 2, '%{PI_OSType}', CloseScreen_SFT3
  478.  
  479.     Label CloseScreen_SFT3
  480.     Display 0,     "PATCH KIT INSTALLATION IS COMPLETE!\n\n
  481.  
  482.              ISSUE:\n\n
  483.  
  484.             NetWare SFTIII parses the IOSTART.NCF by scanning the file twice.\n
  485.             First pass to scan for all SET paramters, exept for the following:\n\n
  486.                     
  487.                 Set New Start Address For Unclaimed Memory Block\n
  488.                 Set New End Address For Unclaimed Memory Block\n\n
  489.  
  490.             Second pass to scan for LOAD commands and the two SET parameters listed above.
  491.             The LOAD command and SET paramters are executed in the order that they apear
  492.             in the NCF file..\n\n
  493.  
  494.             This Patch installation makes an attempt to move the two SET parameters above
  495.             the LOAD statment for the patch kit."
  496.                 
  497.     Display 0,    "Novell recommends that all SFTIII configurations have ALL SET paramters before
  498.             ALL LOAD commands\n\n
  499.  
  500.             Novell also recommends that all SFTIII installations have a minimum of 12 Meg for
  501.             for each IO Engine by doing the following in the IOSTART.NCF\n\n
  502.  
  503.                 Set New Start Address For Unclaimed Memory Block=12000000\n\n
  504.             
  505.             By doing this the following ABEND can be avoided:    
  506.             ABEND: SERVER-4.10-385: Insufficient memory to available to allocate enough receive buffers.
  507.             is a result of having insufficient IOEngine memory and also loading the patches be for
  508.             the SET parameters.\n\n
  509.                         
  510.             Review the NCF files for accuracy then DOWN the server and RESTART SERVER to complete the installation of patches."
  511.      Goto CLEANUP
  512.  
  513.     Label CloseScreen_NATIVE
  514.     Label CloseScreen_NWOS2
  515.         Display 0, "PATCH KIT INSTALLATION IS COMPLETE!\n\nReview the NCF files for accuracy then DOWN the server and RESTART SERVER to complete the installation of patches."
  516.     Goto CLEANUP
  517.     
  518. Label CLEANUP
  519.  
  520.     EraseFile 0, TempInstallDir, '','',''
  521.     EraseFile 0, 'autoexecDir', 'PI_IOMKD.NLM','',''
  522.     EraseFile 0, 'autoexecDir', 'PI_IOCON.NLM','',''
  523.  
  524. Label EXIT
  525.