home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / d / d423_liu / 7.ddi / OEMNXPSM.IN_ / OEMNXPSM.IN
Encoding:
INI File  |  1993-07-24  |  73.7 KB  |  1,895 lines

  1. [Identification]
  2.    OptionType = NetTransport
  3. [Options]
  4.    SFM
  5. [FileConstants]
  6. ProductFullInfName      = $(!STF_CWDDIR)oemnxpsm.inf
  7. Manufacturer            = "Microsoft"
  8. ProductMajorVersion     = 3
  9. ProductMinorVersion     = 1
  10. ProductVersion          = $(ProductMajorVersion)"."$(ProductMinorVersion)
  11. ProductSFMName           = "SFM"
  12. ProductATALKName           = "AppleTalk"
  13. ProductATALKImagePath   = "%SystemRoot%\system32\drivers\sfmatalk.sys"
  14. ProductATALKSvcType     = "kernel"
  15. ProductATALKType        = "transport"
  16. ProductATALKEventDll    = "%SystemRoot%\system32\sfmatmsg.dll"
  17. NetRuleATALKType        = "appletalk appletalktransport"
  18. NetRuleATALKUse         = transport " yes yes"
  19. NetRuleATALKBindForm    = """appletalk"" yes yes container"
  20. NetRuleATALKClass       = {"appletalktransport basic "}
  21. NetRuleATALKBindList    = {"appletalktransport ndisDriver non non 100", +
  22.                            "appletalktransport ltkndisDriver non exclusive 100" }
  23. ProductAFPSVCName               = "MacFile"
  24. ProductAFPSVCImagePath          = "%SystemRoot%\system32\sfmsvc.exe"
  25. ProductAFPSVCType               = "service"
  26. ProductAFPSVCEventDll           = "%SystemRoot%\system32\sfmmsg.dll"
  27. NetRuleAFPSVCType               = "MacFile lmNetService"
  28. NetRuleAFPSVCUse                = "service"
  29. ProductAFPSRVRName              = "MacSrv"
  30. ProductAFPSRVRImagePath         = "%SystemRoot%\system32\drivers\sfmsrv.sys"
  31. ProductAFPSRVREventDll          = "%SystemRoot%\system32\sfmmsg.dll"
  32. ProductMACPRINTName             = "MacPrint"
  33. ProductMACPRINTImagePath        = "%SystemRoot%\system32\sfmprint.exe"
  34. ProductMACPRINTEventDll         = "%SystemRoot%\system32\sfmprint.exe"
  35. ProductMonitorDll               = "sfmmon.dll"
  36. ProductMonitorEventDll          = "%SystemRoot%\system32\sfmmon.dll"
  37. UtilDll                  = "sfmutil.dll"
  38. ResDll                   = "sfmres.dll"
  39. IconsInfFile             = "sfmicons.inf"
  40. !UamResSrcFile           = "sfmuam.rsc"
  41. !UamInfoSrcFile          = "sfmuam.ifo"
  42. !UamResDestFile          = "MS UAM:Afp_Resource"
  43. !UamInfoDestFile         = "MS UAM:Afp_AfpInfo"
  44. !UamReadMeSrcFile        = "sfmuam.txt"
  45. !UamReadMeDestFile       = "ReadMe.UAM"
  46. NtNetIniFileName         = "ntnet.ini"
  47. WinFileIniFileName       = "winfile.ini"
  48. AfpMgrCplFile            = "sfmmgr.cpl"
  49. SrvMgrIniSection         = "SMAddons"
  50. WinFileIniSection        = "Addons"
  51. TypeCreatorMapFile       = "sfmmap.inf"
  52. AtWinSockDll             = "sfmwshat.dll"
  53. PSprintProcFile          = "sfmpsprt.dll"
  54. PSprintProc              = "SFMPSPRT"
  55. !ProductKeyBase         = $(!NTN_SoftwareBase)"\"$(Manufacturer)
  56. !ProductKeyName         = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSFMName)"\CurrentVersion"
  57. !ProductKeyLinkage      = $(!NTN_ServiceBase)"\"$(ProductATALKName)"\Linkage"
  58. !PrintMonKeyName        = "SYSTEM\CurrentControlSet\Control\Print\Monitors"
  59. !EventLogKey            = $(!NTN_ServiceBase)"\EventLog\Application"
  60. !AtalkMonEventLogName            = "AppleTalk Print Monitor"
  61. [GeneralConstants]
  62. UtilInf                     = "UTILITY.INF"
  63. SubInf                      = "SUBROUTN.INF"
  64. !KeyNull                    = ""
  65. !ACCESS                     = 33554432
  66. RegistryErrorIndex            = NO_ERROR
  67. KeyProduct                  = ""
  68. KeyParameters                = ""
  69. TRUE                        = 1
  70. FALSE                       = 0
  71. NoTitle                     = 0
  72. !UamCopyStatus              = TRUE
  73. !DebugOutputControl         = 0
  74. [date]
  75. Now     = {} ? $(!LIBHANDLE) GetSystemDate
  76. [AvailableSystemMemory]
  77. SystemMemory    = "" ? $(!LIBHANDLE) GetMemorySize
  78. MinSystemMemory = 2048
  79. [FSAndDiskSpace]
  80. VolumeList      = {} ? $(!LIBHANDLE) GetHardDriveLetters
  81. VolumeFreeList  = {} ? $(!LIBHANDLE) GetHardDriveFreeSpace
  82. VolumeFSList    = {} ? $(!LIBHANDLE) GetHardDriveFileSystems
  83. [VolList]
  84. VolumeFSList  = {} ? $(!LIBHANDLE) GetHardDriveFileSystems
  85. VolumeList    = {} ? $(!LIBHANDLE) GetHardDriveLetters
  86. [ExtensionIds]
  87. XCEL1ID = {"ID=1"}
  88. XCEL2ID = {"ID=2"}
  89. XCEL3ID = {"ID=3"}
  90. XCEL4ID = {"ID=4"}
  91. XCEL5ID = {"ID=5"}
  92. XCEL6ID = {"ID=6"}
  93. XCEL7ID = {"ID=7"}
  94. XCEL8ID = {"ID=8"}
  95. XCEL9ID = {"ID=9"}
  96. XCEL10ID = {"ID=10"}
  97. XCEL11ID = {"ID=11"}
  98. XCEL12ID = {"ID=12"}
  99. XCEL13ID = {"ID=13"}
  100. MSWD1ID = {"ID=14"}
  101. MSWD2ID = {"ID=15"}
  102. MSPJ1ID = {"ID=16"}
  103. MSPJ2ID = {"ID=17"}
  104. MSPJ3ID = {"ID=18"}
  105. MSPJ4ID = {"ID=19"}
  106. MSPJ5ID = {"ID=20"}
  107. ALD31ID = {"ID=21"}
  108. ALD32ID = {"ID=22"}
  109. ALD33ID = {"ID=23"}
  110. MOREID = {"ID=24"}
  111. FOX+ID = {"ID=25"}
  112. ALD41ID = {"ID=26"}
  113. ALD42ID = {"ID=27"}
  114. ALD43ID = {"ID=28"}
  115. ARTZID = {"ID=29"}
  116. SIT!ID = {"ID=30"}
  117. PPT2ID = {"ID=31"}
  118. PPT3ID = {"ID=32"}
  119. L123ID = {"ID=33"}
  120. LMANID = {"ID=34"}
  121. TTXTID = {"ID=35"}
  122. [Identify]
  123.    read-syms Identification
  124.    set Status     = STATUS_SUCCESSFUL
  125.    set Identifier = $(OptionType)
  126.    set Media      = #("Source Media Descriptions", 1, 1)
  127.    Return $(Status) $(Identifier) $(Media)
  128. [ReturnOptions]
  129.    set Status            = STATUS_FAILED
  130.    set OptionList         = {}
  131.    set OptionTextList     = {}
  132.    set LanguageList     = ^(LanguagesSupported, 1)
  133.    Ifcontains(i) $($0) in $(LanguageList)
  134.         goto returnoptions
  135.    else
  136.       set Status = STATUS_NOLANGUAGE
  137.       goto finish_ReturnOptions
  138.    endif
  139. returnoptions = +
  140.    set OptionList     = ^(Options, 1)
  141.    set OptionTextList = ^(OptionsText$($0), 1)
  142.    set Status         = STATUS_SUCCESSFUL
  143. finish_ReturnOptions = +
  144.    Return $(Status) $(OptionList) $(OptionTextList)
  145. [InstallOption]
  146.    set Status   = STATUS_FAILED
  147.    set Option   = $($1)
  148.    set SrcDir   = $($2)
  149.    Set AddCopy  = $($3)
  150.    Set DoCopy   = $($4)
  151.    Set DoConfig = $($5)
  152.    set LanguageList = ^(LanguagesSupported, 1)
  153.    Ifcontains(i) $($0) NOT-IN $(LanguageList)
  154.       return STATUS_NOLANGUAGE
  155.    EndIf
  156.    set-subst LF = "\n"
  157.    set-subst CR = "\r"
  158.    read-syms GeneralConstants
  159.    read-syms FileConstants
  160.    read-syms DialogConstants$(!STF_LANGUAGE)
  161.    read-syms FileConstants$(!STF_LANGUAGE)
  162.    detect date
  163.    set-title  $(FunctionTitle)
  164.    set CommonStatus = STATUS_SUCCESSFUL
  165.    Debug-Output "SFMSETUP: Install Mode = "$(!NTN_InstallMode)
  166.    Debug-Output "SFMSETUP: Origin = "$(!NTN_Origination)
  167.    Debug-Output "SFMSETUP: Phase = "$(!NTN_InstallPhase)
  168.    Debug-Output "SFMSETUP: Context INF = "$(!STF_CONTEXTINFNAME)
  169. Begin = +
  170.    Set REMOVE_SOFTWARE = {}
  171.    Set REMOVE_SERVICES = {}
  172.    IfStr(i) $(!NTN_InstallMode)    ==      deinstall
  173.       Set StartLabel = Removesfm
  174.       Set REMOVE_SOFTWARE = { $(ProductATALKName),+
  175.                               $(ProductAFPSVCName),+
  176.                               $(ProductMACPRINTName)+
  177.                             }
  178.       Set REMOVE_SERVICES = {$(ProductAFPSRVRName)}
  179.       LoadLibrary "x" $(!STF_CWDDIR)$(UtilDll) !UTILHANDLE
  180.    else-Ifstr(i) $(!NTN_InstallMode) == Update
  181.       set StartLabel = Upgradesfm
  182.    else-Ifstr(i) $(!NTN_InstallMode) == configure
  183.       set StartLabel = Configuresfm
  184.    else-Ifstr(i) $(!NTN_InstallMode) == bind
  185.       set StartLabel = Bindingssfm
  186.    else-Ifstr(i) $(!NTN_InstallMode) == install
  187.       set StartLabel = Installsfm
  188.    else
  189.        Set StartLabel = end
  190.    endif
  191.    goto $(StartLabel)
  192. Installsfm = +
  193.    Set FLibraryErrCtl = 1
  194.    OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyName) $(!ACCESS) KeyProduct
  195.    Ifstr $(KeyProduct) != $(!KeyNull)
  196.       GetRegValue $(KeyProduct) $(MajorVersion) VersionInfo
  197.       set VersionMajor = *($(VersionInfo), 4)
  198.       GetRegValue $(KeyProduct) $(MinorVersion) VersionInfo
  199.       set VersionMinor = *($(VersionInfo), 4)
  200.       set InstalledVersion = $(VersionMajor)"."$(VersionMinor)
  201.       ifstr(i) $(ProductVersion) == $(InstalledVersion)
  202.          read-syms MiscErrorString1$(!STF_LANGUAGE)
  203.          Set Text = $(Version)$(ProductVersion)
  204.          Shell $(SubInf), SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(Text)$(ErrorString)
  205.          goto end
  206.       EndIf
  207.    EndIf
  208.    ifstr(i) $(!NTN_InstallMode) == "install"
  209.       Ifstr(i) $(!DoCopy) == "YES"
  210.          ifstr(i) $(!STF_IDW) != "TRUE"
  211.             Shell $(UtilInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  212.          endif
  213.          Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  214.             Goto ShellCodeError
  215.          Else-Ifstr(i) $($R0) == STATUS_FAILED
  216.             Shell $(UtilInf) RegistryErrorString "ASK_SOURCE_FAIL"
  217.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  218.                goto ShellCodeError
  219.             endif
  220.             set Error = $($R0)
  221.             Goto end
  222.          Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  223.             Goto end
  224.          Endif
  225.          Set SrcDir  = $($R1)
  226.       Endif
  227.    Endif
  228.    read-syms AvailableSystemMemory
  229.    detect AvailableSystemMemory
  230.    Ifint $(SystemMemory) < $(MinSystemMemory)
  231.       read-syms MiscErrorString2(!STF_LANGUAGE)
  232.       shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  233.       goto end
  234.    EndIf
  235.    read-syms FSAndDiskSpace
  236.    detect FSAndDiskSpace
  237.    GetDriveInPath NtDrive $(!STF_WINDOWSSYSPATH)
  238.    Set NTFSVolExists = FALSE
  239.    Set !NTFSVolumeList = {}
  240.    ForListDo $(VolumeFSList)
  241.       Ifstr(i) $($) == "NTFS"
  242.          Set NTFSVolExists = TRUE
  243.          Set NTFSVolumeList = >($(NTFSVolumeList),*($(VolumeList),$(#)))
  244.       EndIf
  245.    EndForListDo
  246.    Ifstr(i) $(NTFSVolExists) == FALSE
  247.          Debug-Output "OEMNXPSM.INF:Install Phase = "$(!NTN_InstallPhase)
  248.          Ifstr(i) $(!NTN_InstallPhase) == primary
  249.          read-syms NTFSFormatHappening$(!STF_LANGUAGE)
  250.          Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  251.       Else
  252.          read-syms AFPString1$(!STF_LANGUAGE)
  253.          Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  254.       EndIf
  255.    EndIf
  256. readvollist = +
  257.    ForListDo $(VolumeList)
  258.       set CurrentVolume = *($(VolumeList), $(#))
  259.       set CurrentVolumeFree  = *($(VolumeFreeList), $(#))
  260.       Ifstr(i) $(CurrentVolume) == $(NtDrive)
  261.          Ifint $(CurrentVolumeFree) < $(RequiredSfmSize)
  262.             read-syms SetupSpaceDlg$(!STF_LANGUAGE)
  263.             ui start "SetupSpaceDlg"
  264.             Ifstr(i) $(DLGEVENT) == "RETRY"
  265.                read-syms FSAndDiskSpace
  266.                detect FSAndDiskSpace
  267.                goto readvollist
  268.             else
  269.                goto initialsetupcancel
  270.             EndIf
  271.          EndIf
  272.       EndIf
  273.    EndForListDo
  274. CopySfmFiles = +
  275.    ifstr(i) $(!STF_IDW) != TRUE
  276.       install "Install-Initial"
  277.       ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  278.          read-syms StatusRemoveSfm$(!STF_LANGUAGE)
  279.          Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
  280.          Shell "" RemoveSfmFiles "INSTALL"
  281.          Shell $(SubInf) PopBillBoard
  282.          goto usercancel
  283.       endif
  284.    EndIf
  285.    LoadLibrary "x" $(!STF_CWDDIR)$(UtilDll) !UTILHANDLE
  286.    Set Result = ""
  287.    Set FLibraryErrCtl = 1
  288. StartInstall = +
  289.    Set REMOVE_FLAG = TRUE
  290.    read-syms StatusInstallSfm$(!STF_LANGUAGE)
  291.    Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
  292.    StartWait
  293.    Set ThisOption = "SFM"
  294.    Shell $(UtilInf), InstallSoftwareProduct, $(Manufacturer),$(Product$(ThisOption)Name), $(ProductFullInfName)
  295.    ifint $(ShellCode) != 0
  296.       goto ShellCodeError
  297.    endif
  298.    set RegistryErrorIndex = $($R0)
  299.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  300.       CloseRegKey $($R1)
  301.       CloseRegKey $($R2)
  302.       goto fatalregistry
  303.    Endif
  304.    Set SfmProductKey       = $($R1)
  305.    Set SfmNetRuleKey       = $($R2)
  306.    set NewValueList = +
  307.                    {{Infname,0,$(!REG_VT_SZ),$(ProductFullInfName)},+
  308.                    {Title,0,$(!REG_VT_SZ), $(Product$(ThisOption)Title)},+
  309.                    {Description,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
  310.                    {MajorVersion,0,$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  311.                    {MinorVersion,0,$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  312.                    {InstalledComponents,$(NoTitle),$(!REG_VT_MULTI_SZ),$(TobeInstalledList)},+
  313.                    {InstallDate,0,$(!REG_VT_DWORD),*($(Now),1)}}
  314.    Shell $(UtilInf), AddValueList, $(SfmProductKey), $(NewValueList)
  315.    ifint $(ShellCode) != 0
  316.       goto ShellCodeError
  317.    endif
  318.    set RegistryErrorIndex = $($R0)
  319.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  320.       CloseRegKey $(SfmProductKey)
  321.       CloseRegKey $(SfmNetRuleKey)
  322.       goto fatalregistry
  323.    endif
  324.    Set NewValueList = {{InfOption,$(NoTitle),$(!REG_VT_SZ),$(ThisOption)}, +
  325.                       {Infname,$(NoTitle),$(!REG_VT_SZ),$(ProductFullInfName)}}
  326.    Shell   $(UtilInf), AddValueList, $(SfmNetRuleKey), $(NewValueList)
  327.    ifint $(ShellCode) != 0
  328.        goto ShellCodeError
  329.    endif
  330.    set RegistryErrorIndex = $($R0)
  331.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  332.       CloseRegKey $(SfmProductKey)
  333.       CloseRegKey $(SfmNetRuleKey)
  334.       goto fatalregistry
  335.    Endif
  336.    CloseRegKey $(SfmProductKey)
  337.    CloseRegKey $(SfmNetRuleKey)
  338.    Set ThisOption = ATALK
  339.    Set REMOVE_SOFTWARE = >($(REMOVE_SOFTWARE), $(Product$(ThisOption)Name))
  340.    Set Atalk_DependList = {}
  341.    Set FLibraryErrCtl = 1
  342.    Shell $(UtilInf), AddSoftwareComponent,+
  343.                      $(Manufacturer), +
  344.                      $(Product$(ThisOption)Name),+
  345.                      $(Product$(ThisOption)Name), +
  346.                      $(Product$(ThisOption)DisplayName), +
  347.                      $(ProductFullInfName),+
  348.                      $(Product$(ThisOption)ImagePath),+
  349.                      "kernelautostart", "TDI",+
  350.                      $(Atalk_DependList), "",+
  351.                      $(Product$(ThisOption)EventDll)
  352.    Set FLibraryErrCtl = 0
  353.    Set RegistryErrorIndex = $($R0)
  354.    Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  355.       CloseRegKey $($R1)
  356.       CloseRegKey $($R2)
  357.       CloseRegKey $($R3)
  358.       CloseRegKey $($R4)
  359.       CloseRegKey $($R5)
  360.       goto fatalregistry
  361.    EndIf
  362.    Set AtkVersKey          = $($R1)
  363.    Set AtkNetRuleKey       = $($R2)
  364.    Set AtkSvcKey           = $($R3)
  365.    Set AtalkParameters = $($R4)
  366.    Set AtkLinkageKey       = $($R5)
  367.    set NewValueList = +
  368.          {{SoftwareType,0,$(!REG_VT_SZ),$(Product$(ThisOption)Type)},+
  369.          {Title,0,$(!REG_VT_SZ),$(Product$(ThisOption)Title)},+
  370.          {Description,0,$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
  371.          {PathName,0,$(!REG_VT_SZ),$(!STF_WINDOWSSYSPATH)},+
  372.          {ServiceName,0,$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
  373.          {Review,0,$(!REG_VT_DWORD),1},+
  374.          {Hidden,0,$(!REG_VT_DWORD),1},+
  375.          {InstallDate,0,$(!REG_VT_DWORD),*($(Now),1)}}
  376.    Shell  $(UtilInf), AddValueList, $(AtkVersKey), $(NewValueList)
  377.    set RegistryErrorIndex = $($R0)
  378.    Ifstr $(RegistryErrorIndex) != NO_ERROR
  379.       CloseRegKey $(AtkVersKey)
  380.       CloseRegKey $(AtkNetRuleKey)
  381.       CloseRegKey $(AtkSvcKey)
  382.       CloseRegKey $(AtkLinkageKey)
  383.       CloseRegKey $(AtalkParameters)
  384.       goto fatalregistry
  385.    EndIf
  386.    set NewValueList = +
  387.          {{type,0,$(!REG_VT_SZ),$(NetRule$(ThisOption)Type)}, +
  388.          {use,0,$(!REG_VT_SZ),$(NetRule$(ThisOption)Use)}, +
  389.          {bindform,0,$(!REG_VT_SZ),$(NetRule$(ThisOption)BindForm)}, +
  390.          {class,0, $(!REG_VT_MULTI_SZ),$(NetRule$(ThisOption)Class)}, +
  391.          {bindable,0, $(!REG_VT_MULTI_SZ), $(NetRule$(ThisOption)BindList)},+
  392.          {InfOption,0,$(!REG_VT_SZ),$(ThisOption)}, +
  393.          {Infname,0,$(!REG_VT_SZ),$(ProductFullInfName)} }
  394.    Shell  $(UtilInf), AddValueList, $(AtkNetRuleKey), $(NewValueList)
  395.    set RegistryErrorIndex = $($R0)
  396.    Ifstr $(RegistryErrorIndex) != NO_ERROR
  397.       CloseRegKey $(AtkVersKey)
  398.       CloseRegKey $(AtkNetRuleKey)
  399.       CloseRegKey $(AtkSvcKey)
  400.       CloseRegKey $(AtkLinkageKey)
  401.       CloseRegKey $(AtalkParameters)
  402.       goto fatalregistry
  403.    EndIf
  404.    set NewValueList = {{OtherDependencies,0,$(!REG_VT_MULTI_SZ),{"+NDIS"}}}
  405.    shell  $(UtilInf), AddValueList, $(AtkLinkageKey), $(NewValueList)
  406.    set RegistryErrorIndex = $($R0)
  407.    Ifstr $(RegistryErrorIndex) != NO_ERROR
  408.       CloseRegKey $(AtkVersKey)
  409.       CloseRegKey $(AtkNetRuleKey)
  410.       CloseRegKey $(AtkSvcKey)
  411.       CloseRegKey $(AtkLinkageKey)
  412.       CloseRegKey $(AtalkParameters)
  413.       goto fatalregistry
  414.    EndIf
  415.    CreateRegKey $(AtkSvcKey), {"Adapters",0,GenericClass},+
  416.                               "", $(!ACCESS), "" , KeyAdapters
  417.    Set DesiredZone = ""
  418.    set NewValueList = +
  419.          {{EnableRouter,0,$(!REG_VT_DWORD),0},+
  420.             {InitialInstall,0, $(!REG_VT_DWORD),1},+
  421.          {DesiredZone,0,$(!REG_VT_SZ),$(DesiredZone)}}
  422.    Shell  $(UtilInf), AddValueList, $(AtalkParameters), $(NewValueList)
  423.    set RegistryErrorIndex = $($R0)
  424.    Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  425.       CloseRegKey $(KeyAdapters)
  426.       goto fatalregistry
  427.    EndIf
  428.    Set WinAtalkDll = $(!STF_WINDOWSSYSPATH)"\"$(AtWinSockDll)
  429.    Set MaxSockAddrLen      = 8
  430.    Set MinSockAddrLen      = 6
  431.    Shell $(UtilInf) AddWinsockInfo     $(Product$(ThisOption)Name), +
  432.                                     $(WinAtalkDll), +
  433.                                     $(MaxSockAddrLen),+
  434.                                     $(MinSockAddrLen)
  435.    ifstr(i) $($R0) != NO_ERROR
  436.       read-syms AtalkString1$(!STF_LANGUAGE)
  437.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  438.    Endif
  439.    CloseRegKey $(AtkVersKey)
  440.    CloseRegKey $(AtkNetRuleKey)
  441.    CloseRegKey $(AtkSvcKey)
  442.    CloseRegKey $(AtkLinkageKey)
  443.    CloseRegKey $(AtalkParameters)
  444.    CloseRegKey $(KeyAdapters)
  445.    Set ThisOption = AFPSVC
  446.    Set REMOVE_SOFTWARE     =     >($(REMOVE_SOFTWARE), $(Product$(ThisOption)Name))
  447.    Set REMOVE_SERVICES  =     >($(REMOVE_SERVICES), $(ProductAFPSRVRName))
  448.    Set FLibraryErrCtl = 1
  449.    Shell $(UtilInf), AddSoftwareComponent, +
  450.                         $(Manufacturer), +
  451.                         $(Product$(ThisOption)Name),+
  452.                         $(Product$(ThisOption)Name), +
  453.                         $(Product$(ThisOption)DisplayName), +
  454.                         $(ProductFullInfName),+
  455.                         $(Product$(ThisOption)ImagePath),+
  456.                         "autoserviceshare", "",+
  457.                         {"AppleTalk","LanManWorkStation"}, "",+
  458.                         $(Product$(ThisOption)EventDll)
  459.    Set FLibraryErrCtl = 0
  460.    Ifint $(ShellCode) != 0
  461.       goto ShellCodeError
  462.    endif
  463.    set RegistryErrorIndex = $($R0)
  464.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  465.       CloseRegKey $($R1)
  466.       CloseRegKey $($R2)
  467.       CloseRegKey $($R3)
  468.       CloseRegKey $($R4)
  469.       CloseRegKey $($R5)
  470.       goto fatalregistry
  471.    endif
  472.    Set McProductKey  = $($R1)
  473.    Set McNetRuleKey  = $($R2)
  474.    Set McServiceKey  = $($R3)
  475.    set McParameters  = $($R4)
  476.    Set McLinkageKey  = $($R5)
  477.    set NewValueList = +
  478.          {{SoftwareType,0 ,$(!REG_VT_SZ),$(Product$(ThisOption)Type)},+
  479.          {Title,0,$(!REG_VT_SZ),$(Product$(ThisOption)Title)},+
  480.          {Description,0,$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
  481.          {PathName,0,$(!REG_VT_SZ),$(!STF_CWDDIR)},+
  482.          {ServiceName,0,$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
  483.          {Hidden,0,$(!REG_VT_DWORD),1},+
  484.          {InstallDate,0,$(!REG_VT_DWORD),*($(Now),1)}}
  485.    Shell   $(UtilInf),AddValueList,$(McProductKey),$(NewValueList)
  486.    ifint $(ShellCode) != 0
  487.       goto ShellCodeError
  488.    endif
  489.    set RegistryErrorIndex = $($R0)
  490.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  491.       CloseRegKey $(McProductKey)
  492.       CloseRegKey $(McNetRuleKey)
  493.       CloseRegKey $(McServiceKey)
  494.       CloseRegKey $(McParameters)
  495.       CloseRegKey $(McLinkageKey)
  496.       goto fatalregistry
  497.    Endif
  498.    set NewValueList = +
  499.          {{type,0,$(!REG_VT_SZ),$(NetRule$(ThisOption)Type)},+
  500.          {use,$(NoTitle),$(!REG_VT_SZ),$(NetRule$(ThisOpton)Use)},+
  501.          {InfOption,$(NoTitle),$(!REG_VT_SZ),$(ThisOption)}, +
  502.          {Infname ,$(NoTitle),$(!REG_VT_SZ),$(ProductFullInfName)}}
  503.    Shell   $(UtilInf), AddValueList, $(McNetRuleKey), $(NewValueList)
  504.    ifint $(ShellCode) != 0
  505.       goto ShellCodeError
  506.    endif
  507.    set RegistryErrorIndex = $($R0)
  508.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  509.       CloseRegKey $(McProductKey)
  510.       CloseRegKey $(McNetRuleKey)
  511.       CloseRegKey $(McServiceKey)
  512.       CloseRegKey $(McParameters)
  513.       CloseRegKey $(McLinkageKey)
  514.       goto fatalregistry
  515.    endif
  516.    CreateRegKey $(McParameters)    {"Type_Creators",0,GenericClass} "" +
  517.                                 $(!ACCESS) "" KeyTypeCreator
  518.    CreateRegKey $(McParameters)    {"Extensions",0,GenericClass} "" +
  519.                                  $(!ACCESS) "" KeyExtensions
  520.    CreateRegKey $(McParameters) {"Icons",0,GenericClass} "" +
  521.                                  $(!ACCESS) "" KeyIcons
  522.    CreateRegKey $(McParameters) {"Volumes",$(NoTitle),GenericClass} "" +
  523.                                  $(!ACCESS) "" KeyVolumeList
  524.    Shell $(!STF_CWDDIR)$(IconsInfFile) ReadIconVariables
  525.    set NewValueList = +
  526.          {{LMANDEXE,0,$(!REG_VT_MULTI_SZ),$(!LMANDEXE)},+
  527.          {LMANTEXT,0, $(!REG_VT_MULTI_SZ),$(!LMANTEXT)},+
  528.          {SRVRSRVR,0, $(!REG_VT_MULTI_SZ),$(!SRVRSRVR)}}
  529.    Shell  $(UtilInf),AddValueList,$(KeyIcons),$(NewValueList)
  530.    ifint $(ShellCode) != 0
  531.       goto ShellCodeError
  532.    endif
  533.    set RegistryErrorIndex = $($R0)
  534.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  535.       CloseRegKey $(McProductKey)
  536.       CloseRegKey $(McNetRuleKey)
  537.       CloseRegKey $(McServiceKey)
  538.       CloseRegKey $(McParameters)
  539.       CloseRegKey $(McLinkageKey)
  540.       goto fatalregistry
  541.    endif
  542.    read-syms TCComments$(!STF_LANGUAGE)
  543.    Shell $(!STF_CWDDIR)$(TypeCreatorMapFile) ReadTypeCreatorMappings
  544.    Set NewValueList =  +
  545.          {{1,0,$(!REG_VT_MULTI_SZ),$(!XCEL1CREATOR)},+
  546.          {2,0,$(!REG_VT_MULTI_SZ),$(!XCEL2CREATOR)},+
  547.          {3,0,$(!REG_VT_MULTI_SZ),$(!XCEL3CREATOR)},+
  548.          {4,0,$(!REG_VT_MULTI_SZ),$(!XCEL4CREATOR)},+
  549.          {5,0,$(!REG_VT_MULTI_SZ),$(!XCEL5CREATOR)},+
  550.          {6,0,$(!REG_VT_MULTI_SZ),$(!XCEL6CREATOR)},+
  551.          {7,0,$(!REG_VT_MULTI_SZ),$(!XCEL7CREATOR)},+
  552.          {8,0,$(!REG_VT_MULTI_SZ),$(!XCEL8CREATOR)},+
  553.          {9,0,$(!REG_VT_MULTI_SZ),$(!XCEL9CREATOR)},+
  554.          {10,0,$(!REG_VT_MULTI_SZ),$(!XCEL10CREATOR)},+
  555.          {11,0,$(!REG_VT_MULTI_SZ),$(!XCEL11CREATOR)},+
  556.          {12,0,$(!REG_VT_MULTI_SZ),$(!XCEL12CREATOR)},+
  557.          {13,0,$(!REG_VT_MULTI_SZ),$(!XCEL13CREATOR)},+
  558.          {14,0,$(!REG_VT_MULTI_SZ),$(!MSWD1CREATOR)},+
  559.          {15,0,$(!REG_VT_MULTI_SZ),$(!MSWD2CREATOR)},+
  560.          {16,0,$(!REG_VT_MULTI_SZ),$(!MSPJ1CREATOR)},+
  561.          {17,0,$(!REG_VT_MULTI_SZ),$(!MSPJ2CREATOR)},+
  562.          {18,0,$(!REG_VT_MULTI_SZ),$(!MSPJ3CREATOR)},+
  563.          {19,0,$(!REG_VT_MULTI_SZ),$(!MSPJ4CREATOR)},+
  564.          {20,0,$(!REG_VT_MULTI_SZ),$(!MSPJ5CREATOR)},+
  565.          {21,0,$(!REG_VT_MULTI_SZ),$(!ALD31CREATOR)},+
  566.          {22,0,$(!REG_VT_MULTI_SZ),$(!ALD32CREATOR)},+
  567.          {23,0,$(!REG_VT_MULTI_SZ),$(!ALD33CREATOR)},+
  568.          {24,0,$(!REG_VT_MULTI_SZ),$(!MORECREATOR)},+
  569.          {25,0,$(!REG_VT_MULTI_SZ),$(!FOX+CREATOR)},+
  570.          {26,0,$(!REG_VT_MULTI_SZ),$(!ALD41CREATOR)},+
  571.          {27,0,$(!REG_VT_MULTI_SZ),$(!ALD42CREATOR)},+
  572.          {28,0,$(!REG_VT_MULTI_SZ),$(!ALD43CREATOR)},+
  573.          {29,0,$(!REG_VT_MULTI_SZ),$(!ARTZCREATOR)},+
  574.          {30,0,$(!REG_VT_MULTI_SZ),$(!SIT!CREATOR)},+
  575.          {31,0,$(!REG_VT_MULTI_SZ),$(!PPT2CREATOR)},+
  576.          {32,0,$(!REG_VT_MULTI_SZ),$(!PPT3CREATOR)},+
  577.          {33,0,$(!REG_VT_MULTI_SZ),$(!L123CREATOR)},+
  578.          {34,0,$(!REG_VT_MULTI_SZ),$(!LMANCREATOR)},+
  579.          {35,0,$(!REG_VT_MULTI_SZ),$(!TTXTCREATOR)}}
  580.    Shell  $(UtilInf),AddValueList,$(KeyTypeCreator),$(NewValueList)
  581.    ifint $(ShellCode) != 0
  582.       goto ShellCodeError
  583.    endif
  584.    set RegistryErrorIndex = $($R0)
  585.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  586.       CloseRegKey $(McProductKey)
  587.       CloseRegKey $(McNetRuleKey)
  588.       CloseRegKey $(McServiceKey)
  589.       CloseRegKey $(McParameters)
  590.       CloseRegKey $(McLinkageKey)
  591.       goto fatalregistry
  592.    endif
  593.    read-syms ExtensionIds
  594.    Set NewValueList =  +
  595.          {{XLC,0,$(!REG_VT_MULTI_SZ),$(XCEL1ID)},+
  596.          {XLS,0,$(!REG_VT_MULTI_SZ),$(XCEL2ID)},+
  597.          {XLM,0,$(!REG_VT_MULTI_SZ),$(XCEL3ID)},+
  598.          {XLW,0,$(!REG_VT_MULTI_SZ),$(XCEL4ID)},+
  599.          {XLA,0,$(!REG_VT_MULTI_SZ),$(XCEL5ID)},+
  600.          {XLT,0,$(!REG_VT_MULTI_SZ),$(XCEL6ID)},+
  601.          {SLK,0,$(!REG_VT_MULTI_SZ),$(XCEL7ID)},+
  602.          {WKS,0,$(!REG_VT_MULTI_SZ),$(XCEL8ID)},+
  603.          {WK1,0,$(!REG_VT_MULTI_SZ),$(XCEL9ID)},+
  604.          {CSV,0,$(!REG_VT_MULTI_SZ),$(XCEL10ID)},+
  605.          {DIF,0,$(!REG_VT_MULTI_SZ),$(XCEL11ID)},+
  606.          {DOC,0,$(!REG_VT_MULTI_SZ),$(MSWD1ID)},+
  607.          {WRD,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
  608.          {RTF,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
  609.          {STY,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
  610.          {GLY,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
  611.          {TXT,0,$(!REG_VT_MULTI_SZ),$(MSWD2ID)},+
  612.          {MPP,0,$(!REG_VT_MULTI_SZ),$(MSPJ1ID)},+
  613.          {MPX,0,$(!REG_VT_MULTI_SZ),$(MSPJ2ID)},+
  614.          {MPC,0,$(!REG_VT_MULTI_SZ),$(MSPJ3ID)},+
  615.          {MPV,0,$(!REG_VT_MULTI_SZ),$(MSPJ4ID)},+
  616.          {MPW,0,$(!REG_VT_MULTI_SZ),$(MSPJ5ID)},+
  617.          {PM4,0,$(!REG_VT_MULTI_SZ),$(ALD41ID)},+
  618.          {PT4,0,$(!REG_VT_MULTI_SZ),$(ALD42ID)},+
  619.          {TEM,0,$(!REG_VT_MULTI_SZ),$(ALD42ID)},+
  620.          {TPL,0,$(!REG_VT_MULTI_SZ),$(ALD42ID)},+
  621.          {TIF,0,$(!REG_VT_MULTI_SZ),$(ALD43ID)},+
  622.          {RDY,0,$(!REG_VT_MULTI_SZ),$(MOREID)},+
  623.          {DBF,0,$(!REG_VT_MULTI_SZ),$(FOX+ID)},+
  624.          {PUB,0,$(!REG_VT_MULTI_SZ),$(ALD31ID)},+
  625.          {EPS,0,$(!REG_VT_MULTI_SZ),$(ARTZID)},+
  626.          {SIT,0,$(!REG_VT_MULTI_SZ),$(SIT!ID)},+
  627.          {PPT,0,$(!REG_VT_MULTI_SZ),$(PPT3ID)},+
  628.          {WK3,0,$(!REG_VT_MULTI_SZ),$(L123ID)},+
  629.          {UAM,0,$(!REG_VT_MULTI_SZ),$(TTXTID)},+
  630.          {EXE,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  631.          {DLL,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  632.          {COM,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  633.          {BAT,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  634.          {CMD,0,$(!REG_VT_MULTI_SZ),$(LMANID)},+
  635.          {SYS,0,$(!REG_VT_MULTI_SZ),$(LMANID)}}
  636.    Shell  $(UtilInf),AddValueList,$(KeyExtensions),$(NewValueList)
  637.    ifint $(ShellCode) != 0
  638.       goto ShellCodeError
  639.    endif
  640.    set RegistryErrorIndex = $($R0)
  641.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  642.       CloseRegKey $(McProductKey)
  643.       CloseRegKey $(McNetRuleKey)
  644.       CloseRegKey $(McServiceKey)
  645.       CloseRegKey $(McParameters)
  646.       CloseRegKey $(McLinkageKey)
  647.       goto fatalregistry
  648.    endif
  649.    Ifstr(i) $(NTFSVolExists) == TRUE
  650.       Ifstr(i) $(!UamCopyStatus) == TRUE
  651.          Shell "" DoUAMInstall "INSTALL"
  652.          Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  653.             Goto ShellCodeError
  654.          EndIf
  655.       EndIf
  656.    EndIf
  657.    CloseRegKey $(McProductKey)
  658.    CloseRegKey $(McNetRuleKey)
  659.    CloseRegKey $(McServiceKey)
  660.    CloseRegKey $(McParameters)
  661.    CloseRegKey $(McLinkageKey)
  662.    CloseRegKey $(KeyTypeCreator)
  663.    CloseRegKey $(KeyExtensions)
  664.    CloseRegKey $(KeyIcons)
  665.    CloseRegKey $(KeyVolumeList)
  666.    Set Afp_DependList = {"+TDI"}
  667.    Set FLibraryErrCtl = 1
  668.    Shell $(UtilInf)  CreateService,+
  669.                      $(ProductAFPSRVRName),$(ProductAFPSRVRDisplayName),+
  670.                      $(ProductAFPSRVRImagePath),"system",+
  671.                      "Network", $(Afp_DependList),"",+
  672.                      $(ProductAFPSRVREventDll)
  673.    Set FLibraryErrCtl = 0
  674.    Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  675.       goto ShellCodeError
  676.    endif
  677.    set RegistryErrorIndex = $($R0)
  678.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  679.       goto fatalregistry
  680.    endif
  681.    CloseRegKey $($R1)
  682.    CloseRegKey $($R2)
  683.    CloseRegKey $($R3)
  684.    Set IniFile = $(!STF_NTPATH)"\"$(NtNetIniFileName)
  685.    Set IniString = $(!STF_WINDOWSSYSPATH)"\"$(AfpMgrCplFile)
  686.    Set IniSection = $(SrvMgrIniSection)
  687.    Set FLibraryErrCtl = 1
  688.    LibraryProcedure IniStatus $(!UTILHANDLE) WriteAfpMgrIniStrings, $(IniSection), $(IniString), $(IniFile)
  689.    Set FLibraryErrCtl = 0
  690.    ifstr(i) $(IniStatus) == "FAILED"
  691.       read-syms AFPString3$(!STF_LANGUAGE)
  692.       shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  693.    EndIf
  694.    Set IniFile = $(!STF_NTPATH)"\"$(WinFileIniFileName)
  695.    Set IniString = $(!STF_WINDOWSSYSPATH)"\"$(AfpMgrCplFile)
  696.    Set IniSection = $(WinFileIniSection)
  697.    Set FLibraryErrCtl = 1
  698.    LibraryProcedure IniStatus $(!UTILHANDLE) WriteAfpMgrIniStrings, $(IniSection), $(IniString), $(IniFile)
  699.    Set FLibraryErrCtl = 0
  700.    ifstr(i) $(IniStatus) == "FAILED"
  701.       read-syms AFPString2$(!STF_LANGUAGE)
  702.       shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  703.    EndIf
  704.    Set ThisOption = MACPRINT
  705.    Set REMOVE_SOFTWARE = >($(REMOVE_SOFTWARE), $(Product$(ThisOption)Name))
  706.    Set FLibraryErrCtl = 1
  707.    Shell $(UtilInf), AddSoftwareComponent, +
  708.                      $(Manufacturer), +
  709.                      $(Product$(ThisOption)Name), +
  710.                      $(Product$(ThisOption)Name),+
  711.                      $(Product$(ThisOption)DisplayName), +
  712.                      $(ProductFullInfName), +
  713.                      $(Product$(ThisOption)ImagePath),+
  714.                      "serviceauto", "", {"AppleTalk"},"",+
  715.                      $(Product$(ThisOption)EventDll) "", +
  716.                      "Application", ""
  717.    Set FLibraryErrCtl = 0
  718.    ifint $(ShellCode) != 0
  719.       goto ShellCodeError
  720.    EndIf
  721.    set RegistryErrorIndex = $($R0)
  722.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  723.       CloseRegKey $($R1)
  724.       CloseRegKey $($R2)
  725.       CloseRegKey $($R3)
  726.       CloseRegKey $($R4)
  727.       CloseRegKey $($R5)
  728.       goto fatalregistry
  729.    EndIf
  730.    Set MpProductKey    = $($R1)
  731.    Set MpNetRuleKey    = $($R2)
  732.    Set MpServiceKey    = $($R3)
  733.    Set MpParameters = $($R4)
  734.    Set MpLinkageKey = $($R5)
  735.    set NewValueList = +
  736.          {{SoftwareType,0,$(!REG_VT_SZ),$(Product$(ThisOption)Type)},+
  737.          {Title,0,$(!REG_VT_SZ),$(Product$(ThisOption)Title)},+
  738.          {Description,0,$(!REG_VT_SZ),$(Product$(ThisOption)Description)},+
  739.          {PathName,$(NoTitle),$(!REG_VT_SZ),$(!STF_CWDDIR)},+
  740.          {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(Product$(ThisOption)Name)},+
  741.          {Hidden,0,$(!REG_VT_DWORD),1},+
  742.          {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  743.    Shell $(UtilInf),AddValueList,$(MpProductKey),$(NewValueList)
  744.    ifint $(ShellCode) != 0
  745.       goto ShellCodeError
  746.    EndIf
  747.    set RegistryErrorIndex = $($R0)
  748.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  749.       CloseRegKey $(MpProductKey)
  750.       CloseRegKey $(MpNetRuleKey)
  751.       CloseRegKey $(MpServiceKey)
  752.       CloseRegKey $(MpParameters)
  753.       CloseRegKey $(MpLinkageKey)
  754.       goto fatalregistry
  755.    EndIf
  756.    set NewValueList = {{InfOption,0,$(!REG_VT_SZ),$(ThisOption)}, +
  757.                       {Infname,0,$(!REG_VT_SZ),$(ProductFullInfName)}}
  758.    Shell $(UtilInf), AddValueList, $(MpNetRuleKey), $(NewValueList)
  759.    ifint $(ShellCode) != 0
  760.       goto ShellCodeError
  761.    EndIf
  762.    set RegistryErrorIndex = $($R0)
  763.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  764.       CloseRegKey $(MpProductKey)
  765.       CloseRegKey $(MpNetRuleKey)
  766.       CloseRegKey $(MpParameters)
  767.       CloseRegKey $(MpLinkageKey)
  768.       CloseRegKey $(MpServiceKey)
  769.       goto fatalregistry
  770.    EndIf
  771.    set NewValueList = {{OtherDependencies,0, $(!REG_VT_MULTI_SZ), {"AppleTalk"}}}
  772.    Shell $(UtilInf), AddValueList $(MpLinkageKey), $(NewValueList)
  773.    ifint $(ShellCode) != 0
  774.       goto ShellCodeError
  775.    EndIf
  776.    set RegistryErrorIndex = $($R0)
  777.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  778.       CloseRegKey $(MpProductKey)
  779.       CloseRegKey $(MpNetRuleKey)
  780.       CloseRegKey $(MpParameters)
  781.       CloseRegKey $(MpLinkageKey)
  782.       CloseRegKey $(MpServiceKey)
  783.       goto fatalregistry
  784.    EndIf
  785.    CloseRegKey $(MpProductKey)
  786.    CloseRegKey $(MpNetRuleKey)
  787.    CloseRegKey $(MpParameters)
  788.    CloseRegKey $(MpLinkageKey)
  789.    CloseRegKey $(MpServiceKey)
  790.    Set MacPrintEventLogKey = $(!EventLogKey)"\"$(ThisOption)
  791.    OpenRegKey $(!REG_H_LOCAL) "" $(MacPrintEventLogKey) $(!ACCESS) MacEvntLogKey
  792.    ifstr(i) $(MacEvntLogKey) != $(!KeyNull)
  793.       Set EventFile = $(ProductMACPRINTEventDll)
  794.       Set NewValueList = +
  795.             {{CategoryMessageFile,0,$(!REG_VT_EXPAND_SZ),$(EventFile)}, +
  796.             {CategoryCount,0,$(!REG_VT_DWORD),5}}
  797.       Shell $(UtilInf) AddValueList, $(MacEvntLogKey), $(NewValueList)
  798.       ifint $(ShellCode) != 0
  799.          goto ShellCodeError
  800.       EndIf
  801.       set RegistryErrorIndex = $($R0)
  802.       CloseRegKey $(MacEvntLogKey)
  803.       Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  804.          goto fatalregistry
  805.       EndIf
  806.    Else
  807.       read-syms MacPrintString2$(!STF_LANGUAGE)
  808.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  809.    EndIf
  810.    Set AddMonStatus = ""
  811.    Set FLibraryErrCtl = 1
  812.    LibraryProcedure AddMonStatus $(!UTILHANDLE) SfmAddPrintMonitor $(!AtalkMonName)
  813.    Set FLibraryErrCtl = 0
  814.    ifstr(i) $(AddMonStatus) == "FAILED"
  815.       read-syms MacPrintString4$(!STF_LANGUAGE)
  816.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  817.    EndIf
  818.    OpenRegKey $(!REG_H_LOCAL) "" $(!EventLogKey) $(!ACCESS) EvntLogKey
  819.    ifstr(i) $(EvntLogKey) != $(!KeyNull)
  820.       CreateRegKey $(EvntLogKey) {$(!AtalkMonEventLogName),0,GenericClass} "" +
  821.                    $(!ACCESS) "" AtalkMonKey
  822.       Set EventFile = "%SystemRoot%\system32\sfmmon.dll"
  823.       Set NewValueList = +
  824.             {{CategoryMessageFile,0,$(!REG_VT_EXPAND_SZ),$(EventFile)},+
  825.             {EventMessageFile,0,$(!REG_VT_EXPAND_SZ),$(EventFile)},+
  826.             {CategoryCount,0,$(!REG_VT_DWORD),4},+
  827.             {TypesSupported,0,$(!REG_VT_DWORD),7}}
  828.       Shell $(UtilInf) AddValueList $(AtalkMonKey) $(NewValueList)
  829.       ifint $(ShellCode) != 0
  830.          goto ShellCodeError
  831.       EndIf
  832.       set RegistryErrorIndex = $($R0)
  833.       CloseRegKey $(AtalkMonKey)
  834.       CloseRegKey $(EvntLogKey)
  835.       Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  836.          goto fatalregistry
  837.       EndIf
  838.    Else
  839.       read-syms MacPrintString10$(!STF_LANGUAGE)
  840.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  841.    EndIf
  842.    Set PrintProcDir = ""
  843.    Set FLibraryErrCtl = 1
  844.    LibraryProcedure PrintProcDir $(!UTILHANDLE) GetPrintProcDir
  845.    Set FLibraryErrCtl = 0
  846.    ifstr(i) $(PrintProcDir) == "FAILED"
  847.       read-syms MacPrintString6$(!STF_LANGUAGE)
  848.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  849.       goto pstodibdone
  850.    Endif
  851.    Set !PrintProcDir = $(PrintProcDir)
  852.    ifstr(i) $(!STF_IDW) != TRUE
  853.       install "Install-PSPrint"
  854.    EndIf
  855.    Set FLibraryErrCtl = 1
  856.    LibraryProcedure Status $(!UTILHANDLE) AddPrintProc $(PSprintProcFile) $(PSprintProc)
  857.    Set FLibraryErrCtl = 0
  858.    ifstr(i) $(Status) != SUCCESS
  859.       read-syms MacPrintString3$(!STF_LANGUAGE)
  860.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  861.    EndIf
  862. pstodibdone = +
  863.     EndWait
  864.     FreeLibrary $(!UTILHANDLE)
  865.     Shell $(SubInf) PopBillBoard
  866.     goto successful
  867. Configuresfm = +
  868.    OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyLinkage) $(!ACCESS) LinkageKey
  869.    ifstr(i) $(LinkageKey) != $(!KeyNull)
  870.       GetRegValue $(LinkageKey) "Bind" BindList
  871.       ifstr(i) $(BindList) == ""
  872.          read-syms AtalkString3$(!STF_LANGUAGE)
  873.          Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  874.          goto endconfigui
  875.       endif
  876.    else
  877.       Set RegistryErrorIndex = $($R0)
  878.       goto fatalregistry
  879.    EndIf
  880.    LoadLibrary "x" $(!STF_CWDDIR)sfmatcfg.dll ATHANDLE
  881.    Set FLibraryErrCtl = 1
  882.    Set atcfgresult = ""
  883.    LibraryProcedure atcfgresult, $(ATHANDLE),EnterAtalkConfigDLL $(!STF_HWND)
  884.    FreeLibrary $(ATHANDLE)
  885. endconfigui = +
  886.    Set CommonStatus = STATUS_USERCANCEL
  887.    goto usercancel
  888. Bindingssfm = +
  889.    Set DefaultPortRemoved = FALSE
  890.    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\AppleTalk\Linkage" $(!ACCESS) LinkageKey
  891.    Ifstr(i) $(LinkageKey) == $(!KeyNull)
  892.       Set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
  893.       Goto fatalregistry
  894.    Endif
  895.    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\AppleTalk\Parameters" $(!ACCESS) BindParmKey
  896.    Ifstr(i) $(BindParmKey) == $(!KeyNull)
  897.       Set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
  898.       Goto fatalregistry
  899.    Endif
  900.    Set BindList = {}
  901.    Set ExportList = {}
  902.    Set RouteList  = {}
  903.    GetRegValue $(LinkageKey) "Bind" BindList
  904.    GetRegValue $(LinkageKey) "Export" ExportList
  905.    GetRegValue $(LinkageKey) "Route" RouteList
  906.    GetRegValue $(LinkageKey) "Exclude" ExcludeList
  907.    QueryListSize BindCount $(BindList)
  908.    IfInt $(BindCount) == 0
  909.       Goto endbinding
  910.    Endif
  911.    set NewBindList = {}
  912.    set NewExportList = {}
  913.    set NewRouteList = {}
  914.    ForListDo *($(BindList),4)
  915.       Split-String $($), "\", BindInfo
  916.       set NewBindList = >($(NewBindList), *($(BindInfo),4))
  917.    EndForListDo
  918.    ForListDo *($(ExportList),4)
  919.       set NewExportList = >($(NewExportList), $($))
  920.    EndForListDo
  921.    ForListDo *($(RouteList),4)
  922.       set NewRouteList = >($(NewRouteList), $($))
  923.    EndForListDo
  924.    ForListDo *($(ExcludeList),4)
  925.       set NewExcludeList = >($(NewExcludeList), $($))
  926.    EndForListDo
  927.    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\AppleTalk\Adapters" $(!ACCESS) AdapterKey
  928.    Ifstr(i) $(AdapterKey) == $(!KeyNull)
  929.       Set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
  930.       Goto fatalregistry
  931.    Endif
  932.    set AdapterList = ""
  933.    EnumRegKey $(AdapterKey) AdapterList
  934.    Set AtalkAdapterList = {}
  935.    ForListDo $(AdapterList)
  936.       Set AtalkAdapterList = >($(AtalkAdapterList), *($($),1))
  937.    EndForListDo
  938.    QueryListSize AdapterCount $(AtalkAdapterList)
  939.    Set fAddingFirstAdapter = FALSE
  940.    ifint $(AdapterCount) == 0
  941.          Set fAddingFirstAdapter = TRUE
  942.    EndIf
  943.    Set NewBindings = ""
  944.    Set TobeUsedBindList = {}
  945.    Set TobeUsedExportList = {}
  946.    Set TobeUsedRouteList = {}
  947.    ForListDo $(NewBindList)
  948.       IfContains(i) $($) not-in $(AtalkAdapterList)
  949.          Set NewBindings = TRUE
  950.          Set TobeUsedBindList = >($(TobeUsedBindList),"\Device\"$($))
  951.          Set TobeUsedExportList = >($(TobeUsedExportList),*($(NewExportList),$(#)))
  952.          Set TobeUsedRouteList = >($(TobeUsedRouteList),*($(NewRouteList),$(#)))
  953.          Shell "" CreateAtalkConfig $($) $(AdapterKey)
  954.          Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  955.             CloseRegKey $(AdapterKey)
  956.             Set RegistryErrorIndex = $($R1)
  957.             goto fatalregistry
  958.          EndIf
  959.       Else
  960.          Set TobeUsedBindList = >($(TobeUsedBindList),"\Device\"$($))
  961.          Set TobeUsedExportList = >($(TobeUsedExportList),*($(NewExportList),$(#)))
  962.          Set TobeUsedRouteList = >($(TobeUsedRouteList),*($(NewRouteList),$(#)))
  963.      Endif
  964.    EndForListDo
  965.    set NewValueList = {{Bind,0,$(!REG_VT_MULTI_SZ),$(TobeUsedBindList)}, +
  966.                       {Export,0,$(!REG_VT_MULTI_SZ),$(TobeUsedExportList)}, +
  967.                       {Route,0,$(!REG_VT_MULTI_SZ),$(TobeUsedRouteList)}}
  968.    Ifstr(i) $(NewBindings) == TRUE
  969.       Shell  $(UtilInf), AddValueList, $(LinkageKey), $(NewValueList)
  970.       set RegistryErrorIndex = $($R0)
  971.       CloseRegKey $(LinkageKey)
  972.       Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  973.          goto fatalregistry
  974.       EndIf
  975.    EndIf
  976.    Set DefaultPort = {}
  977.    Set MediaTypeList = {}
  978.    GetRegValue $(BindParmKey) "DefaultPort" DefaultPort
  979.    Ifstr(i) $(DefaultPort) != {}
  980.       goto removeadapters
  981.    EndIf
  982. finddefaultport = +
  983.    ForListDo $(TobeUsedBindList)
  984.       Split-String $($) "\" PortName
  985.       Shell "" FindMediaType *($(PortName),4)
  986.       Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  987.          Set MediaTypeList = >($(MediaTypeList), $($R1))
  988.       EndIf
  989.    EndForListDo
  990.    Ifcontains(i) "1" in $(MediaTypeList)
  991.       ForListDo $(MediaTypeList)
  992.          Ifint $($) == 1
  993.             Set DefaultPort = *($(TobeUsedBindList),$(#))
  994.             goto defportdone
  995.          EndIf
  996.       EndForListDo
  997.    else-ifcontains(i) "4" in $(MediaTypeList)
  998.       ForListDo $(MediaTypeList)
  999.          Ifint $($) == 4
  1000.             Set DefaultPort = *($(TobeUsedBindList),$(#))
  1001.             goto defportdone
  1002.          EndIf
  1003.       EndForListDo
  1004.    else-ifcontains(i) "2" in $(MediaTypeList)
  1005.       ForListDo $(MediaTypeList)
  1006.          Ifint $($) == 2
  1007.             Set DefaultPort = *($(TobeUsedBindList),$(#))
  1008.             goto defportdone
  1009.          EndIf
  1010.       EndForListDo
  1011.    else-ifcontains(i) "5" in $(MediaTypeList)
  1012.       Set DefaultPort = *($(TobeUsedBindList),1)
  1013.    else
  1014.       read-syms NoAdaptersFound$(!STF_LANGUAGE)
  1015.       Shell $(SubInf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(ErrorString)
  1016.       Set DefaultPort = ""
  1017.       Set NewValueList = {{DefaultPort,0,$(!REG_VT_SZ),$(DefaultPort)}}
  1018.       Shell  $(UtilInf), AddValueList, $(BindParmKey), $(NewValueList)
  1019.       set RegistryErrorIndex = $($R0)
  1020.       Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  1021.          goto fatalregistry
  1022.       EndIf
  1023.       goto endbinding
  1024.    Endif
  1025. defportdone = +
  1026.    Set NewValueList = {{DefaultPort,0,$(!REG_VT_SZ),$(DefaultPort)}}
  1027.    Shell  $(UtilInf), AddValueList, $(BindParmKey), $(NewValueList)
  1028.    set RegistryErrorIndex = $($R0)
  1029.    Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  1030.       goto fatalregistry
  1031.    EndIf
  1032.    goto startconfig
  1033. removeadapters = +
  1034.    Split-String *($(DefaultPort),4) "\" PortName
  1035.    ForListDo $(AtalkAdapterList)
  1036.       Ifcontains(i) $($) not-in $(NewBindList)
  1037.          DeleteRegKey $(AdapterKey) $($)
  1038.          Ifstr(i) $($) == *($(PortName),4)
  1039.             read-syms RemoveDefaultPort$(!STF_LANGUAGE)
  1040.             Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  1041.             Set DefaultPortRemoved = TRUE
  1042.             goto finddefaultport
  1043.         Endif
  1044.       EndIf
  1045.    EndForListDo
  1046. startconfig = +
  1047.    Set DoConfig = 0
  1048.    GetRegValue $(BindParmKey) "InitialInstall" DoConfig
  1049.    Set IsInitialInstall = *($(DoConfig),4)
  1050.    Debug-Output "Config State = "$(DoConfig)
  1051.    ifint $(IsInitialInstall) == 1
  1052.          goto startsvc
  1053.    EndIf
  1054.    ifstr(i) $(DefaultPortRemoved) == TRUE
  1055.          goto startsvc
  1056.    endif
  1057.    ifstr(i) $(fAddingFirstAdapter) == TRUE
  1058.          goto startsvc
  1059.    endif
  1060.    goto endbinding
  1061. startsvc = +
  1062.    Set FLibraryErrCtl = 1
  1063.    read-syms StatusStartingAppleTalk$(!STF_LANGUAGE)
  1064.    Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
  1065.    StartWait
  1066.    Set WaitStarted = 1
  1067.    LibraryProcedure START_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), STARTSVC, AppleTalk
  1068.    Shell $(SubInf) PopBillBoard
  1069.    Set START_STATUS = *($(START_RESULT),1)
  1070.    Debug-Output "OEMNXPSM.INF: Start AppleTalk; result was: "$(START_STATUS)
  1071.    Ifint $(START_STATUS) != 0
  1072.       EndWait
  1073.       Set WaitStarted = 0
  1074.       LibraryProcedure START_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), ERRORMSG, $(START_STATUS)
  1075.       Set ATALK_ERROR_MESSAGE = *($(START_RESULT),2)
  1076.       read-syms CannotStartAtalk$(!STF_LANGUAGE)
  1077.       Set ErrorString  = $(ATALK_ERROR_MESSAGE)$(ErrorSuffix)
  1078.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  1079.    Else
  1080.       LibraryProcedure START_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), STARTSVC, Afd
  1081.       Set START_STATUS = *($(START_RESULT),1)
  1082.       Debug-Output "OEMNXPSM.INF: Start Afd result was: "$(START_STATUS)
  1083.       Ifint $(START_STATUS) != 0
  1084.          EndWait
  1085.          Set WaitStarted = 0
  1086.          LibraryProcedure START_RESULT $(!NCPA_HANDLE), CPlSetup $(!STF_HWND), ERRORMSG, $(START_STATUS)
  1087.          Set ATALK_ERROR_MESSAGE = *($(START_RESULT),2)
  1088.          read-syms CannotStartAfd$(!STF_LANGUAGE)
  1089.          Set ErrorString  = $(ATALK_ERROR_MESSAGE)$(ErrorSuffix)
  1090.          Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  1091.          goto endbinding
  1092.       EndIf
  1093.       LoadLibrary "x" $(!STF_CWDDIR)sfmatcfg.dll ATHANDLE
  1094.       Set FLibraryErrCtl = 1
  1095.       Set atcfgresult = ""
  1096.       LibraryProcedure atcfgresult, $(ATHANDLE),EnterAtalkConfigDLL $(!STF_HWND)
  1097.       FreeLibrary $(ATHANDLE)
  1098.       SetRegValue $(BindParmKey) {InitialInstall,0,$(!REG_VT_DWORD),0}
  1099.       ifint $(IsInitialInstall) == 1
  1100.          read-syms SetupSuccess$(!STF_LANGUAGE)
  1101.          Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "STATUS" $(Status)
  1102.       EndIf
  1103.       EndWait
  1104.    EndIf
  1105. endbinding = +
  1106.    CloseRegKey $(BindParmKey)
  1107.    goto end
  1108. Removesfm = +
  1109.    Set FLibraryErrCtl  = 1
  1110.    Ifcontains(i) "MacFile" in $(REMOVE_SOFTWARE)
  1111.       Set IniFile = $(!STF_NTPATH)"\"$(NtNetIniFileName)
  1112.       Set IniSection = $(SrvMgrIniSection)
  1113.       Set Result = ""
  1114.       Set FLibraryErrCtl = 1
  1115.       LibraryProcedure Result, $(!UTILHANDLE), WriteAfpMgrIniStrings, $(IniSection), NULL, $(IniFile)
  1116.       Set FLibraryErrCtl = 0
  1117.       ifstr(i) $(Result) == "FAILED"
  1118.       endif
  1119.       Set IniFile = $(!STF_NTPATH)"\"$(WinFileIniFileName)
  1120.       Set IniSection = $(WinFileIniSection)
  1121.       Set FLibraryErrCtl = 1
  1122.       LibraryProcedure Result, $(!UTILHANDLE), WriteAfpMgrIniStrings, $(IniSection), NULL, $(IniFile)
  1123.       Set FLibraryErrCtl = 0
  1124.    EndIf
  1125.    ifstr(i) $(!STF_IDW) != TRUE
  1126.       read-syms StatusRemoveSfm$(!STF_LANGUAGE)
  1127.       Shell $(SubInf) PushBillBoard NETSTATUSDLG $(Status)
  1128.       Shell "" RemoveSfmFiles "REMOVE"
  1129.       Shell $(SubInf)  PopBillBoard
  1130.    EndIf
  1131.    OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyBase) $(!ACCESS) ProductKey
  1132.    Ifstr $(ProductKey) == $(!KeyNull)
  1133.       set RegistryErrorIndex = UNABLE_ACCESS_CONFIGURE_SERVICE
  1134.       goto fatalregistry
  1135.    endif
  1136.    DeleteRegTree $(ProductKey) $(ProductSFMName)
  1137.    CloseRegKey $(ProductKey)
  1138.    ForListDo  $(REMOVE_SOFTWARE)
  1139.        debug-output "Removing component: "$($)
  1140.        Shell $(UtilInf), RemoveSoftwareComponent, $(Manufacturer), $($)
  1141.    EndForListDo
  1142.    ForListDo  $(REMOVE_SERVICES)
  1143.        debug-output "Removing component service: "$($)
  1144.        Shell $(UtilInf), RemoveService, $($), "YES"
  1145.    EndForListDo
  1146.    Ifcontains(i) "MACPRINT" in $(REMOVE_SOFTWARE)
  1147.       Set DelMonStatus = ""
  1148.       Set FLibraryErrCtl = 1
  1149.       LibraryProcedure DelMonStatus $(!UTILHANDLE) SfmDeletePrintMonitor $(!AtalkMonName)
  1150.       Set FLibraryErrCtl = 0
  1151.       ifstr(i) $(DelMonStatus) == "FAILED"
  1152.          read-syms MacPrintString7$(!STF_LANGUAGE)
  1153.          Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1154.       EndIf
  1155.       OpenRegKey $(!REG_H_LOCAL) "" $(!EventLogKey) $(!ACCESS) LogKey
  1156.       Ifstr(i) $(LogKey) == $(!KeyNull)
  1157.          Set RegistryErrorIndex = $($R0)
  1158.          goto fatalregistry
  1159.       EndIf
  1160.       Set AtalkMonKey = $(!AtalkMonEventLogName)    
  1161.       DeleteRegTree $(LogKey) $(AtalkMonKey)
  1162.       Set MacPrintKey = "MACPRINT"
  1163.       DeleteRegTree $(LogKey) $(MacPrintKey)
  1164.       CloseRegKey $(!EventLogKey)
  1165.       Set DelStatus = ""
  1166.       Set FLibraryErrCtl = 1
  1167.       LibraryProcedure DelStatus $(!UTILHANDLE) DeletePrintProc "\\"$(!STF_COMPUTERNAME) SFMPSPRT
  1168.       Set FLibraryErrCtl = 0
  1169.       Ifstr(i) $(DelStatus) == FAILED
  1170.          read-syms MacPrintString5$(!STF_LANGUAGE)
  1171.          Shell $(SubInf) SetupMessage "NONFATAL" $(ErrorString)
  1172.       EndIf
  1173.    EndIf
  1174.    Ifcontains(i) "AppleTalk" in $(REMOVE_SOFTWARE)
  1175.       Shell $(UtilInf) UpdateWinsockService "AppleTalk" FALSE
  1176.    EndIf
  1177.    Ifstr(i) $($R0) != NO_ERROR
  1178.       read-syms AtalkString2$(!STF_LANGUAGE)
  1179.       Shell $(SubInf) SetupMessage "NONFATAL" $(ErrorString)
  1180.    EndIf
  1181.    FreeLibrary $(!UTILHANDLE)
  1182.    Set FLibraryErrCtl = 1
  1183.    ifstr(i) $(!STF_IDW) != TRUE
  1184.        LibraryProcedure Status, $(!LIBHANDLE), DelFile $(!STF_CWDDIR)$(UtilDll)
  1185.    EndIf
  1186.    Set FLibraryErrCtl = 0
  1187.    goto end
  1188. Upgradesfm = +
  1189.    ifstr(i) $(!ProductKeyName) == $(!NTN_RegBase)
  1190.       OpenRegKey $(!REG_H_LOCAL) "" $(!ProductKeyName) $(!ACCESS) KeyProduct
  1191.       Ifstr $(KeyProduct) != $(!KeyNull)
  1192.          GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
  1193.          set Version = *($(VersionInfo), 4)
  1194.          Split-String $(!NTN_Infname), "\", FilenameList
  1195.          QueryListSize ListSize $(FilenameList)
  1196.          set !UG_Filename = *($(FilenameList), $(ListSize))
  1197.          install Install-Update
  1198.          ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  1199.             goto fatal
  1200.          endif
  1201.          LoadLibrary "x" $(!STF_CWDDIR)$(UtilDll) !UTILHANDLE
  1202.          Shell "" DoUamInstall "INSTALL"
  1203.          FreeLibrary $(!UTILHANDLE)
  1204.          Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1205.             Goto ShellCodeError
  1206.          EndIf
  1207.          SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  1208.          SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  1209.          CloseRegKey $(KeyProduct)
  1210.       else
  1211.          Set RegistryErrorIndex = $($R0)
  1212.          goto fatalregistry
  1213.       endif
  1214.    endif
  1215.    goto end
  1216. successful = +
  1217.     Set Status = STATUS_SUCCESSFUL
  1218.     goto end
  1219. fatalregistry = +
  1220.    EndWait
  1221.    Shell $(UtilInf) RegistryErrorString $(RegistryErrorIndex)
  1222.    IfInt $(ShellCode) != 0
  1223.       goto ShellCodeError
  1224.    Endif
  1225.    set Error = $($R0)
  1226.    goto fatal
  1227. fatal = +
  1228.    Ifint $(BillboardVisible) != 0
  1229.       Shell $(SubInf) PopBillboard
  1230.       Set BillboardVisible = 0
  1231.    Endif
  1232.    read-syms MiscErrorString3$(!STF_LANGUAGE)
  1233.    Shell $(SubInf) SetupMessage, $(!STF_LANGUAGE), "FATAL",$(ErrorString)$(Error)
  1234.    ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1235.       goto ShellCodeError
  1236.    endif
  1237.    goto failed
  1238. ShellCodeError = +
  1239.    read-syms ShellingError$(!STF_LANGUAGE)
  1240.    Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "FATAL" $(ErrorString)
  1241. failed = +
  1242.    set CommonStatus = STATUS_FAILED
  1243.    ifstr(i) $(REMOVE_FLAG) == TRUE
  1244.       set REMOVE_FLAG = FALSE
  1245.       goto Removesfm
  1246.    endif
  1247.    goto end
  1248. initialsetupcancel = +
  1249.    Set CommonStatus = STATUS_USERCANCEL
  1250.    goto end
  1251. usercancel = +
  1252.    Set CommonStatus = STATUS_USERCANCEL
  1253. end = +
  1254.    Return $(CommonStatus)
  1255. [FindMediaType]
  1256.    Set Status = STATUS_FAILED
  1257.    Set CardName = $(!NTN_ServiceBase)"\"$($0)"\Parameters"
  1258.    OpenRegKey $(!REG_H_LOCAL) "" $(CardName) $(!ACCESS) CardKey
  1259.    Ifstr(i) $(CardKey) == $(!KeyNull)
  1260.       Set RegistryErrorIndex = $($R0)
  1261.       Return $(Status) $(RegistryErrorIndex)
  1262.    EndIf
  1263.    GetRegValue $(CardKey) "MediaType" MediaTypeList
  1264.    Set MediaType = *($(MediaTypeList),4)
  1265.    Set Status = STATUS_SUCCESSFUL
  1266.    Return $(Status) $(MediaType)
  1267. [CreateAtalkConfig]
  1268.    Set AdapterName         = $($0)
  1269.    Set KeyAdapters         = $($1)
  1270.    Set RetStatus    = STATUS_SUCCESSFUL
  1271.    read-syms GeneralConstants
  1272.    CreateRegKey $(KeyAdapters) {$(AdapterName), 0, GenericClass} "" $(!ACCESS) "", TempKeyAdapters
  1273.    Shell "" FindMediaType $($0)
  1274.    Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  1275.       Set MediaType = $($R1)
  1276.    else
  1277.       Set RegistryErrorIndex = $($R1)
  1278.       Set RetStatus = $($R0)
  1279.       goto return
  1280.    EndIf
  1281.    set PortName            = $($0)"@"$(!STF_COMPUTERNAME)
  1282.    set ZoneList            = {""}
  1283.    set AarpRetries         = 10
  1284.    set DefaultZone         = ""
  1285.    set NewValueList = +
  1286.             {{"AarpRetries",0,$(!REG_VT_DWORD),$(AarpRetries)}, +
  1287.             {"DefaultZone", 0,$(!REG_VT_SZ),$(DefaultZone)},+
  1288.             {"NetworkRangeUpperEnd",0,$(!REG_VT_DWORD),0 },+
  1289.             {"NetworkRangeLowerEnd",0,$(!REG_VT_DWORD),0 },+
  1290.             {"ZoneList",0,$(!REG_VT_MULTI_SZ),$(ZoneList)},+
  1291.             {"SeedingNetwork", 0,$(!REG_VT_DWORD),0},+
  1292.             {"DdpCheckSums", 0,$(!REG_VT_DWORD),0},+
  1293.             {"PortName",0,$(!REG_VT_SZ),$(PortName)}}
  1294.    Shell  $(UtilInf),AddValueList, $(TempKeyAdapters), $(NewValueList)
  1295.    set RegistryErrorIndex = $($R0)
  1296.    Ifstr $(RegistryErrorIndex) != NO_ERROR
  1297.       CloseRegKey $(TmpKeyAdapters)
  1298.       Set RetStatus = STATUS_FAILED
  1299.    EndIf
  1300. return = +
  1301.    Return $(RetStatus) $(RegistryErrorIndex)
  1302. [DoUAMInstall]
  1303.    Set Status      = STATUS_FAILED
  1304.    Set Mode        = $($0)
  1305.    read-syms DialogConstants$(!STF_LANGUAGE)
  1306.    read-syms VolList
  1307.    detect    VolList
  1308.    Set NTFSVolumeList = {}
  1309.    ForListDo $(VolumeFSList)
  1310.       Ifstr(i) $($) == "NTFS"
  1311.          Set NTFSExists = TRUE
  1312.          Set NTFSVolumeList = >($(NTFSVolumeList),*($(VolumeList),$(#)))
  1313.       EndIf
  1314.    EndForListDo
  1315.    Ifstr(i) $(NTFSExists) != TRUE
  1316.       read-syms AFPString12$(!STF_LAMGUAGE)
  1317.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1318.       goto enduam
  1319.    EndIf
  1320.    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\MacFile\Parameters\Volumes" $(!ACCESS) KeyVol
  1321.    ifstr(i) $(KeyVol) == $(!KeyNull)
  1322.       read-syms AFPString11$(!STF_LAMGUAGE)
  1323.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1324.       goto enduam
  1325.    endif
  1326.    Ifstr(i) $(Mode) == "INSTALL"
  1327.       Set UAMDrive = *($(NTFSVolumeList),1)
  1328.       read-syms UAMVars$(!STF_LANGUAGE)
  1329.    EndIf
  1330.    install "CreateUAMDir"
  1331.    Set Result = ""
  1332.    Set FLibraryErrCtl = 1
  1333.    LibraryProcedure Result, $(!UTILHANDLE), CopyUamFiles, +
  1334.                     $(!STF_CWDDIR)$(!UamResSrcFile), +
  1335.                     $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamResDestFile)
  1336.    Set FLibraryErrCtl = 0
  1337.    ifstr(i) $(Result) == "FAILED"
  1338.       read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  1339.       Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1340.       Set Status = STATUS_USERCANCEL
  1341.       goto enduam
  1342.    EndIf
  1343.    Set Result = ""
  1344.    Set FLibraryErrCtl = 1
  1345.    LibraryProcedure    Result,$(!UTILHANDLE), CopyUamFiles, +
  1346.                      $(!STF_CWDDIR)$(!UamInfoSrcFile), +
  1347.                      $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamInfoDestFile)
  1348.    Set FLibraryErrCtl = 0
  1349.    ifstr(i) $(Result) == "FAILED"
  1350.       read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  1351.       Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1352.       Set Status = STATUS_USERCANCEL
  1353.       goto enduam
  1354.    EndIf
  1355.    Set Result = ""
  1356.    Set FLibraryErrCtl = 1
  1357.    LibraryProcedure Result, $(!UTILHANDLE),CopyUamFiles,+
  1358.                     $(!STF_CWDDIR)$(!UamReadMeSrcFile), +
  1359.                     $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamReadMeDestFile)
  1360.    Set FLibraryErrCtl = 0
  1361.    ifstr(i) $(Result) == "FAILED"
  1362.       read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  1363.       Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1364.       Set Status = STATUS_USERCANCEL
  1365.       goto enduam
  1366.    EndIf
  1367.    Set VolProperties = {"MAXUSES=100", "PROPERTIES=32769","PASSWORD="}
  1368.    Set VolProperties = >($(VolProperties),"PATH="$(UAMPath))
  1369.    set NewValueList = +
  1370.          {{$(!UAMVolumeName),0, $(!REG_VT_MULTI_SZ),$(VolProperties)}}
  1371.    Shell "utility.inf" AddValueList $(KeyVol) $(NewValueList)
  1372.    set RegistryErrorIndex = $($R0)
  1373.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1374.       CloseRegKey $(KeyVol)
  1375.       Set Status = STATUS_FAILED
  1376.       goto enduam
  1377.    EndIf
  1378.    Set Result = ""
  1379.    Set FLibraryErrCtl = 1
  1380.    LibraryProcedure Result, $(!UTILHANDLE),SfmSetUamSecurity $(UAMPath)
  1381.    Set FLibraryErrCtl = 0
  1382.    ifstr(i) $(Result) == "FAILED"
  1383.       read-syms UamSecurityNotSet$(!STF_LANGUAGE)
  1384.       Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1385.    endif
  1386.    Set Status = STATUS_SUCCESSFUL
  1387. enduam = +
  1388.    Return $(Status) $(RegistryErrorIndex)
  1389. [RemoveSfmFiles]
  1390.    Set Status = STATUS_SUCCESSFUL
  1391.    Set Mode = $($0)
  1392.    Set RemoveList = {}
  1393.    Set DelOnRebootList = {}
  1394.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATALKSYS, 1))
  1395.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATALKMSG, 1))
  1396.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATCONFIG, 1))
  1397.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATWINSOCK, 1))
  1398.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSVCEXE, 1))
  1399.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSVCMSG, 1))
  1400.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSRVR, 1))
  1401.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSVCAPI, 1))
  1402.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPSVCMGR, 1))
  1403.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, PSTODIB1, 1))
  1404.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, PSTODIB2, 1))
  1405.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, PSTODIB3, 1))
  1406.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, PSTODIB4, 1))
  1407.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, MACPRINT, 1))
  1408.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, ATALKMON, 1))
  1409.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPICONS, 1))
  1410.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, AFPTYPECRTR, 1))
  1411.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, UAMRES, 1))
  1412.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, UAMINF, 1))
  1413.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, UAMTXT, 1))
  1414.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, SFMRES, 1))
  1415.    Set RemoveList = >($(RemoveList), #(Files-RemoveList, SFMHELP, 1))
  1416.    ForListDo $(RemoveList)
  1417.       Set DelStatus = ""
  1418.       Debug-Output "Deleting File "$($)
  1419.       Set FLibraryErrCtl = 1
  1420.       Ifstr(i) $(Mode) == "REMOVE"
  1421.          LibraryProcedure DelStatus $(!UTILHANDLE), DelFile $($)
  1422.          ifstr(i) $(DelStatus) == "FAILED"
  1423.             Set DelOnRebootList = >($(DelOnRebootList), $($))
  1424.          EndIf
  1425.       else
  1426.          LibraryProcedure DelStatus $(!LIBHANDLE), DelFile $($)
  1427.       EndIf
  1428.       Set FLibraryErrCtl = 0
  1429.    EndForListDo
  1430.    ForListDo $(DelOnRebootList)
  1431.       Ifstr(i) $(Mode) == "REMOVE"
  1432.          Debug-Output "File to remove on reboot = "$($)
  1433.          AddFileToDeleteList $($)
  1434.       else
  1435.          Set FLibraryErrCtl  = 1
  1436.          LibraryProcedure DelStatus $(!LIBHANDLE), DelFile $($)
  1437.          Set FLibraryErrCtl  = 0
  1438.       EndIf
  1439.    EndForListDo
  1440.    Return $(Status)
  1441. [Install-PSPrint]
  1442.    AddSectionFilesToCopyList Files-PRINTPROC $(!STF_CWDDIR) $(!PrintProcDir)
  1443.    CopyFilesInCopyList
  1444.    Exit
  1445. [CreateUAMDir]
  1446.    CreateDir $(UAMPath)
  1447.    CreateDir $(UAMPath)"\"$(!AppleShareFolder)
  1448.    Exit
  1449. [Install-Update]
  1450.    set STF_VITAL = ""
  1451.    AddSectionFilesToCopyList Files-SFM $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1452.    AddSectionFilesToCopyList Files-SFMDrivers $(SrcDir) $(!STF_WINDOWSSYSPATH)"\drivers"
  1453.    AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1454.    AddSectionFilesToCopyList Files-UAM $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1455.    CopyFilesInCopyList
  1456.    Exit
  1457. [Install-Initial]
  1458.    set STF_VITAL = ""
  1459.    AddSectionFilesToCopyList Files-SFM $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1460.    AddSectionFilesToCopyList Files-SFMDrivers $(SrcDir) $(!STF_WINDOWSSYSPATH)"\drivers"
  1461.    AddSectionFilesToCopyList Files-UAM $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1462.    CopyFilesInCopyList
  1463.    Exit
  1464. [Files-RemoveList]
  1465. ATALKSYS        = $(!STF_WINDOWSSYSPATH)\drivers\sfmatalk.sys
  1466. ATALKMSG        = $(!STF_WINDOWSSYSPATH)\sfmatmsg.dll
  1467. ATCONFIG        = $(!STF_WINDOWSSYSPATH)\sfmatcfg.dll
  1468. ATWINSOCK       = $(!STF_WINDOWSSYSPATH)\sfmwshat.dll
  1469. AFPSVCEXE       = $(!STF_WINDOWSSYSPATH)\sfmsvc.exe
  1470. AFPSVCMSG       = $(!STF_WINDOWSSYSPATH)\sfmmsg.dll
  1471. AFPSVCAPI       = $(!STF_WINDOWSSYSPATH)\sfmapi.dll
  1472. AFPSVCMGR       = $(!STF_WINDOWSSYSPATH)\sfmmgr.cpl
  1473. AFPSRVR         = $(!STF_WINDOWSSYSPATH)\drivers\sfmsrv.sys
  1474. AFPICONS        = $(!STF_WINDOWSSYSPATH)\sfmicons.inf
  1475. AFPTYPECRTR     = $(!STF_WINDOWSSYSPATH)\sfmmap.inf
  1476. UAMINF          = $(!STF_WINDOWSSYSPATH)\sfmuam.ifo
  1477. UAMRES          = $(!STF_WINDOWSSYSPATH)\sfmuam.rsc
  1478. UAMTXT          = $(!STF_WINDOWSSYSPATH)\sfmuam.txt
  1479. MACPRINT        = $(!STF_WINDOWSSYSPATH)\sfmprint.exe
  1480. ATALKMON        = $(!STF_WINDOWSSYSPATH)\sfmmon.dll
  1481. PSTODIB1        = $(!STF_WINDOWSSYSPATH)\sfmpsexe.exe
  1482. PSTODIB2        = $(!STF_WINDOWSSYSPATH)\sfmpsfnt.dll
  1483. PSTODIB3        = $(!STF_WINDOWSSYSPATH)\sfmpsprt.dll
  1484. PSTODIB4        = $(!STF_WINDOWSSYSPATH)\sfmpsdib.dll
  1485. SFMHELP            = $(!STF_WINDOWSSYSPATH)\sfmmgr.hlp
  1486. SFMRES            = $(!STF_WINDOWSSYSPATH)\sfmres.dll
  1487. [UamGetLanguage]
  1488.    STF_LANGUAGE = "" ? $(!LIBHANDLE) GetLanguage
  1489. [UAMINSTALL]
  1490.    LoadLibrary "x" $(!STF_CWDDIR)setupdll.dll !LIBHANDLE
  1491.    read-syms UamGetLanguage
  1492.    detect UamGetLanguage
  1493.    read-syms GeneralConstants
  1494.    read-syms FileConstants
  1495.    read-syms FileConstants$(STF_LANGUAGE)
  1496.    Debug-Output "UAMINSTALL: Language = "$(STF_LANGUAGE)
  1497.    read-syms FSAndDiskSpace
  1498.    detect FSAndDiskSpace
  1499.    Set NTFSVolExists = FALSE
  1500.    Set NTFSVolumeList = {}
  1501.    ForListDo $(VolumeFSList)
  1502.       Ifstr(i) $($) == "NTFS"
  1503.          Set NTFSVolExists = TRUE
  1504.          Set NTFSVolumeList = >($(NTFSVolumeList),*($(VolumeList),$(#)))
  1505.       EndIf
  1506.    EndForListDo
  1507.    Ifstr(i) $(NTFSVolExists) == FALSE
  1508.       read-syms UamFileNotCopied1$(STF_LANGUAGE)
  1509.       Shell $(SubInf) SetupMessage $(STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1510.       goto uaminstalldone
  1511.    EndIf
  1512.    LoadLibrary "y" $(!STF_CWDDIR)sfmutil.dll !UTILHANDLE
  1513.    Set !NTN_ServiceBase = "SYSTEM\CurrentControlSet\Services"
  1514.    OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\MacFile\Parameters\Volumes" $(!ACCESS) KeyVol
  1515.    ifstr(i) $(KeyVol) == $(!KeyNull)
  1516.       read-syms AFPString11$(!STF_LANGUAGE)
  1517.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1518.       goto uaminstalldone
  1519.    endif
  1520.    Set UAMDrive = *($(NTFSVolumeList),1)
  1521.    read-syms UAMVars$(!STF_LANGUAGE)
  1522.    install "CreateUAMDir"
  1523.    Set Result = ""
  1524.    Set FLibraryErrCtl = 1
  1525.    LibraryProcedure Result,+
  1526.                      $(!UTILHANDLE), +
  1527.                      CopyUamFiles, +
  1528.                      $(!STF_CWDDIR)$(!UamResSrcFile), +
  1529.                      $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamResDestFile)
  1530.    Set FLibraryErrCtl = 0
  1531.    ifstr(i) $(Result) == "FAILED"
  1532.       read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  1533.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1534.       goto uaminstalldone
  1535.    EndIf
  1536.    Set Result = ""
  1537.    Set FLibraryErrCtl = 1
  1538.    LibraryProcedure Result,+
  1539.                      $(!UTILHANDLE),+
  1540.                      CopyUamFiles, +
  1541.                      $(!STF_CWDDIR)$(!UamInfoSrcFile) +
  1542.                      $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamInfoDestFile)
  1543.    Set FLibraryErrCtl = 0
  1544.    ifstr(i) $(Result) == "FAILED"
  1545.       read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  1546.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1547.       goto uaminstalldone
  1548.    EndIf
  1549.    Set Result = ""
  1550.    Set FLibraryErrCtl = 1
  1551.    LibraryProcedure Result, +
  1552.                      $(!UTILHANDLE), +
  1553.                      CopyUamFiles, +
  1554.                      $(!STF_CWDDIR)$(!UamReadMeSrcFile) +
  1555.                      $(UAMPath)"\"$(!AppleShareFolder)"\"$(!UamReadMeDestFile)
  1556.    Set FLibraryErrCtl = 0
  1557.    ifstr(i) $(Result) == "FAILED"
  1558.       read-syms UamFileNotCopied1$(!STF_LANGUAGE)
  1559.       Shell $(SubInf) SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1560.       goto uaminstalldone
  1561.    EndIf
  1562.    Set VolProperties = {"MAXUSES=100", "PROPERTIES=32769","PASSWORD="}
  1563.    Set VolProperties = >($(VolProperties),"PATH="$(UAMPath))
  1564.    set NewValueList = +
  1565.             {{$(!UAMVolumeName), 0, $(!REG_VT_MULTI_SZ),$(VolProperties)}}
  1566.    Shell $(UtilInf) AddValueList $(KeyVol) $(NewValueList)
  1567.    set RegistryErrorIndex = $($R0)
  1568.    Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  1569.        CloseRegKey $(KeyVol)
  1570.    EndIf
  1571.    Set Result = ""
  1572.    Set FLibraryErrCtl = 1
  1573.    LibraryProcedure Result, $(!UTILHANDLE),SfmSetUamSecurity $(UAMPath)
  1574.    Set FLibraryErrCtl = 0
  1575.    ifstr(i) $(Result) == "FAILED"
  1576.       read-syms UamSecurityNotSet$(!STF_LANGUAGE)
  1577.       Shell "subroutn.inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $(ErrorString)
  1578.   endif
  1579. uaminstalldone = +
  1580.    FreeLibrary $(!LIBHANDLE)
  1581.    FreeLibrary $(!UTILHANDLE)
  1582.    exit
  1583. [Source Media Descriptions]
  1584.     1    = "Windows NT Advanced Server Setup Disk #1"   , TAGFILE = disk1
  1585.     2    = "Windows NT Advanced Server Setup Disk #2"   , TAGFILE = disk2
  1586.     3    = "Windows NT Advanced Server Setup Disk #3"   , TAGFILE = disk3
  1587.     4    = "Windows NT Advanced Server Setup Disk #4"   , TAGFILE = disk4
  1588.     5    = "Windows NT Advanced Server Setup Disk #5"   , TAGFILE = disk5
  1589.     6    = "Windows NT Advanced Server Setup Disk #6"   , TAGFILE = disk6
  1590.     7    = "Windows NT Advanced Server Setup Disk #7"   , TAGFILE = disk7
  1591.     8    = "Windows NT Advanced Server Setup Disk #8"   , TAGFILE = disk8
  1592.     9    = "Windows NT Advanced Server Setup Disk #9"   , TAGFILE = disk9
  1593.     10    = "Windows NT Advanced Server Setup Disk #10"  , TAGFILE = disk10
  1594.     11    = "Windows NT Advanced Server Setup Disk #11"  , TAGFILE = disk11
  1595.     12    = "Windows NT Advanced Server Setup Disk #12"  , TAGFILE = disk12
  1596.     13    = "Windows NT Advanced Server Setup Disk #13"  , TAGFILE = disk13
  1597.     14    = "Windows NT Advanced Server Setup Disk #14"  , TAGFILE = disk14
  1598.     15    = "Windows NT Advanced Server Setup Disk #15"  , TAGFILE = disk15
  1599.     16    = "Windows NT Advanced Server Setup Disk #16"  , TAGFILE = disk16
  1600.     17    = "Windows NT Advanced Server Setup Disk #17"  , TAGFILE = disk17
  1601.     18    = "Windows NT Advanced Server Setup Disk #18"  , TAGFILE = disk18
  1602.     19    = "Windows NT Advanced Server Setup Disk #19"  , TAGFILE = disk19
  1603.     20    = "Windows NT Advanced Server Setup Disk #20"  , TAGFILE = disk20
  1604.     21    = "Windows NT Advanced Server Setup Disk #21"  , TAGFILE = disk21
  1605.     22    = "Windows NT Advanced Server Setup Disk #22"  , TAGFILE = disk22
  1606.     23    = "Windows NT Advanced Server Setup Disk #23"  , TAGFILE = disk23
  1607.     24    = "Windows NT Advanced Server Setup Disk #24"  , TAGFILE = disk24
  1608.     25    = "Windows NT Advanced Server Setup Disk #25"  , TAGFILE = disk25
  1609.     26    = "Windows NT Advanced Server Setup Disk #26"  , TAGFILE = disk26
  1610.     27    = "Windows NT Advanced Server Setup Disk #27"  , TAGFILE = disk27
  1611.     28    = "Windows NT Advanced Server Setup Disk #28"  , TAGFILE = disk28
  1612.     29    = "Windows NT Advanced Server Setup Disk #29"  , TAGFILE = disk29
  1613. [ProductType]
  1614. STF_PRODUCT  = LanmanNT
  1615. STF_PLATFORM = I386
  1616. [Files-Inf]
  1617. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  1618. [Files-PRINTPROC]
  1619. 11,SFMPSPRT.DLL , SIZE=13312
  1620. [Files-SFM]
  1621. 10,SFMAPI.DLL , SIZE=47104
  1622. 11,SFMATCFG.DLL , SIZE=69632
  1623. 11,SFMATMSG.DLL , SIZE=14848
  1624. 10,SFMMGR.CPL , SIZE=285696
  1625. 11,SFMMON.DLL , SIZE=74752
  1626. 11,SFMMSG.DLL , SIZE=15360
  1627. 11,SFMPSDIB.DLL , SIZE=653312
  1628. 11,SFMPSFNT.DLL , SIZE=13824
  1629. 11,SFMPSPRT.DLL , SIZE=13312
  1630. 10,SFMRES.DLL , SIZE=10240
  1631. 11,SFMUTIL.DLL , SIZE=13824
  1632. 10,SFMWSHAT.DLL , SIZE=92160
  1633. 11,SFMPRINT.EXE , SIZE=76288
  1634. 11,SFMPSEXE.EXE , SIZE=34816
  1635. 11,SFMSVC.EXE , SIZE=87040
  1636. 11,SFMMGR.HLP , SIZE=62464
  1637. 11,SFMICONS.INF , SIZE=2560
  1638. 11,SFMMAP.INF , SIZE=6144
  1639. 11,SFMUAM.TXT , SIZE=10240
  1640. [Files-SFMDrivers]
  1641. 10,SFMATALK.SYS , SIZE=145920
  1642. 11,SFMSRV.SYS , SIZE=142848
  1643. [Files-UAM]
  1644. 11,SFMUAM.IFO , SIZE=512
  1645. 11,SFMUAM.RSC , SIZE=21504
  1646. [LanguagesSupported]
  1647. ENG
  1648. [OptionsTextENG]
  1649. SFM      = "Services for Macintosh"
  1650. [FileConstantsENG]
  1651. FunctionTitle                   =  "Services for Macintosh Setup"
  1652. ProductATALKDescription         =  "AppleTalk Transport"
  1653. ProductAFPSVCDescription        =  "AppleTalk File Server"
  1654. ProductMACPRINTDescription      =  "AppleTalk Print Server"
  1655. ProductSFMDescription           =  "Macintosh->Windows NT Connectivity"
  1656. ProCaption      = $(FunctionTitle)
  1657. ProCancel       = "Cancel"
  1658. ProCancelMsg    = "Services for Macintosh is not correctly installed. "+
  1659.                   "Are you sure you want to cancel copying files ?"
  1660. ProCancelCap    = "Services for Macintosh Setup"
  1661. ProText1        = "Copying:"
  1662. ProText2        = "To:"
  1663. Error           = "User has cancelled copying files. Copied files will be removed."
  1664. MajorVersion    = "MajorVersion"
  1665. MinorVersion    = "MinorVersion"
  1666. Version            =  "Version "
  1667. AskLocationText = "Please enter the full path of the Services for "+
  1668.                   "Macintosh distribution files.  If you want to install "+
  1669.                   "files from the original Setup floppy disks, type a drive "+
  1670.                   "letter (such as A:) and Setup will prompt you for the correct "+
  1671.                   "disk.  Then choose continue."
  1672. ProductSFMTitle                 = "Services for Macintosh"
  1673. ProductATALKDisplayName         = "AppleTalk Protocol"
  1674. ProductATALKTitle               = "Services for Macintosh"
  1675. ProductAFPSVCDisplayName        = "File Server for Macintosh"
  1676. ProductAFPSVCTitle              = "Services for Macintosh"
  1677. ProductAFPSRVRDisplayName       = "SFM Kernel Driver"
  1678. ProductMACPRINTDisplayName      = "Print Server for Macintosh"
  1679. ProductMACPRINTTitle            = "Services for Macintosh"
  1680. !UAMVolumeName                  = "Microsoft UAM Volume"
  1681. !AtalkMonName                    = "AppleTalk Printing Devices"
  1682. !AppleShareFolder                = "AppleShare Folder"
  1683. [DialogConstantsENG]
  1684. Help        = "&Help"
  1685. Exit        = "E&xit Setup"
  1686. OK          = "OK"
  1687. HelpContext = ""
  1688. Continue    = "Continue"
  1689. Cancel      = "Cancel"
  1690. [UAMVarsENG]
  1691. UAMDirName     =       "Microsoft UAM Volume"
  1692. UAMPath        =       $(UAMDrive)"\"$(UAMDirName)
  1693. [TCCommentsENG]
  1694. !XCEL1COMMENT   = "Comment=MS Excel 3.0 Chart"
  1695. !XCEL2COMMENT   = "Comment=MS Excel 3.0 Spreadsheet"
  1696. !XCEL3COMMENT   = "Comment=MS Excel 3.0 Macrosheet"
  1697. !XCEL4COMMENT   = "Comment=MS Excel 3.0 Workspace"
  1698. !XCEL5COMMENT   = "Comment=MS Excel 3.0 Add-in MacroFile"
  1699. !XCEL6COMMENT   = "Comment=MS Excel 3.0 Template File"
  1700. !XCEL7COMMENT   = "Comment=MS Excel 3.0"
  1701. !XCEL8COMMENT   = "Comment=MS Excel 4.0 Chart"
  1702. !XCEL9COMMENT   = "Comment=MS Excel 4.0 Spreadsheet"
  1703. !XCEL10COMMENT    = "Comment=MS Excel 4.0 Macrosheet"
  1704. !XCEL11COMMENT    = "Comment=MS Excel 4.0 WorkSpace"
  1705. !XCEL12COMMENT  = "Comment=MS Excel 4.0 Add-in MacroFile"
  1706. !XCEL13COMMENT  = "Comment=MS Excel 4.0 Template File"
  1707. !MSWD1COMMENT   = "Comment=MS Word 5.1 Document"
  1708. !MSWD2COMMENT   = "Comment=MS Word 5.1 Document"
  1709. !MSPJ1COMMENT   = "Comment=MS Project 3.0"
  1710. !MSPJ2COMMENT   = "Comment=MS Project 3.0 Exchange File"
  1711. !MSPJ3COMMENT   = "Comment=MS Project 3.0"
  1712. !MSPJ4COMMENT   = "Comment=MS Project 3.0 Calendars"
  1713. !MSPJ5COMMENT   = "Comment=MS Project 3.0 Views"
  1714. !MSPJ6COMMENT   = "Comment=MS Project 3.0 WorkSpaces"
  1715. !ALD31COMMENT   = "Comment=Pagemaker 3.0  Publication"
  1716. !ALD32COMMENT   = "Comment=Pagemaker 3.0 Template"
  1717. !ALD33COMMENT   = "Comment=Pagemaker 3.0 Tiff Graphics"
  1718. !ALD41COMMENT   = "Comment=Pagemaker 4.0 Publication"
  1719. !ALD42COMMENT   = "Comment=Pagemaker 4.0 Template"
  1720. !ALD43COMMENT   = "Comment=Pagemaker 4.0 Tiff Graphics"
  1721. !MORECOMMENT    = "Comment=Symantec More File"
  1722. !FOX+COMMENT    = "Comment=FoxBase Plus"
  1723. !ARTZCOMMENT    = "Comment=Adobe Illustrator"
  1724. !SIT!COMMENT    = "Comment=Aladdin Stuffit"
  1725. !PPT2COMMENT    = "Comment=MS PowerPoint 2.0"
  1726. !PPT3COMMENT    = "Comment=MS PowerPoint 3.0"
  1727. !L123COMMENT    = "Comment=Lotus 1-2-3"
  1728. !LMANCOMMENT    = "Comment=LMAN Executables"
  1729. !TTXTCOMMENT    = "Comment=Teach Text Document"
  1730. [SetupSpaceDlgENG]
  1731. STF_MB_TEXT = +
  1732. "Setup could not find enough space on your Windows NT Advanced Server system partition. "+
  1733. "Setup requires at least 2 MB for installing Services for Macintosh. "+
  1734. "You can retry installation after freeing up disk space on your system partition."
  1735. DlgType         = "MessageBox"
  1736. STF_MB_TYPE     = 5
  1737. STF_MB_ICON     = 3
  1738. STF_MB_DEF      = 3
  1739. STF_MB_TITLE    = $(FunctionTitle)
  1740. [ExitWarningDlgENG]
  1741. STF_MB_TITLE    = "Services for Macintosh Setup"
  1742. STF_MB_TEXT     = "Services for Macintosh is not correctly installed. Are you "+
  1743.                   "sure you want to exit Setup?"
  1744. DlgType         = "MessageBox"
  1745. STF_MB_TYPE     = 3
  1746. STF_MB_ICON     = 5
  1747. STF_MB_DEF      = 2
  1748. [MiscErrorString1ENG]
  1749. ErrorString = +
  1750. " of Services for Macintosh is already installed on your system. "+
  1751. "Use [Update] to update to newer versions."
  1752. [MiscErrorString2ENG]
  1753. ErrorString = +
  1754. "Sufficient memory is not available on your system to run  "+
  1755. "Services for Macintosh. Services for Macintosh requires "+
  1756. "a minimum of 8 MB to function."
  1757. [MiscErrorString3ENG]
  1758. ErrorString = +
  1759. "Setup encountered the following error during installation. Try installing "+
  1760. "Services for Macintosh after rebooting your system. "$(LF)
  1761. [ShellingErrorENG]
  1762. ErrorString  = +
  1763. "An internal error occurred. Contact Technical Support."
  1764. [NTFSFormatHappeningENG]
  1765. ErrorString = +
  1766. "Setup could not find any NTFS partitions in your system. You could be "+
  1767. "reformatting or converting your existing NTFS partition. The Microsoft UAM "+
  1768. "volume cannot be installed at this time. Setup will proceed with installation. "+
  1769. "Use the command SETUP /i OEMNXPSM.INF /c UAMINSTALL to install the UAM volume "+
  1770. "after Advanced Server installation."
  1771. [UamFileNotCopiedENG]
  1772. ErrorString  = +
  1773. "Setup cannot copy Microsoft user authentication files to the Microsoft UAM "+
  1774. "volume. Macintosh workstations will be unable to download these files. There "+
  1775. "may not be enough disk space on your NTFS partition or the UAM files might be "+
  1776. "missing from your Windows NT Advanced Server distribution disks. Refer to your Administrator's guide "+
  1777. "on how to create this volume after installation."
  1778. [UamFileNotCopied1ENG]
  1779. ErrorString  = +
  1780. "Setup cannot copy Microsoft user authentication files to the Microsoft UAM "+
  1781. "volume. Macintosh workstations will be unable to download these files. There "+
  1782. "may not be enough disk space on your NTFS partition or the UAM files might be "+
  1783. "missing from your Windows NT Advanced Server distribution disks. Refer to your Administrator's guide "+
  1784. "on how to create this volume after installation."
  1785. [UamSecurityNotSetENG]
  1786. ErrorString = +
  1787. "Setup cannot set the default security settings for the UAM volume. "+
  1788. "Security for the UAM volume can also be set from the User Manager "+
  1789. "after installation."
  1790. [CannotStartAtalkENG]
  1791. ErrorSuffix = +
  1792. "Setup was unable to start the AppleTalk Protocol. You will be unable to choose "+
  1793. "a desired zone at this time."
  1794. [CannotStartAfdENG]
  1795. ErrorSuffix = +
  1796. "Setup was unable to start the AFD Driver. You will be unable to choose "+
  1797. "a desired zone at this time."
  1798. [StatusInstallSfmENG]
  1799. Status = "Installing Services for Macintosh..."
  1800. [StatusRemoveSfmENG]
  1801. Status = "Removing Services for Macintosh files..."
  1802. [StatusStartingAppleTalkENG]
  1803. Status = "Starting AppleTalk Protocol..."
  1804. [AtalkString1ENG]
  1805. ErrorString  = +
  1806. "Setup cannot add Windows sockets support for the AppleTalk protocol. "+
  1807. "Windows sockets applications will be unable to use the AppleTalk Protocol. "+
  1808. "Remove Services for Macintosh after installation and re-install. If the problem "+
  1809. "persists, contact Microsoft support."
  1810. [AtalkString2ENG]
  1811. ErrorString  = +
  1812. "Setup cannot remove Windows Sockets support for the AppleTalk protocol."
  1813. [AtalkString3ENG]
  1814. ErrorString  = +
  1815. "Services for Macintosh has just been installed. Services will be "+
  1816. "available to Macintosh workstations in the default network. If you would like "+
  1817. "the services to appear in a different zone or to configure routing, close "+
  1818. "the Control Panel, reboot, start AppleTalk and use the Control Panel "+
  1819. "to configure Services for Macintosh."
  1820. [AFPString1ENG]
  1821. ErrorString = +
  1822. "Setup cannot find an NTFS partition on your system. "+
  1823. "Services for Macintosh requires an NTFS partition for "+
  1824. "Macintosh workstations to share files. You can create "+
  1825. "the NTFS partition after installing Services for Macintosh. "+
  1826. "To format a partition to NTFS, use the command, format [drive] /fs:NTFS. "+
  1827. "Setup will proceed with installation."
  1828. [AFPString2ENG]
  1829. ErrorString = +
  1830. "Setup cannot add the Macintosh File Server to the File Manager. "+
  1831. "You will be unable to work with Macintosh accessible volumes from "+
  1832. "File Manager."
  1833. [AFPString3ENG]
  1834. ErrorString  = +
  1835. "Setup cannot add the Macintosh File Server to the Server Manager. "+
  1836. "You will be unable to work with Services for Macintosh servers from "+
  1837. "Server Manager."
  1838. [AFPString11ENG]
  1839. ErrorString  = +
  1840. "Setup can not find the volumes key in the MacFile section in registry. "+
  1841. "The UAM volume cannot be built."
  1842. [AFPString12ENG]
  1843. ErrorString  = +
  1844. "Setup can not find any NTFS volumes in your system. The UAM volume can not be installed."
  1845. [MacPrintString2ENG]
  1846. ErrorString = +
  1847. "Setup cannot create the eventlog entries for the Print Server for Macintosh. "+
  1848. "You will be unable to use the event viewer to see the log for Print Server "+
  1849. "for Macintosh."
  1850. [MacPrintString3ENG]
  1851. ErrorString = +
  1852. "Setup cannot add the print processor for the Print Server for Macintosh. "+
  1853. "Macintosh workstations will be unable to print postscript jobs to a "+
  1854. "non-postscript printer on the Advanced Server network."
  1855. [MacPrintString4ENG]
  1856. ErrorString = +
  1857. "Setup cannot add the print monitor for the Print Server for Macintosh. "+
  1858. "Macintosh workstations will be unable to use print services on this "+
  1859. "Advanced Server."
  1860. [MacPrintString5ENG]
  1861. ErrorString = +
  1862. "Setup cannot remove the print processor for the Print Server for Macintosh."
  1863. [MacPrintString6ENG]
  1864. ErrorString = +
  1865. "Setup can not find the directory to install the Macintosh print processor. "+
  1866. "The Macintosh print processor will not be installed."
  1867. [MacPrintString7ENG]
  1868. ErrorString = +
  1869. "Setup cannot remove the monitor for the Print Server for Macintosh."
  1870. [MacPrintString10ENG]
  1871. ErrorString = +
  1872. "Setup cannot create the eventlog entries for the Print Server for Macintosh monitor. "+
  1873. "You will be unable to use the event viewer to see the log for Print Server "+
  1874. "for Macintosh."
  1875. [NoAdaptersFoundENG]
  1876. ErrorString = +
  1877. "Setup cannot find any network adapter for Services for Macintosh. You will "+
  1878. "be unable to use Services for Macintosh. Try adding a network adapter or "+
  1879. "enable the bindings for AppleTalk Protocol."
  1880. [RemoveDefaultPortENG]
  1881. ErrorString  = +
  1882. "Setup has detected that the default network adapter used by Services "+
  1883. "for Macintosh has been removed. Setup will change the default network, if "+
  1884. "one is available. This may cause Macintosh workstations to no longer "+
  1885. "see Services for Macintosh on their current zone."
  1886. [SetupSuccessENG]
  1887. Status  = +
  1888. "Services for Macintosh installation is complete. "+
  1889. "Services will start automatically when you reboot. "+
  1890. "Services will be available to Macintosh workstations "+
  1891. "in the network and zone that you have chosen. "
  1892.  
  1893.  
  1894.  
  1895.