home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / d / d423_liu / 8.ddi / OEMNSVSV.IN_ / OEMNSVSV.IN
Encoding:
INI File  |  1993-07-24  |  25.8 KB  |  664 lines

  1. [Identification]
  2.     OptionType = NetService
  3. [Options]
  4.     SRV
  5. [FileConstants]
  6. UtilityInf      = "UTILITY.INF"
  7. subroutineinf   = "SUBROUTN.INF"
  8. SoftwareType    = "service"
  9. Exit_Code       = 0
  10. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  11. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  12. Manufacturer    = "Microsoft"
  13. ProductMajorVersion     = "3"
  14. ProductMinorVersion     = "1"
  15. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  16. ProductSRVName          = "LanmanServer"
  17. ProductSRVImagePath     = "%SystemRoot%\System32\lmsvcs.exe"
  18. NetRuleSRVType          = "srv lmNetService lanmanServer"
  19. NetRuleSRVClass         = {"lanmanServer lmNetService"}
  20. NetRuleSRVUse           = $(SoftwareType)" yes yes"
  21. NetRuleSRVBindForm      = """LanmanServer"" yes yes container"
  22. ProductXACTSRVName      = "XactSrv"
  23. ProductXACTSRVImagePath = "%SystemRoot%\System32\lmsvcs.exe"
  24. ProductSRVSRVName       = "Srv"
  25. ProductSRVSRVImagePath  = "\SystemRoot\System32\drivers\srv.sys"
  26. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(Product$(Option)Name)"\CurrentVersion"
  27. ParamKeyName    = $(!NTN_ServiceBase)"\"$(Product$(Option)Name)"\Parameters"
  28. SessMgrMemMgtKeyName =  "SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management"
  29. [GeneralConstants]
  30. from      = ""
  31. to        = ""
  32. ExitCodeOk     = 0
  33. ExitCodeCancel = 1
  34. ExitCodeFatal  = 2
  35. KeyNull         = ""
  36. MAXIMUM_ALLOWED   = 33554432
  37. RegistryErrorIndex = NO_ERROR
  38. KeyProduct      = ""
  39. KeyParameters   = ""
  40. TRUE            = 1
  41. FALSE           = 0
  42. NoTitle            = 0
  43. ExitState   = "Active"
  44. OldVersionExisted = $(FALSE)
  45. DriverPath      = $(!STF_NTPATH)\drivers
  46. [date]
  47.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  48. [DetectSystemMemory]
  49.     SystemMemory    = "" ? $(!LIBHANDLE) GetMemorySize
  50. [Identify]
  51.     read-syms Identification
  52.     set Status     = STATUS_SUCCESSFUL
  53.     set Identifier = $(OptionType)
  54.     set Media      = #("Source Media Descriptions", 1, 1)
  55.     Return $(Status) $(Identifier) $(Media)
  56. [ReturnOptions]
  57.     set Status        = STATUS_FAILED
  58.     set OptionList     = {}
  59.     set OptionTextList = {}
  60.     set LanguageList = ^(LanguagesSupported, 1)
  61.     Ifcontains(i) $($0) in $(LanguageList)
  62.         goto returnoptions
  63.     else
  64.         set Status = STATUS_NOLANGUAGE
  65.         goto finish_ReturnOptions
  66.     endif
  67. returnoptions = +
  68.     set OptionList     = ^(Options, 1)
  69.     set OptionTextList = ^(OptionsText$($0), 1)
  70.     set Status         = STATUS_SUCCESSFUL
  71. finish_ReturnOptions = +
  72.     Return $(Status) $(OptionList) $(OptionTextList)
  73. [InstallOption]
  74.     set Option   = $($1)
  75.     set SrcDir   = $($2)
  76.     set AddCopy  = $($3)
  77.     set DoCopy   = $($4)
  78.     set DoConfig = $($5)
  79.     set LanguageList = ^(LanguagesSupported, 1)
  80.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  81.         Return STATUS_NOLANGUAGE
  82.     endif
  83.     Debug-Output "OEMNSVSV.INF: STF_CWDDIR is: "$(!STF_CWDDIR)
  84.     Debug-Output "OEMNSVSV.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
  85.     set-subst LF = "\n"
  86.     read-syms GeneralConstants
  87.     read-syms FileConstants
  88.     read-syms DialogConstants$(!STF_LANGUAGE)
  89.     ifstr(i) $(!NTN_Origination) == "NCPA"
  90.         set Continue = $(OK)
  91.     endif
  92.     read-syms FileConstants$(!STF_LANGUAGE)
  93.     detect date
  94.     detect DetectSystemMemory
  95.     set-title  $(FunctionTitle)
  96.     set to   = Begin
  97.     set from = Begin
  98.     set CommonStatus = STATUS_SUCCESSFUL
  99.     EndWait
  100. Begin = +
  101.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  102.         set StartLabel = removeadapter
  103.                 set OEM_ABANDON_OPTIONS = { $(ProductSRVName), +
  104.             $(ProductXACTSRVName), $(ProductSRVSRVName)}
  105.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  106.         set StartLabel = UpgradeSoftware
  107.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  108.         set StartLabel = bindingadapter
  109.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  110.         set CommonStatus = STATUS_REBOOT
  111.         set StartLabel = configureadapter
  112.     else
  113.         set StartLabel = installadapter
  114.                 set OEM_ABANDON_OPTIONS = {}
  115.     endif
  116.     ifstr(i) $(!STF_PRODUCT) == "LANMANNT"
  117.         set Size = 3
  118.     else
  119.         set Size = 2
  120.     endif
  121.     set RadioDefault = $(Size)
  122.     set RadioIn = {$(RadioDefault)}
  123.     set Lmannounce = 0
  124.     set CheckItemsIn = {OFF}
  125.     set DoSRV = FALSE
  126.     set DoXACTSRV = FALSE
  127.     set DoSRVSRV = FALSE
  128.     ifstr(i) $(Option) == SRV
  129.                 set DoSRV = TRUE
  130.         set DoSRVSRV = TRUE
  131.     else-ifstr(i) $(Option) == XACTSRV
  132.                 set DoXACTSRV = TRUE
  133.     endif
  134.     set from = $(fatal)
  135.     set to = $(fatal)
  136.     goto $(StartLabel)
  137. installadapter = +
  138.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  139.     Ifstr $(KeyProduct) != $(KeyNull)
  140.         CloseRegKey $(KeyProduct)
  141.         Shell $(UtilityInf), VerExistedDlg, $(Product$(Option)Title),+
  142.             $(ProductVersion)
  143.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  144.             Debug-Output "ShellCode error: cannot get an error string."
  145.             goto ShellCodeError
  146.         endif
  147.         goto end
  148.     endif
  149.     goto adapteroptions
  150. configureadapter = +
  151.     OpenRegKey $(!REG_H_LOCAL) "" $(ParamKeyName) $(MAXIMUM_ALLOWED) KeyParameters
  152.     Ifstr $(KeyParameters) == $(KeyNull)
  153.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  154.         Debug-Output "Cannot find component service"
  155.         goto fatalregistry
  156.     endif
  157.     set OldVersionExisted = $(TRUE )
  158.     set ValueName = ""
  159.     set ValueData = ""
  160.     set ValueStr  = ""
  161.     set ValueList = {}
  162.     EnumRegValue $(KeyParameters) ValueList
  163.     ForListDo $(ValueList)
  164.         set ValueItem = $($)
  165.         set ValueName = *($(ValueItem),1)
  166.         set ValueData = *($(ValueItem),4)
  167.         Ifstr(i) $(ValueName) == "Size"
  168.             set Size = $(ValueData)
  169.         else-ifstr(i) $(ValueName) == "Lmannounce"
  170.             set Lmannounce = $(ValueData)
  171.         endif
  172.     EndForListDo
  173.     set LargeSystemCacheOrg = 2
  174.     OpenRegKey $(!REG_H_LOCAL) "" $(SessMgrMemMgtKeyName) $(MAXIMUM_ALLOWED) KeySessMgrMemMgt
  175.     Ifstr $(KeySessMgrMemMgt) != $(KeyNull)
  176.         GetRegValue $(KeySessMgrMemMgt), "LargeSystemCache", LSCInfo
  177.         Debug-Output "GetRegValue returned "$(RegLastError)
  178.         ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  179.             Debug-Output "GetRegValue of LargeSystemCache successful"
  180.             set LargeSystemCacheOrg = *($(LSCInfo), 4)
  181.             Debug-Output "LargeSystemCacheOrg ="$(LargeSystemCacheOrg)
  182.             ifint $(Size) == 3
  183.                 ifint $(LargeSystemCacheOrg) == 0
  184.                     set Size = 4
  185.                 endif
  186.             endif
  187.         endif
  188.         CloseRegKey $(KeySessMgrMemMgt)
  189.     endif
  190.     set RadioDefault = $(Size)
  191.     set RadioIn = {$(RadioDefault)}
  192.     ifint $(Lmannounce) == 1
  193.         set CheckItemsIn = {ON}
  194.     else
  195.         set CheckItemsIn = {OFF}
  196.     endif
  197.     CloseRegKey $(KeyParameters)
  198.     goto adapteroptions
  199. adapteroptions = +
  200.     ifstr(i) $(DoSRV) == TRUE
  201.         Ifstr(i) $(!NTN_InstallMode) == "configure"
  202.             set from = adapteroptions
  203.             read-syms FileDependentDlg$(!STF_LANGUAGE)
  204.             ui start "InputDlg"
  205.             ifstr(i) $(DLGEVENT) == "CONTINUE"
  206.                 set Size = *($(RadioOut),1)
  207.                 Debug-Output "OEMNSVSV.INF: Size = "$(Size)
  208.                 set Lmannounce = *($(CheckItemsOut),1)
  209.                 Debug-Output "OEMNSVSV.INF: Lmannounce = "$(Lmannounce)
  210.                 ui pop 1
  211.                 goto nextstep
  212.             else-ifstr(i) $(DLGEVENT) == "BACK"
  213.                 set CommonStatus = STATUS_USERCANCEL
  214.                 Debug-Output "Action: exit. Bye."
  215.                 ui pop 1
  216.                 goto end
  217.             else
  218.                 ui pop 1
  219.                 Debug-Output "OEMNSVSV.INF: Action unknown. Bye."
  220.                 goto end
  221.             endif
  222.         endif
  223.     endif
  224. nextstep = +
  225.     StartWait
  226.     ifstr(i) $(!NTN_InstallMode) == "install"
  227.         Ifstr(i) $(DoCopy) == "YES"
  228.            Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  229.            Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  230.                Goto ShellCodeError
  231.            Else-Ifstr(i) $($R0) == STATUS_FAILED
  232.                Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  233.                ifint $($ShellCode) != $(!SHELL_CODE_OK)
  234.                    goto ShellCodeError
  235.                endif
  236.                set Error = $($R0)
  237.                Goto fatal
  238.            Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  239.                Goto successful
  240.            Endif
  241.            Set SrcDir = $($R1)
  242.         Endif
  243.         install "Install-Option"
  244.         ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  245.            Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  246.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  247.                goto ShellCodeError
  248.            endif
  249.            set Error = $($R0)
  250.            goto fatal
  251.         endif
  252.     endif
  253.     set OEM_ABANDON_ON  = TRUE
  254.     ifstr(i) $(DoSRV) == TRUE
  255.         ifint $(OldVersionExisted) == $(FALSE)
  256.             CloseRegKey $(KeyParameters)
  257.             Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(ProductSRVName))
  258.             Set SrvServiceType = "autoserviceshare"
  259.             Ifint $(SystemMemory) < 12096
  260.                 Set SrvServiceType = "serviceshare"
  261.             Endif
  262.             Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  263.                 $(ProductSRVName), +
  264.                 $(ProductSRVName), +
  265.                 $(ProductSRVDisplayName), $(STF_CONTEXTINFNAME), +
  266.                 $(ProductSRVImagePath), $(SrvServiceType), "", {}, "", +
  267.                 $(NetEventDLL),"","","","server"
  268.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  269.                 Debug-Output "ShellCode error"
  270.                 goto ShellCodeError
  271.             endif
  272.             set RegistryErrorIndex = $($R0)
  273.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  274.                 EndWait
  275.                 Debug-Output "Registry error: add software components"
  276.                 CloseRegKey $($R1)
  277.                 CloseRegKey $($R2)
  278.                 CloseRegKey $($R3)
  279.                 CloseRegKey $($R4)
  280.                 goto fatalregistry
  281.             endif
  282.             Set SoftProductKey  = $($R1)
  283.             Set SoftNetRuleKey  = $($R2)
  284.             Set SoftServiceKey  = $($R3)
  285.             set KeyParameters   = $($R4)
  286.             Set SoftLinkageKey  = $($R5)
  287.             set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  288.                                {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  289.                                {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  290.                                {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSRVTitle)},+
  291.                                {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSRVDescription)},+
  292.                                {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSRVName)},+
  293.                                {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  294.             Shell  $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
  295.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  296.                 Debug-Output "ShellCode error."
  297.                 goto ShellCodeError
  298.             endif
  299.             set RegistryErrorIndex = $($R0)
  300.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  301.                 EndWait
  302.                 Debug-Output "Resgitry error: add value list."
  303.                 CloseRegKey $(SoftProductKey)
  304.                 CloseRegKey $(SoftNetRuleKey)
  305.                 CloseRegKey $(SoftServiceKey)
  306.                 CloseRegKey $(KeyParameters)
  307.                 CloseRegKey $(SoftLinkageKey)
  308.                 goto fatalregistry
  309.             endif
  310.             set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSRVType)},+
  311.                                 {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSRVClass)}, +
  312.                                 {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSRVUse)}, +
  313.                                 {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSRVBindForm)}, +
  314.                                 {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  315.             Shell  $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  316.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  317.                 Debug-Output "ShellCode error."
  318.                 goto ShellCodeError
  319.             endif
  320.             set RegistryErrorIndex = $($R0)
  321.             CloseRegKey $(SoftProductKey)
  322.             CloseRegKey $(SoftNetRuleKey)
  323.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  324.                 EndWait
  325.                 Debug-Output "OEMNSVSV.INF: Registry error: add value list."
  326.                 CloseRegKey $(KeyParameters)
  327.                 CloseRegKey $(SoftLinkageKey)
  328.                 goto fatalregistry
  329.             endif
  330.             Set NewValueList = {{OtherDependencies,$(NoTitle),$(!REG_VT_MULTI_SZ),{"Srv"}}}
  331.             Shell  $(UtilityInf), AddValueList, $(SoftLinkageKey), $(NewValueList)
  332.             CloseRegKey $(SoftLinkageKey)
  333.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  334.                 Debug-Output "ShellCode error."
  335.                 goto ShellCodeError
  336.             endif
  337.             set RegistryErrorIndex = $($R0)
  338.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  339.                     EndWait
  340.                 Debug-Output "OEMNSVSV.INF: Registry error: add value list."
  341.                 CloseRegKey $(SoftServiceKey)
  342.                 goto fatalregistry
  343.             endif
  344.             CreateRegKey $(SoftServiceKey) {"AutotunedParameters",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" AutoTunedKey
  345.             CreateRegKey $(SoftServiceKey) {"Shares",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" SharesKey
  346.             CloseRegKey $(SoftServiceKey)
  347.             CloseRegKey $(AutoTunedKey)
  348.             CloseRegKey $(SharesKey)
  349.         endif
  350.         goto writeparameters
  351. writeparameters = +
  352.         ifstr(i) $(Lmannounce) == "ON"
  353.             set LmannounceValue = 1
  354.         else
  355.             set LmannounceValue = 0
  356.         endif
  357.         ifint $(Size) == 4
  358.             set LargeSystemCache = 0
  359.             set Size = 3
  360.         else-ifint $(Size) == 3
  361.             set LargeSystemCache = 1
  362.         else
  363.             set LargeSystemCache = 0
  364.         endif
  365.         set NewValueList = {{Size,$(NoTitle),$(!REG_VT_DWORD),$(Size)},+
  366.                            {Lmannounce,$(NoTitle),$(!REG_VT_DWORD),$(LmannounceValue)} }
  367.         ifint $(OldVersionExisted) == $(TRUE)
  368.             OpenRegKey $(!REG_H_LOCAL) "" $(ParamKeyName) $(MAXIMUM_ALLOWED) KeyParameters
  369.         endif
  370.         Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  371.         set RegistryErrorIndex = $($R0)
  372.         CloseRegKey $(KeyParameters)
  373.         Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  374.             goto fatalregistry
  375.         endif
  376.         ifint $(LargeSystemCache) != $(LargeSystemCacheOrg)
  377.             OpenRegKey $(!REG_H_LOCAL) "" $(SessMgrMemMgtKeyName) $(MAXIMUM_ALLOWED) KeySessMgrMemMgt
  378.             SetRegValue $(KeySessMgrMemMgt) {LargeSystemCache,$(NoTitle),$(!REG_VT_DWORD),$(LargeSystemCache)}
  379.             ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  380.                 set RegistryErrorIndex = UNABLE_WRITE_REGISTRY
  381.                 CloseRegKey $(KeySessMgrMemMgt)
  382.                 goto fatalregistry
  383.             endif
  384.             CloseRegKey $(KeySessMgrMemMgt)
  385.         endif
  386.     endif
  387.     ifstr(i) $(DoXACTSRV) == TRUE
  388.         ifint $(OldVersionExisted) == $(FALSE)
  389.             Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(ProductXACTSRVName))
  390.             Shell $(UtilityInf), CreateService, $(ProductXACTSRVName), +
  391.                 $(ProductXACTDisplayName), $(ProductXACTSRVImagePath), "serviceshare", "", +
  392.                 {"LanmanServer"}, ""
  393.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  394.                 Debug-Output "ShellCode error"
  395.                 goto ShellCodeError
  396.             endif
  397.             set RegistryErrorIndex = $($R0)
  398.             CloseRegKey $($R1)
  399.             CloseRegKey $($R2)
  400.             CloseRegKey $($R3)
  401.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  402.                 EndWait
  403.                 Debug-Output "Registry error: adding XACTSRV service"
  404.                 goto fatalregistry
  405.             endif
  406.         endif
  407.     endif
  408.     ifstr(i) $(DoSRVSRV) == TRUE
  409.         ifint $(OldVersionExisted) == $(FALSE)
  410.             Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(ProductSRVSRVName))
  411.             Shell $(UtilityInf), CreateService, $(ProductSRVSRVName), +
  412.                 $(ProductSRVSRVDisplayName), $(ProductSRVSRVImagePath), "system", "Network", {}, "",+
  413.                 $(NetEventDLL)
  414.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  415.                 Debug-Output "ShellCode error"
  416.                 goto ShellCodeError
  417.             endif
  418.             set RegistryErrorIndex = $($R0)
  419.             CloseRegKey $($R1)
  420.             CloseRegKey $($R2)
  421.             CloseRegKey $($R3)
  422.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  423.                 EndWait
  424.                 Debug-Output "Registry error: adding Srv service"
  425.                 goto fatalregistry
  426.             endif
  427.         endif
  428.     endif
  429.     EndWait
  430.     goto successful
  431. bindingadapter =+
  432.     set Error = "Binding: Sorry, not yet implemented."
  433.     goto fatal
  434. removeadapter = +
  435.     ifcontains(i) $(ProductSRVName) in $(OEM_ABANDON_OPTIONS)
  436.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  437.            $(ProductSRVName)
  438.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  439.            Debug-Output "ShellCode error"
  440.            goto ShellCodeError
  441.         endif
  442.         set RegistryErrorIndex = $($R0)
  443.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  444.            goto fatalregistry
  445.         endif
  446.     endif
  447.     ForListDo  {$(ProductXACTSRVName), $(ProductSRVSRVName)}
  448.         ifcontains(i) $($) in $(OEM_ABANDON_OPTIONS)
  449.            Shell $(UtilityInf), RemoveService, $($), "YES"
  450.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  451.                Debug-Output "ShellCode error"
  452.                goto ShellCodeError
  453.            endif
  454.            set RegistryErrorIndex = $($R0)
  455.            Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  456.                goto fatalregistry
  457.            endif
  458.         endif
  459.     EndForListDo
  460.     goto end
  461. UpgradeSoftware = +
  462.     ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  463.         OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  464.         Ifstr $(KeyProduct) != $(KeyNull)
  465.             GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
  466.             set Version = *($(VersionInfo), 4)
  467.             Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
  468.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  469.                 Debug-Output "ShellCode error"
  470.                 goto ShellCodeError
  471.             endif
  472.             set !UG_Filename = $($R0)
  473.             ifstr(i) $(!UG_Filename) != ""
  474.                 install "Install-Update"
  475.                 ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  476.                     goto fatal
  477.                 endif
  478.             endif
  479.             SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  480.             SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  481.             ifint $(Version) != $(ProductVersion)
  482.             endif
  483.             CloseRegKey $(KeyProduct)
  484.         else
  485.             goto fatalregistry
  486.         endif
  487.     endif
  488.     goto end
  489. successful = +
  490.     goto end
  491. warning = +
  492.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  493.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  494.         goto ShellCodeError
  495.     endif
  496.     ifstr(i) $($R1) == "OK"
  497.         goto $(to)
  498.     else-ifstr(i) $($R1) == "CANCEL"
  499.         goto $(from)
  500.     else
  501.         goto "end"
  502.     endif
  503. nonfatal = +
  504.     ifstr(i) $(Error) == ""
  505.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  506.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  507.             goto ShellCodeError
  508.         endif
  509.         set Error = $($R0)
  510.     endif
  511.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", $(Error)
  512.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  513.         goto ShellCodeError
  514.     endif
  515.     ifstr(i) $($R1) == "OK"
  516.         goto $(from)
  517.     else
  518.         goto "end"
  519.     endif
  520. fatalregistry = +
  521.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  522.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  523.         goto ShellCodeError
  524.     endif
  525.     set Error = $($R0)
  526.     goto fatal
  527. fatal = +
  528.     ifstr(i) $(Error) == ""
  529.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  530.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  531.             goto ShellCodeError
  532.         endif
  533.         set Error = $($R0)
  534.     endif
  535.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  536.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  537.         goto ShellCodeError
  538.     endif
  539.     goto setfailed
  540. ShellCodeError = +
  541.     set DlgType      = "MessageBox"
  542.     set STF_MB_TITLE = $(ShellCodeErrorTitle)
  543.     set STF_MB_TEXT  = $(ShellCodeErrorText) 
  544.     set STF_MB_TYPE  = 1
  545.     set STF_MB_ICON  = 3
  546.     set STF_MB_DEF   = 1
  547.     ui start "Error Message"
  548.     goto setfailed
  549. setfailed = +
  550.     set CommonStatus = STATUS_FAILED
  551.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  552.         set OEM_ABANDON_ON = FALSE
  553.         goto removeadapter
  554.     endif
  555.     goto end
  556. end = +
  557.     goto term
  558. term = +
  559.     Return $(CommonStatus)
  560. [Install-Option]
  561.     set STF_VITAL = ""
  562.     ifstr(i) $(AddCopy) == "YES"
  563.         AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  564.     endif
  565.     ifstr(i) $(DoCopy) == "YES"
  566.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  567.        CopyFilesInCopyList
  568.     endif
  569.     ifstr(i) $(DoConfig) == "YES"
  570.     endif
  571.     Exit
  572. [Install-Update]
  573.    set STF_VITAL        = ""
  574.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  575.    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  576.    AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  577.    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  578.    CopyFilesInCopyList
  579.    exit
  580. [Source Media Descriptions]
  581.     1    = "Windows NT Advanced Server Setup Disk #1"   , TAGFILE = disk1
  582.     2    = "Windows NT Advanced Server Setup Disk #2"   , TAGFILE = disk2
  583.     3    = "Windows NT Advanced Server Setup Disk #3"   , TAGFILE = disk3
  584.     4    = "Windows NT Advanced Server Setup Disk #4"   , TAGFILE = disk4
  585.     5    = "Windows NT Advanced Server Setup Disk #5"   , TAGFILE = disk5
  586.     6    = "Windows NT Advanced Server Setup Disk #6"   , TAGFILE = disk6
  587.     7    = "Windows NT Advanced Server Setup Disk #7"   , TAGFILE = disk7
  588.     8    = "Windows NT Advanced Server Setup Disk #8"   , TAGFILE = disk8
  589.     9    = "Windows NT Advanced Server Setup Disk #9"   , TAGFILE = disk9
  590.     10    = "Windows NT Advanced Server Setup Disk #10"  , TAGFILE = disk10
  591.     11    = "Windows NT Advanced Server Setup Disk #11"  , TAGFILE = disk11
  592.     12    = "Windows NT Advanced Server Setup Disk #12"  , TAGFILE = disk12
  593.     13    = "Windows NT Advanced Server Setup Disk #13"  , TAGFILE = disk13
  594.     14    = "Windows NT Advanced Server Setup Disk #14"  , TAGFILE = disk14
  595.     15    = "Windows NT Advanced Server Setup Disk #15"  , TAGFILE = disk15
  596.     16    = "Windows NT Advanced Server Setup Disk #16"  , TAGFILE = disk16
  597.     17    = "Windows NT Advanced Server Setup Disk #17"  , TAGFILE = disk17
  598.     18    = "Windows NT Advanced Server Setup Disk #18"  , TAGFILE = disk18
  599.     19    = "Windows NT Advanced Server Setup Disk #19"  , TAGFILE = disk19
  600.     20    = "Windows NT Advanced Server Setup Disk #20"  , TAGFILE = disk20
  601.     21    = "Windows NT Advanced Server Setup Disk #21"  , TAGFILE = disk21
  602.     22    = "Windows NT Advanced Server Setup Disk #22"  , TAGFILE = disk22
  603.     23    = "Windows NT Advanced Server Setup Disk #23"  , TAGFILE = disk23
  604.     24    = "Windows NT Advanced Server Setup Disk #24"  , TAGFILE = disk24
  605.     25    = "Windows NT Advanced Server Setup Disk #25"  , TAGFILE = disk25
  606.     26    = "Windows NT Advanced Server Setup Disk #26"  , TAGFILE = disk26
  607.     27    = "Windows NT Advanced Server Setup Disk #27"  , TAGFILE = disk27
  608.     28    = "Windows NT Advanced Server Setup Disk #28"  , TAGFILE = disk28
  609.     29    = "Windows NT Advanced Server Setup Disk #29"  , TAGFILE = disk29
  610. [ProductType]
  611. STF_PRODUCT  = LanmanNT
  612. STF_PLATFORM = I386
  613. [Files-Inf]
  614. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  615. [Files-SRV]
  616. 17,SRV.SYS , SIZE=192000
  617. [LanguagesSupported]
  618.     ENG
  619. [OptionsTextENG]
  620.     SRV         = "Server"
  621. [FileConstantsENG]
  622. ProCaption   = "Windows NT Setup"
  623. ProCancel    = "Cancel"
  624. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  625.                "Are you sure you want to cancel copying files?"
  626. ProCancelCap = "Network Setup Message"
  627. ProText1     = "Copying:"
  628. ProText2     = "To:"
  629. FunctionTitle   = "Server"
  630. ProductSRVDescription           = "Microsoft Windows Server Service"
  631. ProductXACTSRVDescription       = "Microsoft LAN Manager Translator Service"
  632. ProductSRVDisplayName   = "Server"
  633. ProductSRVTitle         = "Server"
  634. ProductXACTDisplayName  = "XactSrv"
  635. ProductSRVSRVDisplayName       = "Srv"
  636. ShellCodeErrorTitle     = "Error: "$(FunctionTitle)
  637. ShellCodeErrorText      = "Shell Code Error."
  638. [DialogConstantsENG]
  639. Help        = "&Help"
  640. Exit        = "Cancel"
  641. OK          = "OK"
  642. HelpContext = ""
  643. Continue    = "Continue"
  644. Cancel      = "Cancel"
  645. [FileDependentDlgENG]
  646. GroupLabel = "Optimization:"
  647. Radio1 = "&Minimize Memory Used"
  648. Radio2 = "&Balance"
  649. Radio3 = "M&aximize Throughput for File Sharing"
  650. Radio4 = "Ma&ximize Throughput for Network Applications"
  651. CheckBox1 = "Ma&ke Browser Broadcasts to LAN Manager 2.x Clients"
  652. DlgType = "RadioCombination"               
  653. DlgTemplate = "LMSERVER"       
  654. Caption = $(FunctionTitle)
  655. EditTextIn = ""
  656. EditTextLim = ""
  657. CBOptionsGreyed = {}
  658. ComboListItemsOut = {}
  659. OptionsGreyed = {}
  660. HelpContext = $(!IDH_DB_OEMNSVSV_INS)
  661.  
  662.  
  663.  
  664.