home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0430 - 0439 / ibm0430-0439 / ibm0438.tar / ibm0438 / SQL42102.ZIP / SQL421A.002 / SQL / ALPHA / SETUP.INF < prev    next >
Encoding:
INI File  |  1994-07-14  |  316.1 KB  |  7,402 lines

  1.  
  2. [Shell Commands]
  3.         set-title "SQL Server Setup"
  4.         set-subst LF = "\n"
  5.         set Exit_Code = $(!SETUP_ERROR_GENERAL)
  6.  
  7.         install LoadSetupLibrary
  8.  
  9.         StartWait
  10.         read-syms GeneralConstants
  11.         read-syms LanguageVar
  12.         detect    LanguageVar
  13.  
  14.         ifstr(i) $(Debug) == "ON"
  15.           LibraryProcedure Result, $(!DLLSQL), Debugger "15"
  16.         endif
  17.  
  18. checksrcdir =+
  19.         read-syms UiVars
  20.         detect    UiVars
  21.  
  22.         EndWait
  23.         read-syms InternationalSetup
  24.         read-syms SetupInit$(!STF_LANGUAGE)
  25.         LibraryProcedure !ComputerName, $(!DLLSQL), GetMachineName
  26.     LibraryProcedure !SQLSetupModule, $(!DLLSQL), SQLDLLInit $(STF_HWND)
  27.     LibraryProcedure !SetupFileVersion, $(!DLLSQL), GetProductFileVersion $(!SQLSetupModule)
  28.         set !OldDSQuery = ""
  29.         set !ClientModKey = ""
  30.         LibraryProcedure ClientKey, $(!DLLSQL), RegOpen "\\"$(!ComputerName),$(!RegSQLClient)"\"$(!RegSQLConnectTo)
  31.         ifstr(i) $(ClientKey) != "KEY_ERROR"
  32.           LibraryProcedure !OldDSQuery, $(!DLLSQL), RegRead $(ClientKey),$(!RegValDSQUERY)
  33.           ifstr(i) $(!OldDSQuery) == "KEY_ERROR"
  34.             set !OldDSQuery = ""
  35.           else
  36.             LibraryProcedure Result, $(!DLLSQL), RegClose $(ClientKey)
  37.             set ClientKey = ""
  38.             LibraryProcedure !ClientModKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLClient),$(!RegSQLConnectTo),""
  39.             ifstr(i) $(ClientModKey) == "KEY_ERROR"
  40.               set !ClientModKey = ""
  41.             else
  42.               LibraryProcedure Result, $(!DLLSQL), RegSet $(!ClientModKey),$(!RegValDSQUERY),$(!RegTypeString),$(!ClientLibPipes),""
  43.             endif
  44.           endif
  45.           ifstr(i) $(ClientKey) != ""
  46.             LibraryProcedure Result, $(!DLLSQL), RegClose $(ClientKey)
  47.           endif
  48.         endif
  49.         shell "" DoNetDefaults
  50.  
  51.     read-syms FailedUserSetupQuit$(!STF_LANGUAGE)
  52.         shell "" DoWelcome
  53.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  54.           goto setupnotdone
  55.         endif
  56.  
  57.         ifstr(i) $(OSVersionCheck) != "OFF"
  58.           shell "" DoCheckOS
  59.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  60.             goto setupnotdone
  61.           endif
  62.         endif
  63.  
  64.     shell "" DoSetLocalSetup
  65.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  66.       goto setupnotdone
  67.     endif
  68.         set !AllowExit = "YES"
  69.         set !OldRemoteComputer = $(!RemoteComputer)
  70.  
  71.         shell "" DoCheckServerKeyAccess
  72.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  73.       goto setupnotdone
  74.     endif
  75.  
  76.     ifstr(i) $(!RegistryRebuild) != ""
  77.       shell "" StopService $(!SQLMonitorService)
  78.           shell "" StopService $(!SQLServerService)
  79.        shell "" DoLicense
  80.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  81.             goto setupnotdone
  82.           endif
  83.       shell "" DoNewInstall
  84.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  85.             goto setupnotdone
  86.           else
  87.             read-syms InstalledTag$(!STF_LANGUAGE)
  88.             goto installdone
  89.           endif
  90.     endif
  91.  
  92. poseSetupType =+
  93.           shell "" DoSetupType
  94.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  95.             goto setupnotdone
  96.           endif
  97.           ifstr(i) $(!InstallType) != "3"
  98.             shell "" DoAdminCheck
  99.             ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  100.               goto setupnotdone
  101.             endif
  102.           endif
  103.           ifstr(i) $(!InstallType) == "1"
  104.             shell "" DoNewInstall
  105.             ifstr(i) $($R0) == "STATUS_BACK"
  106.               goto poseSetupType
  107.             else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  108.               goto setupnotdone
  109.             else
  110.               read-syms InstalledTag$(!STF_LANGUAGE)
  111.               goto installdone
  112.             endif
  113.           else-ifstr(i) $(!InstallType) == "2"
  114.               shell "" DoUpgrade
  115.             ifstr(i) $($R0) == "STATUS_BACK"
  116.               goto poseSetupType
  117.             else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  118.               goto setupnotdone
  119.             else
  120.               read-syms UpgradedTag$(!STF_LANGUAGE)
  121.               goto installdone
  122.             endif
  123.           else-ifstr(i) $(!InstallType) == "3"
  124.             shell "" DoInstallUtils
  125.             ifstr(i) $($R0) == "STATUS_BACK"
  126.               goto poseSetupType
  127.             else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  128.               goto setupnotdone
  129.             else
  130.               read-syms UtilInstallTag$(!STF_LANGUAGE)
  131.               goto installdone
  132.             endif
  133.           else-ifstr(i) $(!InstallType) == "4"
  134.             shell "" DoNetInstall
  135.             ifstr(i) $($R0) == "STATUS_BACK"
  136.               goto poseSetupType
  137.             else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  138.               goto setupnotdone
  139.             else
  140.               read-syms STR_CompletionNetworks
  141.             endif
  142.           else-ifstr(i) $(!InstallType) == "5"
  143.             shell "" DoInstallLang
  144.             ifstr(i) $($R0) == "STATUS_BACK"
  145.               goto poseSetupType
  146.             else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  147.               goto setupnotdone
  148.             else
  149.               read-syms CompletionLangInst$(!STF_LANGUAGE)
  150.             endif
  151.           else-ifstr(i) $(!InstallType) == "6"
  152.             read-syms RebuildError$(!STF_LANGUAGE)
  153.           shell "" DoRebuildDatabase
  154.             ifstr(i) $($R0) == "STATUS_BACK"
  155.               goto poseSetupType
  156.             else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  157.               goto setupnotdone
  158.             else
  159.               read-syms CompletionNewCharSort$(!STF_LANGUAGE)
  160.             endif
  161.           else-ifstr(i) $(!InstallType) == "7"
  162.             shell "" DoServerOptions
  163.             ifstr(i) $($R0) == "STATUS_BACK"
  164.               goto poseSetupType
  165.             else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  166.               goto setupnotdone
  167.             else
  168.               read-syms CompletionOptions$(!STF_LANGUAGE)
  169.             endif
  170.           else-ifstr(i) $(!InstallType) == "8"
  171.             shell "" DoGetSecurityOptions
  172.             ifstr(i) $($R0) == "STATUS_BACK"
  173.               goto poseSetupType
  174.             else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  175.               goto setupnotdone
  176.             else
  177.               read-syms STR_CompletionSecurity
  178.             endif
  179.           else-ifstr(i) $(!InstallType) == "9"
  180.             shell "" DoNuke
  181.             ifstr(i) $($R0) == "STATUS_BACK"
  182.               goto poseSetupType
  183.             else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  184.               goto setupnotdone
  185.             else
  186.               ifstr(i) $(!RemoteComputer) == ""
  187.                 read-syms CompletionNuked$(!STF_LANGUAGE)
  188.               else
  189.                 read-syms CompletionNukedRemote$(!STF_LANGUAGE)
  190.               endif
  191.             endif
  192.           endif
  193.  
  194. setupdone =+
  195.         set Exit_Code = $(!SETUP_ERROR_SUCCESS)
  196. setupnotdone =+
  197.         ifstr(i) $(!NonCriticalScriptFailure) == ""
  198.           set !AddlText = ""
  199.         else
  200.           read-syms STR_NonCriticalScriptFail
  201.         endif
  202.         read-syms SetupDoneDlg$(!STF_LANGUAGE)
  203.         LibraryProcedure DlgDone, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"",""
  204. setnotdone_wait =+
  205.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  206.         ifstr(i) $(DLGEVENT) != "DLGBUTTON1"
  207.           goto setnotdone_wait
  208.         endif
  209.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgDone)
  210.         goto end
  211.  
  212. installdone =+
  213.         set Exit_Code = $(!SETUP_ERROR_SUCCESS)
  214.         ifstr(i) $(!RemoteComputer) == ""
  215.           read-syms InstallCompletedLocal$(!STF_LANGUAGE)
  216.         else
  217.           read-syms InstallCompletedRemote$(!STF_LANGUAGE)
  218.         endif
  219.         ifstr(i) $(!NonCriticalScriptFailure) == ""
  220.           set !AddlText = ""
  221.         else
  222.           read-syms STR_NonCriticalScriptFail
  223.         endif
  224.         read-syms InstallCompleted$(!STF_LANGUAGE)
  225.         LibraryProcedure DlgDone, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"",""
  226. installdone_wait =+
  227.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  228.         ifstr(i) $(DLGEVENT) == "DLGBUTTON1"
  229.           LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgDone)
  230.           goto end
  231.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON2"
  232.           LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgDone)
  233.           goto rebootend
  234.         else
  235.           goto installdone_wait
  236.         endif
  237.  
  238. rebootend =+
  239.         install Install-Shutdown
  240.  
  241. end =+
  242.         ifstr(i) $(!RemoteSQLDrive) != ""
  243.           LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "DISCONNECT","","",$(!RemoteSQLDrive)
  244.         endif
  245.         ifstr(i) $(!RemoteNTDrive) != ""
  246.           LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "DISCONNECT","","",$(!RemoteNTDrive)
  247.         endif
  248.         ifstr(i) $(!RemoteDBDrive) != ""
  249.           LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "DISCONNECT","","",$(!RemoteDBDrive)
  250.         endif
  251.         LibraryProcedure Result, $(!DLLSQL), DeleteSecurityAttribute $(!AdminACL)
  252.  
  253.         ifstr(i) $(!ClientModKey) != ""
  254.           ifstr(i) $(!OldDSQuery) != ""
  255.             LibraryProcedure Result, $(!DLLSQL), RegSet $(!ClientModKey),$(!RegValDSQUERY),$(!RegTypeString),$(!OldDSQuery),""
  256.           endif
  257.           LibraryProcedure Result, $(!DLLSQL), RegClose $(!ClientModKey)
  258.         endif
  259.         LibraryProcedure Result, $(!DLLSQL), SQLDLLFinish
  260.         install FreeSetupLibrary
  261.         exit
  262.  
  263.  
  264. [QueryUserQuit]
  265.         set Status     = STATUS_FAILED
  266.         set UserAction = CANCEL
  267.         read-syms ExitWarningDlg$(!STF_LANGUAGE)
  268.         ui start "ExitWarning"
  269.         ifstr(i) $(DLGEVENT) == "YES"
  270.           set Status     = STATUS_SUCCESSFUL
  271.           set UserAction = "OK"
  272.           read-syms FailedUserQuit$(!STF_LANGUAGE)
  273.           set !MsgText = $(!AddlText)
  274.         else-ifstr(i) $(DLGEVENT) == "NO"
  275.           set Status     = STATUS_SUCCESSFUL
  276.           set UserAction = "CANCEL"
  277.         endif
  278.         Return $(Status) $(UserAction)
  279.  
  280.  
  281. [DoAdminCheck]
  282.         set Status = STATUS_FAILED
  283.     LibraryProcedure Result, $(!DLLSQL), IsAdmin
  284.         ifstr(i) $(Result) == "ACCESS_DENIED"
  285.           read-syms InsufficientPriv
  286.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  287.           goto admin_end
  288.         endif
  289.         ifstr(i) $(!StandAlone) == ""
  290.           shell "" StartService $(!LANManService)
  291.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  292.             goto admin_end
  293.           endif
  294.         endif
  295.         set Status = STATUS_SUCCESSFUL
  296. admin_end =+
  297.     Return $(Status)
  298.  
  299.  
  300. [DoCheckOS]
  301.         set Status = STATUS_FAILED
  302.     LibraryProcedure Result, $(!DLLSQL), VerifyNTVersion $(!MinOSVersion)
  303.     ifstr(i) $(Result) == ""
  304.       set Status = STATUS_SUCCESSFUL
  305.     else
  306.       read-syms STR_InferiorOS
  307.       set !MsgText = $(!AddlText)
  308.     endif
  309.     Return $(Status)
  310.  
  311.  
  312. [DoCheckServerKeyAccess]
  313.     set Status = STATUS_FAILED
  314.     LibraryProcedure Result, $(!DLLSQL), IsAdmin
  315.         ifstr(i) $(Result) != "ACCESS_DENIED"
  316.           LibraryProcedure NewSvrKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServer),"",""
  317.           ifstr(i) $(NewSvrKey) != "KEY_ERROR"
  318.         LibraryProcedure TmpKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServerServer),"",$(!AdminACL)
  319.         ifstr(i) $(TmpKey) != "KEY_ERROR"
  320.           LibraryProcedure Result, $(!DLLSQL), RegClose $(TmpKey)
  321.           set Status = STATUS_SUCCESSFUL
  322.         else
  323.           read-syms STR_InvalidSystemAdmin
  324.           set !MsgText = $(!AddlText)
  325.         endif
  326.         LibraryProcedure Result, $(!DLLSQL), RegClose $(NewSvrKey)
  327.       else
  328.         read-syms STR_InvalidSystemAdmin
  329.         set !MsgText = $(!AddlText)
  330.       endif
  331.     else
  332.       set Status = STATUS_SUCCESSFUL
  333.     endif
  334.     Return $(Status)
  335.  
  336.  
  337. [DoWelcome]
  338.         set Status = STATUS_FAILED
  339.         read-syms WelcomeDlg$(!STF_LANGUAGE)
  340.         LibraryProcedure DlgWelcome, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  341. welcome = +
  342.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  343.         ifstr(i) $(DLGEVENT) == "CONTINUE"
  344.           set Status = STATUS_SUCCESSFUL
  345.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  346.           shell "" QueryUserQuit $(!STF_LANGUAGE)
  347.           ifstr(i) $($R1) == "OK"
  348.             set Status = STATUS_USERQUIT
  349.           else
  350.             goto welcome
  351.           endif
  352.         endif
  353.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgWelcome)
  354.         Return $(Status)
  355.  
  356.  
  357. [DoAlreadyInstalled]
  358.         set Status = STATUS_FAILED
  359.         read-syms AlreadyInstalledDlg$(!STF_LANGUAGE)
  360.         LibraryProcedure DlgAlready, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"",""
  361. already =+
  362.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  363.         ifstr(i) $(DLGEVENT) == "CONTINUE"
  364.           set Status = STATUS_SUCCESSFUL
  365.         else-ifstr(i) $(DLGEVENT) == "CALLCOMBOKILLFOCUS1"
  366.           goto already
  367.         endif
  368.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgAlready)
  369.         Return $(Status)
  370.  
  371.  
  372. [GetPreviousInstallationInfo]
  373.     set !Owner = ""
  374.     set !Organiz = ""
  375.     set !MasterDBFileName = ""
  376.     set !Registration = ""
  377.     set !IntegratedSecurity = ""
  378.     set !MultipleNetworkSupport = ""
  379.     LibraryProcedure Key, $(!DLLSQL), RegOpen "\\"$(!ComputerName),$(!RegSQLServerServer)"\"$(!RegSQLServerVer)
  380.     ifstr(i) $(Key) != "KEY_ERROR"
  381.       LibraryProcedure !Owner, $(!DLLSQL), RegRead $(Key),$(!RegValRegOwner)
  382.       LibraryProcedure !Organiz, $(!DLLSQL), RegRead $(Key),$(!RegValRegOrg)
  383.       ifstr(i) $(!Organiz) == "KEY_ERROR"
  384.         set !Owner = ""
  385.         goto prevDisplay
  386.       endif
  387.  
  388.       set !FullName = $(!Owner)
  389.       set !OrgName = $(!Organiz)
  390.       set !Registration = $(!Owner)" - "$(!Organiz)
  391.           LibraryProcedure Result, $(!DLLSQL), RegClose $(Key)
  392.  
  393.           shell "" RegGetSecuritySupport
  394.           ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  395.             ifstr(i) $($R1) == "2"
  396.               set !IntegratedSecurity = "TRUE"
  397.             endif
  398.           endif
  399.  
  400.           LibraryProcedure OpenServerKey, $(!DLLSQL), RegOpen "\\"$(!ComputerName),$(!RegSQLServer)"\"$(!RegSQLServerSvr)
  401.       ifstr(i) $(OpenServerKey) != "KEY_ERROR"
  402.         LibraryProcedure ListenOn, $(!DLLSQL), RegRead $(OpenServerKey),$(!RegValListenOn)
  403.         ifstr(i) $(ListenOn) != "KEY_ERROR"
  404.           QueryListSize NumArgs $(ListenOn)
  405.           ifint $(NumArgs) > "1"
  406.             set !MultipleNetworkSupport = "TRUE"
  407.           endif
  408.         endif
  409.         LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenServerKey)
  410.       endif
  411.  
  412.           LibraryProcedure Key, $(!DLLSQL), RegOpen "\\"$(!ComputerName),$(!RegSQLSetup)
  413.           ifstr(i) $(Key) != "KEY_ERROR"
  414.             LibraryProcedure !SQLPath, $(!DLLSQL), RegRead $(Key),$(!RegValSQLPath)
  415.             LibraryProcedure Result, $(!DLLSQL), RegClose $(Key)
  416.           endif
  417.  
  418.           shell "" DoExtractMasterAndErrorlog "\\"$(!ComputerName)
  419.           set !MasterDBPath = $($R2)
  420.           set !MasterDBFileName = $($R4)
  421.           set !DefMasterPath = $(!MasterDBPath)
  422.           set !DefMasterDB = $(!MasterDBFileName)
  423.  
  424.           ifstr(i) $(!RemoteSQLDrive) != ""
  425.             LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(!SQLPath),"AFTER",":"
  426.         set !SQLPath = $(!RemoteSQLDrive)$(Temp)
  427.       else
  428.         LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $(!SQLPath),"BEFORE","\"
  429.             set !LogicalSQLDrive = $(Before)
  430.       endif
  431.       ifstr(i) $(!RemoteDBDrive) != ""
  432.         LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(!MasterDBPath),"AFTER",":"
  433.         set !MasterDBPath = $(!RemoteDBDrive)$(Temp)
  434.       else
  435.         LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $(!MasterDBPath),"BEFORE","\"
  436.             set !LogicalDBDrive = $(Before)
  437.       endif
  438.           set !DefSQLPath = $(!SQLPath)
  439.     endif
  440.  
  441. prevDisplay =+
  442.         ifstr(i) $(!RegistryRebuild) == ""
  443.       ifstr(i) $(!Owner) == ""
  444.           shell "" DoLicense
  445.             ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  446.               goto end_getprevii
  447.             endif
  448.           else
  449.             shell "" DoAlreadyInstalled
  450.             ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  451.               read-syms FailedUserSetupQuit$(!STF_LANGUAGE)
  452.               goto end_getprevii
  453.             endif
  454.           endif
  455.         endif
  456.         LibraryProcedure Result, $(!DLLSQL), DeleteSecurityAttribute $(!AdminACL)
  457.         LibraryProcedure !AdminACL, $(!DLLSQL), CreateSecurityAttribute "\\"$(!ComputerName),$(!AdministratorsGroup),"GENERIC_ALL","BUILTIN"
  458.         ifstr(i) $(!AdminACL) == "CANNOT_CREATE_ACL"
  459.           set !AdminACL = ""
  460.         endif
  461.     set Status = STATUS_SUCCESSFUL
  462. end_getprevii =+
  463.     Return $(Status)
  464.  
  465.  
  466. [DoNewInstall]
  467.     set Status = STATUS_FAILED
  468.     StartWait
  469.     read-syms InstallError$(!STF_LANGUAGE)
  470.         ifint $(!LogicalSystemMemory) < $(!MinSystemMemory)
  471.           read-syms InsufficientMem$(!STF_LANGUAGE)
  472.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  473.           goto end_new_inst
  474.         endif
  475.  
  476.         LibraryProcedure CNChk, $(!DLLSQL), StrBeforeAndAfter $(!ComputerName),"LASTBEFORE"," "
  477.         ifstr(i) $(CNChk) != ""
  478.           read-syms STR_SpacedComputerName
  479.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  480.           goto end_new_inst
  481.         endif
  482.  
  483.         ifstr(i) $(!GrownPageFile) == ""
  484.           LibraryProcedure Result, $(!DLLSQL), GrowPageFile "10000000"
  485.           set !GrownPageFile = "1"
  486.         endif
  487.  
  488.         ifstr(i) $(!RegistryRebuild) == ""
  489.           shell "" StopService $(!SQLMonitorService)
  490.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  491.             goto end_new_inst
  492.           endif
  493.           shell "" StopService $(!SQLServerService)
  494.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  495.             goto end_new_inst
  496.           endif
  497.  
  498.           StartWait
  499.           set GetCost = "TRUE"
  500.           install InstallBaseInstallFiles
  501.           set GetCost = ""
  502.           LibraryProcedure InstallationReqSpace, $(!DLLSQL), CheckStringFormat "FMT_SPACE","KILO",$(SpaceCost)
  503.  
  504.           set !AddlScripts = $(!DefScriptList)
  505.           set !NetSelList     = {}
  506.           set !CheckInstList = $(!CheckInstDefList)
  507.           set !CheckInstRetList = $(!CheckInstDefRetList)
  508.           set !CheckInstList = >( $(!CheckInstList), $(!SQLPubs))
  509.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!Pubs))
  510.           set !CheckInstList = >( $(!CheckInstList), $(!SQLAdmin1))
  511.           set !CheckInstList = >( $(!CheckInstList), $(!SQLAdmin2))
  512.           set !CheckInstList = >( $(!CheckInstList), $(!SQLObject1))
  513.           set !CheckInstList = >( $(!CheckInstList), $(!SQLObject2))
  514.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpAdminChk1))
  515.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpAdminChk2))
  516.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpObjectChk1))
  517.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpObjectChk2))
  518.           set !CheckInstList = >( $(!CheckInstList), $(!SQLHelpSQL))
  519.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!RetHelpSQL))
  520.  
  521.           set !SortOrderSelList = $(!Sort850SelList)
  522.           set !TheCharSet    = *( $(!CharSetSelList), 2 )
  523.           set !TheSortFile = *( $(!SortOrderSelList), 2 )
  524.           set !TheSortConfigValue = *( $(!SortOrderSelList), 3 )
  525.         endif
  526.         set !ServerNMPipeName = $(!SvrPipe)
  527.         shell "" DoNetDefaults
  528.         EndWait
  529.  
  530. backToSQLPath =+
  531.         shell "" DoGetSpaceSQLPath GetSpaceSQLPathDlg$(!STF_LANGUAGE),$(InstallationReqSpace),$(SpaceCost),"1","SPACE","",$(!LogicalSQLDrive)
  532.         ifstr(i) $($R0) == "STATUS_BACK"
  533.           set Status = STATUS_BACK
  534.           goto end_new_inst
  535.         else-ifstr(i) $($R0) == "STATUS_USERQUIT"
  536.           set Status = "STATUS_USERQUIT"
  537.           goto end_new_inst
  538.         else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  539.           goto end_new_inst
  540.         endif
  541.         set !SQLPath = $($R1)$($R2)
  542.         set !DefSQLPath = $(!SQLPath)
  543.     set !CreateSQLPath = $(!SQLPath)
  544.     ifstr(i) $(!RemoteComputer) == ""
  545.       set !LogicalSQLDrive = $($R1)
  546.       set !LogicalDBDrive = $(!LogicalSQLDrive)
  547.     endif
  548.     set !DefMasterPath = $(!SQLPath)"\"$(!DataDir)"\"$(!DefMasterDB)
  549.  
  550. backToMasterPath =+
  551.         shell "" DoGetSpaceMasterPath GetSpaceMasterPathDlg,$(InstallationReqSpace),$(SpaceCost),"3","SPACE","",$(!LogicalDBDrive)
  552.         ifstr(i) $($R0) == "STATUS_BACK"
  553.           goto backToSQLPath
  554.         else-ifstr(i) $($R0) == "STATUS_USERQUIT"
  555.           set Status = "STATUS_USERQUIT"
  556.           goto end_new_inst
  557.         else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  558.           goto end_new_inst
  559.         endif
  560.  
  561. backToNewOpts =+
  562.         shell "" DoNewOptions
  563.         ifstr(i) $($R0) == "STATUS_BACK"
  564.           goto backToMasterPath
  565.         else-ifstr(i) $($R0) == "STATUS_USERQUIT"
  566.           set Status = "STATUS_USERQUIT"
  567.           goto end_new_inst
  568.         else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  569.           goto end_new_inst
  570.         endif
  571.  
  572.         shell "" DoNetLibPrompts $(!NetLibList)
  573.         ifstr(i) $($R0) == "STATUS_BACK"
  574.           goto backToNewOpts
  575.         else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  576.           goto end_new_inst
  577.         endif
  578.         set NewNetLibs = $($R1)
  579.         set NewNetAddrs = $($R2)
  580.  
  581.         ifstr(i) $(!RegistryRebuild) == ""
  582.           read-syms MailManDlg$(!STF_LANGUAGE)
  583.           LibraryProcedure DlgMailMan, $(!DLLSQL), BillBoard $(STF_HWND),$(DlgTemplate),$(!SQLDlgNames)
  584.  
  585.           read-syms ProgressCopyVars
  586.             install InstallBaseInstallFiles
  587.             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  588.               LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgMailMan)
  589.               read-syms FileCouldNotBeCopied$(!STF_LANGUAGE)
  590.             LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  591.             goto end_new_inst
  592.           endif
  593.           LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgMailMan)
  594.  
  595.           ifstr(i) $(!RemoteComputer) == ""
  596.             read-syms DLG_BillboardSearchRename
  597.             LibraryProcedure DlgMailMan, $(!DLLSQL), BillBoard $(STF_HWND),$(DlgTemplate),$(!SQLDlgNames)
  598.             LibraryProcedure Result, $(!DLLSQL), Sleepy "2"
  599.             ForListDo $(!ClientDLLList)
  600.               LibraryProcedure Result, $(!DLLSQL), FindAndRenameVersionFile $(!SQLPath)"\"$(!DLLs)"\"$($)
  601.               ifstr(i) $(Result) != ""
  602.                 set !OneOffFile = $(Result)
  603.                 LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgMailMan)
  604.                 read-syms STR_DLLRenameError
  605.                 LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  606.                 goto end_new_inst
  607.               endif
  608.             EndForListDo
  609.             LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgMailMan)
  610.           endif
  611.         endif
  612.  
  613.         ifstr(i) $(!RegistryRebuild) == ""
  614.           shell "" DoReBuild "TRUE"
  615.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  616.             goto end_new_inst
  617.           endif
  618.         else
  619.           shell "" RegWriteSerialNumberInfo
  620.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  621.             goto end_new_inst
  622.           endif
  623.           shell "" DoPerfmonNuke "\\"$(!ComputerName)
  624.           shell "" UpdateSCM "TRUE"
  625.         endif
  626.  
  627.     shell "" UpdateRegistry $(NewNetLibs),$(NewNetAddrs),"TRUE"
  628.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  629.           goto end_new_inst
  630.         endif
  631.  
  632.         ifstr(i) $(!RemoteComputer) == ""
  633.           install CreateSQLProgmanItems
  634.         endif
  635.         set Status = STATUS_SUCCESSFUL
  636. end_new_inst = +
  637.  
  638.         StartWait
  639.         ForListDo $(!DelDLLList)
  640.           LibraryProcedure Result, $(!DLLSQL), Delnode "FILE_DELETE",$(!SystemDirectory)"\"$($)
  641.         EndForListDo
  642.         EndWait
  643.         Return $(Status)
  644.  
  645.  
  646.  
  647. [DoInstallUtils]
  648.     set Status = STATUS_FAILED
  649.     set DlgMailMan = ""
  650.     set !UserType = "Admin"
  651.     read-syms UtilInstallError$(!STF_LANGUAGE)
  652.     shell "" DoAdminCheck
  653.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  654.           set !UserType = "User"
  655.         endif
  656.         set !MsgText = ""
  657. backToUtilPath =+
  658.         shell "" DoGetUtilsAndPath
  659.     ifstr(i) $($R0) == "STATUS_BACK"
  660.       set Status = STATUS_BACK
  661.       goto end_inst_utils
  662.     else-ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  663.       set !SQLPath = $($R1)$($R2)
  664.       set !CreateSQLPath = $(!SQLPath)
  665.       ifstr(i) $(!RemoteComputer) == ""
  666.         set !LogicalSQLDrive = $($R1)
  667.       endif
  668.     else
  669.       goto end_inst_utils
  670.         endif
  671.  
  672.         read-syms MailManDlg$(!STF_LANGUAGE)
  673.         LibraryProcedure DlgMailMan, $(!DLLSQL), BillBoard $(STF_HWND),$(DlgTemplate),$(!SQLDlgNames)
  674.  
  675.         ForListDo $(!ClientDLLList)
  676.           LibraryProcedure Result, $(!DLLSQL), FindAndRenameVersionFile $(!SQLPath)"\"$(!DLLs)"\"$($)
  677.         EndForListDo
  678.  
  679.         read-syms ProgressCopyVars
  680.         install InstallUtilFiles
  681.         ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  682.           read-syms FileCouldNotBeCopied$(!STF_LANGUAGE)
  683.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  684.         else
  685.           ifstr(i) $(!UserType) == "Admin"
  686.             shell "" RegWriteSystemPaths "\\"$(!ComputerName),$(!RegSystemPaths),""
  687.             ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  688.               goto end_inst_utils
  689.             endif
  690.           else
  691.             shell "" RegWriteSystemPaths "\\"$(!ComputerName),$(!RegUserPaths),"1"
  692.             ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  693.               goto end_inst_utils
  694.             endif
  695.           endif
  696.           shell "" RegWriteDBLibDefaults "\\"$(!ComputerName)
  697.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  698.             goto end_inst_utils
  699.           endif
  700.           ifstr(i) $(!RemoteComputer) == ""
  701.             install CreateUtilProgmanItems
  702.           endif
  703.           set Status = STATUS_SUCCESSFUL
  704.         endif
  705. end_inst_utils = +
  706.         ifstr(i) $(DlgMailMan) != ""
  707.           LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgMailMan)
  708.         endif
  709.         EndWait
  710.     Return $(Status)
  711.  
  712.  
  713.  
  714. [DoUpgrade]
  715.         set Status = STATUS_FAILED
  716.         set BillyBoard = ""
  717.         set !UpgErrors = ""
  718.         set WasSingleMode = ""
  719.         set Pre42 = "YES"
  720.     shell "" DoNetDefaults
  721.  
  722.     LibraryProcedure OpenServerKey, $(!DLLSQL), RegOpen "\\"$(!ComputerName),$(!RegSQLServer)"\"$(!RegSQLServerSvr)
  723.     ifstr(i) $(OpenServerKey) != "KEY_ERROR"
  724.       LibraryProcedure !ListenOn, $(!DLLSQL), RegRead $(OpenServerKey),$(!RegValListenOn)
  725.       ForListDo $(!ListenOn)
  726.         LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $($),"BEFORE",","
  727.         ifstr(i) $(Before) == $(!NetLibTCPIP)
  728.           set !NetLibList = >( $(!NetLibList), $(!NetLibTCPIP))
  729.         endif
  730.       EndForListDo
  731.     endif
  732.     LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenServerKey)
  733.  
  734.         set !ServerNMPipeName = $(!SvrPipe)
  735.         read-syms UpgradeError$(!STF_LANGUAGE)
  736.  
  737. backToWarning1 =+
  738.         read-syms UpgradeWarning1$(!STF_LANGUAGE)
  739.         shell "" UpgradeQ
  740.         ifstr(i) $($R0) == "STATUS_BACK"
  741.           set Status = STATUS_BACK
  742.           goto finish_upgrade
  743.         else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  744.           goto finish_upgrade
  745.         endif
  746.  
  747.         LibraryProcedure CNChk, $(!DLLSQL), StrBeforeAndAfter $(!ComputerName),"LASTBEFORE"," "
  748.         ifstr(i) $(CNChk) != ""
  749.           read-syms STR_SpacedComputerName
  750.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  751.           goto finish_upgrade
  752.         endif
  753.  
  754. backToGetSQLPath =+
  755.         shell "" DoGetSpaceSQLPath GetUpgradeSQLPathDlg$(!STF_LANGUAGE),$(InstallationReqSpace),$(SpaceCost),"3","","",$(!LogicalSQLDrive)
  756.         ifstr(i) $($R0) == "STATUS_BACK"
  757.           set Status = STATUS_BACK
  758.           goto backToWarning1
  759.         else-ifstr(i) $($R0) == "STATUS_USERQUIT"
  760.           set Status = "STATUS_USERQUIT"
  761.           goto finish_upgrade
  762.         else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  763.           goto finish_upgrade
  764.         endif
  765.         set !SQLPath = $($R1)$($R2)
  766.         set !DefSQLPath = $(!SQLPath)
  767.     set !CreateSQLPath = $(!SQLPath)
  768.     ifstr(i) $(!RemoteComputer) == ""
  769.       set !LogicalSQLDrive = $($R1)
  770.       ifstr(i) $(!Owner) == ""
  771.         set !LogicalDBDrive = $(!LogicalSQLDrive)
  772.       endif
  773.     endif
  774.  
  775.         ifstr(i) $(!MasterDBFileName) == ""
  776.           set !DefMasterPath = $(!SQLPath)"\"$(!DataDir)"\"$(!MasterDB)
  777.         else
  778.           set !DefMasterPath = $(!MasterDBPath)"\"$(!MasterDBFileName)
  779.         endif
  780. backToGetMaster =+
  781.         shell "" DoGetSpaceSQLPath GetUpgradeSQLMasterPathDlg,$(InstallationReqSpace),$(SpaceCost),"3","","MASTERFORMAT_MUSTEXIST",$(!LogicalDBDrive)
  782.         ifstr(i) $($R0) == "STATUS_BACK"
  783.           set Status = STATUS_BACK
  784.           goto backToGetSQLPath
  785.         else-ifstr(i) $($R0) == "STATUS_USERQUIT"
  786.           set Status = "STATUS_USERQUIT"
  787.           goto finish_upgrade
  788.         else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  789.           goto finish_upgrade
  790.         endif
  791.         set !MasterDBFileName = $($R3)
  792.     set !MasterDBPath = $($R1)$($R2)
  793.     set !DefMasterPath = $(!MasterDBPath)"\"$(!MasterDBFileName)
  794.     ifstr(i) $(!RemoteComputer) == ""
  795.       set !LogicalDBDrive = $($R1)
  796.     endif
  797.  
  798.         ifstr(i) $(!IntegratedSecurity) == ""
  799.           shell "" DoGetSAPassword
  800.           ifstr(i) $($R0) == "STATUS_BACK"
  801.             goto backToGetMaster
  802.           else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  803.             goto finish_upgrade
  804.           endif
  805.         endif
  806.  
  807.         shell "" StopService $(!SQLMonitorService)
  808.         shell "" StopService $(!SQLServerService)
  809.  
  810.         read-syms MailManDlg$(!STF_LANGUAGE)
  811.         LibraryProcedure DlgMailMan, $(!DLLSQL), BillBoard $(STF_HWND),$(DlgTemplate),$(!SQLDlgNames)
  812.  
  813.         read-syms ProgressCopyVars
  814.           install InstallBaseInstallFiles
  815.           ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  816.             LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgMailMan)
  817.             read-syms FileCouldNotBeCopied$(!STF_LANGUAGE)
  818.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  819.           goto finish_upgrade
  820.         endif
  821.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgMailMan)
  822.  
  823.         read-syms DLG_BillboardSearchRename
  824.      LibraryProcedure BillyBoard, $(!DLLSQL), BillBoard $(STF_HWND),$(DlgTemplate),$(!SQLDlgNames)
  825.         LibraryProcedure Result, $(!DLLSQL), Sleepy "2"
  826.  
  827.         ifstr(i) $(!RemoteComputer) == ""
  828.           ForListDo $(!ClientDLLList)
  829.             LibraryProcedure Result, $(!DLLSQL), FindAndRenameVersionFile $(!SQLPath)"\"$(!DLLs)"\"$($)
  830.             ifstr(i) $(Result) != ""
  831.               set !OneOffFile = $(Result)
  832.               read-syms STR_DLLRenameError
  833.               LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  834.               goto finish_upgrade
  835.             endif
  836.           EndForListDo
  837.         endif
  838.  
  839.         read-syms STR_BillboardPrepUpgrade
  840.         LibraryProcedure Result, $(!DLLSQL), UpdateBillboard $(BillyBoard),$(!BillName)
  841.  
  842.         ifstr(i) $(!Registration) == ""
  843.           shell "" UpdateSCM "TRUE"
  844.       ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  845.         read-syms SCMError$(!STF_LANGUAGE)
  846.         LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  847.         LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$($R1)
  848.             goto finish_upgrade
  849.           endif
  850.         else
  851.           shell "" UpdateSCM "FALSE"
  852.         endif
  853.  
  854.         shell "" RegWriteSerialNumberInfo
  855.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  856.           goto finish_upgrade
  857.         endif
  858.  
  859.         shell "" StartService $(!SQLServerService)
  860.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  861.           goto finish_upgrade
  862.         endif
  863.  
  864.         LibraryProcedure Result, $(!DLLSQL), SQLLogin "0","4",$(!ServerName),$(!SALogin),$(!SAPassword)
  865.         ifstr(i) $(Result) == "NO_SERVER"
  866.           read-syms NoLoginToSQLServer$(!STF_LANGUAGE)
  867.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  868.           goto finish_upgrade
  869.         endif
  870.  
  871.      shell "" DoUpgradeChecks
  872.      set DBOperatingSys = $($R2)
  873.      ifstr(i) $($R0) == "STATUS_OKFAILED"
  874.        set Pre42 = "NO"
  875.        goto upgrade_scripts
  876.         else-ifstr(i) $($R0) == "STATUS_FAILED"
  877.           read-syms SQLExecError$(!STF_LANGUAGE)
  878.        LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)$($R1)
  879.           goto finish_upgrade
  880.         endif
  881.  
  882.         ifstr(i) $(!UpgErrors) != ""
  883.           read-syms CannotUpgrade$(!STF_LANGUAGE)
  884.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!UpgErrors)
  885.           goto finish_upgrade
  886.         endif
  887.  
  888.         read-syms UpgradeWarning2$(!STF_LANGUAGE)
  889.         shell "" UpgradeQ
  890.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  891.           goto finish_upgrade
  892.         endif
  893.  
  894.     LibraryProcedure Result, $(!DLLSQL), SQLExecute $(!SQLUpgObjects)
  895.         ifstr(i) $(Result) == "BAD_SQL_EXEC"
  896.           read-syms SQLExecError$(!STF_LANGUAGE)
  897.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)" #U7"$(!LF)
  898.           LibraryProcedure !AddlText, $(!DLLSQL), SQLGetErrorMsg
  899.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  900.           goto finish_upgrade
  901.         endif
  902.  
  903.     LibraryProcedure Result, $(!DLLSQL), SQLExecute $(!SQLUpgConfigMem)
  904.         ifstr(i) $(Result) == "BAD_SQL_EXEC"
  905.           read-syms SQLExecError$(!STF_LANGUAGE)
  906.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)" #U8"$(!LF)
  907.           LibraryProcedure !AddlText, $(!DLLSQL), SQLGetErrorMsg
  908.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  909.           goto finish_upgrade
  910.         endif
  911.  
  912.         LibraryProcedure Result, $(!DLLSQL), SQLLogout
  913.         shell "" StopService $(!SQLServerService)
  914.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  915.           goto finish_upgrade
  916.         endif
  917.  
  918.         set TmpParamList = {}
  919.         LibraryProcedure TmpParamList, $(!DLLSQL), RegEnumKeyValues "\\"$(!ComputerName),$(!RegSQLServerServer)"\"$(!RegSQLSvrParam),"VALUEDATA"
  920.         ifcontains(i) $(!SingleUserMode) in $(TmpParamList)
  921.           set WasSingleMode = "YES"
  922.         else
  923.           set WasSingleMode = "NO"
  924.         endif
  925.  
  926.         ifstr(i) $(WasSingleMode) == "NO"
  927.           QueryListSize NumArgs $(TmpParamList)
  928.           LibraryProcedure !OpenParamKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServerServer),$(!RegSQLSvrParam),""
  929.           LibraryProcedure Result, $(!DLLSQL), RegSet $(!OpenParamKey),$(!RegValParameter)$(NumArgs),$(!RegTypeString),$(!SingleUserMode),""
  930.           LibraryProcedure Result, $(!DLLSQL), RegClose $(!OpenParamKey)
  931.         endif
  932.  
  933.         shell "" StartService $(!SQLServerService)
  934.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  935.           goto finish_upgrade
  936.         endif
  937.  
  938.         read-syms BillboardUpgrading$(!STF_LANGUAGE)
  939.         LibraryProcedure Result, $(!DLLSQL), UpdateBillboard $(BillyBoard),$(!BillName)
  940.  
  941.         StartWait
  942.         ProcessExecute Result,"WAIT",$(!SQLPath)"\"$(!Binaries)"\"$(!Upgrade)" /S"$(!ServerName)" /P"$(!SAPassword)" /L"$(!SQLPath)"\"$(!UpgradeDirPath)" /o"$(!SQLPath)"\"$(!InstallDir)"\"$(!UpgradeOut)
  943.         EndWait
  944.         ifstr(i) $(Result) == "PROCESS_ERROR"
  945.           read-syms UpgradeExecError$(!STF_LANGUAGE)
  946.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  947.           goto finish_upgrade
  948.     else-ifstr(i) $(Result) != "0"
  949.       read-syms ProcessRetError$(!STF_LANGUAGE)
  950.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!Upgrade)" "$(!AddlText)" "$(Result)
  951.       goto finish_upgrade
  952.         endif
  953.  
  954. upgrade_scripts =+
  955.     shell "" RegWriteANSIOEM
  956.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  957.       goto end_upgrade
  958.         endif
  959.     read-syms BillboardUpgrading$(!STF_LANGUAGE)
  960.         LibraryProcedure Result, $(!DLLSQL), UpdateBillboard $(BillyBoard),$(!BillName)
  961.  
  962.         LibraryProcedure Result, $(!DLLSQL), SQLLogout
  963.         shell "" StopService $(!SQLServerService)
  964.  
  965.         ifstr(i) $(DBOperatingSys) == $(!OS2)
  966.           StartWait
  967.           ProcessExecute Result,"WAIT",$(!SQLPath)"\"$(!Binaries)"\"$(!BuildMaster)" /d"$(!MasterDBPath)"\"$(!MasterDBFileName)" /yLRUthreshold=60 /o"$(!SQLPath)"\"$(!InstallDir)"\"$(!BuildMasterOut)
  968.       ifstr(i) $(Result) == "PROCESS_ERROR"
  969.         read-syms ProcessExecError$(!STF_LANGUAGE)
  970.         LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!BuildMaster)" "$(!AddlText)
  971.         goto finish_upgrade
  972.       else-ifstr(i) $(Result) != "0"
  973.         read-syms ProcessRetError$(!STF_LANGUAGE)
  974.         LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!BuildMaster)" "$(!AddlText)" "$(Result)
  975.         goto finish_upgrade
  976.           endif
  977.           EndWait
  978.         endif
  979.  
  980.         shell "" ReIndexServer
  981.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  982.           goto finish_upgrade
  983.         endif
  984.  
  985.         LibraryProcedure Result, $(!DLLSQL), SQLLogin "0","4",$(!ServerName),$(!SALogin),$(!SAPassword)
  986.         ifstr(i) $(Result) == "NO_SERVER"
  987.           read-syms NoLoginToSQLServer$(!STF_LANGUAGE)
  988.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  989.           goto finish_upgrade
  990.         endif
  991.  
  992.         set !CheckInstList = {}
  993.         ForListDo $(!CheckInstDefList)
  994.           set !CheckInstList = >( $(!CheckInstList), $($))
  995.         EndForListDo
  996.         ifstr(i) $(Pre42) == "YES"
  997.           set TheUpgScripts = $(!UpgScripts11)
  998.           set TheReqMem = $(!UpgMem11)
  999.         else-ifstr(i) $(DBOperatingSys) == $(!OS2)
  1000.           set TheUpgScripts = $(!UpgScripts42)
  1001.           set TheReqMem = $(!UpgMem42)
  1002.         else
  1003.           set TheUpgScripts = $(!UpgScriptsNT42)
  1004.           set TheReqMem = $(!UpgMemNT42)
  1005.         endif
  1006.     ifstr(i) $(Pre42) == "NO"
  1007.         shell "" CheckMasterSpace
  1008.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1009.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),"#1"
  1010.           goto finish_upgrade
  1011.           endif
  1012.           ifint $($R1) < $(TheReqMem)
  1013.             ifstr(i) $(!UpgOverride) != ""
  1014.               shell "" Popup "4.2 Upgrade Space insufficient. Requires "$(TheReqMem)", has "$($R1)
  1015.             else
  1016.               LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!UpgErrorMastSpace)
  1017.               goto finish_upgrade
  1018.             endif
  1019.           endif
  1020.         endif
  1021.  
  1022.     LibraryProcedure Result, $(!DLLSQL), SQLLogout
  1023.     set !CheckInstRetList = $(!CheckInstDefRetList)
  1024.     shell "" CheckInstalledScripts $(TheUpgScripts)
  1025.     set TheUpgScripts = $($R1)
  1026.     ForListDo $(TheUpgScripts)
  1027.       StartWait
  1028.           LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $($),"BEFORE","."
  1029.           ProcessExecute Result,"WAIT",$(!SQLPath)"\"$(!Binaries)"\"$(!ISQL)" /S"$(!ServerName)" /Usa /i"$(!SQLPath)"\"$(!InstallDir)"\"$($)" /o"$(!SQLPath)"\"$(!InstallDir)"\"$(Before)".OUT /P"$(!SAPassword)
  1030.           EndWait
  1031.           ifstr(i) $(Result) == "PROCESS_ERROR"
  1032.             read-syms ProcessExecError$(!STF_LANGUAGE)
  1033.             LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!ISQL)" "$(!AddlText)
  1034.             goto finish_upgrade
  1035.       else-ifstr(i) $(Result) != "0"
  1036.         read-syms ProcessRetError$(!STF_LANGUAGE)
  1037.         LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!ISQL)" "$(!AddlText)" "$(Result)
  1038.         goto finish_upgrade
  1039.           endif
  1040.         EndForListDo
  1041.  
  1042.         shell "" CheckInstallSuccess "TRUE"
  1043.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1044.           goto finish_upgrade
  1045.         endif
  1046.  
  1047.         ifstr(i) $(!Locale) != ""
  1048.       shell "" DoLangInst $(!Locale),$(!SAPassword),"CHECKED"
  1049.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1050.             goto finish_upgrade
  1051.           endif
  1052.         endif
  1053.  
  1054.         shell "" StopService $(!SQLServerService)
  1055.  
  1056.         shell "" UpdateRegistry $(!NetLibList),$(!NetAddresses),"FALSE"
  1057.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1058.           goto finish_upgrade
  1059.         endif
  1060.         ifstr(i) $(!RemoteComputer) == ""
  1061.           install CreateSQLProgmanItems
  1062.         endif
  1063.         set Status = STATUS_SUCCESSFUL
  1064. finish_upgrade =+
  1065.         LibraryProcedure Result, $(!DLLSQL), SQLLogout
  1066.         ifstr(i) $(WasSingleMode) == "NO"
  1067.           LibraryProcedure !OpenParamKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServerServer),$(!RegSQLSvrParam),""
  1068.           LibraryProcedure Result, $(!DLLSQL), RegDelValue $(!OpenParamKey),$(!RegValParameter)$(NumArgs)
  1069.           LibraryProcedure Result, $(!DLLSQL), RegClose $(!OpenParamKey)
  1070.         endif
  1071.         shell "" StopService $(!SQLServerService)
  1072.         ForListDo $(!DelDLLList)
  1073.           LibraryProcedure Result, $(!DLLSQL), Delnode "FILE_DELETE",$(!SystemDirectory)"\"$($)
  1074.         EndForListDo
  1075.         ifstr(i) $(BillyBoard) != ""
  1076.           LibraryProcedure Result, $(!DLLSQL), CloseDialog $(BillyBoard)
  1077.         endif
  1078.     Return $(Status)
  1079.  
  1080.  
  1081. [UpgradeQ]
  1082.         LibraryProcedure DlgUpg, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(!DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  1083. upgradeQ =+
  1084.     LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  1085.         ifstr(i) $(DLGEVENT) == "EXIT"
  1086.           shell "" QueryUserQuit $(!STF_LANGUAGE)
  1087.           ifstr(i) $($R1) == "OK"
  1088.             set Status = STATUS_USERQUIT
  1089.             goto end_upgrade
  1090.           else
  1091.             goto upgradeQ
  1092.           endif
  1093.         else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  1094.           set Status = STATUS_SUCCESSFUL
  1095.         else-ifstr(i) $(DLGEVENT) == "BACK"
  1096.           set Status = STATUS_BACK
  1097.         endif
  1098. end_upgrade =+
  1099.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgUpg)
  1100.     Return $(Status)
  1101.  
  1102.  
  1103. [DoUpgradeChecks]
  1104.         set Status = STATUS_FAILED
  1105.         set DBOperatingSys = ""
  1106.         set !UpgErrors = ""
  1107.         shell "" ExecNReturnSQLCmd $(!SQLGetMasterOS),"STRINGBIND"
  1108.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1109.           set ErrorNumber = " #U0"
  1110.           goto finish_upgrade_check
  1111.         endif
  1112.         LibraryProcedure DBOperatingSys, $(!DLLSQL), StrBeforeAndAfter $($R1),"BEFORE"," "
  1113.  
  1114.         shell "" ExecNReturnSQLCmd $(!SQLCheckVersion),"INTBIND"
  1115.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1116.           set ErrorNumber = " #U1"
  1117.           goto finish_upgrade_check
  1118.         endif
  1119.         ifstr(i) $($R1) != ""
  1120.           ifstr(i) $($R1) != "0"
  1121.             set Status = STATUS_OKFAILED
  1122.             goto finish_upgrade_check
  1123.           endif
  1124.         endif
  1125.  
  1126.         shell "" ExecNReturnSQLCmd $(!SQLCheckRO),"INTBIND"
  1127.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1128.           set ErrorNumber = " #U2"
  1129.           goto finish_upgrade_check
  1130.         endif
  1131.         ifstr(i) $($R1) != "0"
  1132.           LibraryProcedure !UpgErrors, $(!DLLSQL), AppendToString $(!UpgErrors),$(!UpgErrorROs)
  1133.         endif
  1134.  
  1135.       shell "" CheckMasterSpace
  1136.       ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1137.         set ErrorNumber = " #U3"
  1138.         goto finish_upgrade_check
  1139.         endif
  1140.  
  1141.         ifint $($R1) < $(!UpgMem11)
  1142.           ifstr(i) $(!UpgOverride) != ""
  1143.             shell "" Popup "1.1 Upgrade Space insufficient Requires "$(!UpgMem11)", has "$($R1)
  1144.           else
  1145.             LibraryProcedure !UpgErrors, $(!DLLSQL), AppendToString $(!UpgErrors),$(!UpgErrorMastSpace)
  1146.           endif
  1147.         endif
  1148.  
  1149.         shell "" ExecNReturnSQLCmd $(!SQLCheckSuspect),"INTBIND"
  1150.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1151.           set ErrorNumber = " #U4"
  1152.           goto finish_upgrade_check
  1153.         endif
  1154.         ifstr(i) $($R1) != "0"
  1155.           LibraryProcedure !UpgErrors, $(!DLLSQL), AppendToString $(!UpgErrors),$(!UpgErrorSuspect)
  1156.         endif
  1157.  
  1158.         shell "" ExecNReturnSQLCmd $(!SQLGetConfOpen),"INTBIND"
  1159.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1160.           set ErrorNumber = " #U5"
  1161.           goto finish_upgrade_check
  1162.         endif
  1163.         set NumDBs = $($R1)
  1164.         shell "" ExecNReturnSQLCmd $(!SQLGetNumDBs),"INTBIND"
  1165.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1166.           set ErrorNumber = " #U6"
  1167.           goto finish_upgrade_check
  1168.         endif
  1169.         ifint $($R1) > $(NumDBs)
  1170.             LibraryProcedure !UpgErrors, $(!DLLSQL), AppendToString $(!UpgErrors),$(!UpgErrorNumDBs)
  1171.           endif
  1172.         endif
  1173.         set Status = STATUS_SUCCESSFUL
  1174. finish_upgrade_check =+
  1175.     Return $(Status) $(ErrorNumber) $(DBOperatingSys)
  1176.  
  1177.  
  1178.  
  1179. [CheckMasterSpace]
  1180.         set Status = STATUS_FAILED
  1181.         set Size = ""
  1182.         LibraryProcedure Result, $(!DLLSQL), SQLAddtoCmdBuff $(!SQLCheckMasterSpace)
  1183.         LibraryProcedure Result, $(!DLLSQL), SQLExecuteCmdBuff
  1184.         ifstr(i) $(Result) == "BAD_SQL_EXEC"
  1185.           read-syms SQLExecError$(!STF_LANGUAGE)
  1186.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)$(!LF)
  1187.           LibraryProcedure !AddlText, $(!DLLSQL), SQLGetErrorMsg
  1188.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)$(!LF)
  1189.           goto end_getmasterspace
  1190.         endif
  1191.         LibraryProcedure Result, $(!DLLSQL), SQLGetNextResultSet
  1192.         LibraryProcedure Result, $(!DLLSQL), SQLNextRow $(!PurgeRows)
  1193.         LibraryProcedure Result, $(!DLLSQL), SQLGetNextResultSet
  1194.         LibraryProcedure Result, $(!DLLSQL), SQLNextRow $(!PurgeRows)
  1195.         LibraryProcedure Result, $(!DLLSQL), SQLGetNextResultSet
  1196.         ifstr(i) $(Result) != "BAD_RESULTS"
  1197.           LibraryProcedure Result, $(!DLLSQL), SQLBindColumn "INTBIND", "1"
  1198.           LibraryProcedure Result, $(!DLLSQL), SQLNextRow $(!OneNextRow)
  1199.           LibraryProcedure Size, $(!DLLSQL), SQLGetBindingData "1"
  1200.           LibraryProcedure Result, $(!DLLSQL), SQLNextRow $(!PurgeRows)
  1201.         endif
  1202.         set Status = STATUS_SUCCESSFUL
  1203. end_getmasterspace=+
  1204.     Return $(Status) $(Size)
  1205.  
  1206.  
  1207.  
  1208. [DoInstallLang]
  1209.     set Status = STATUS_FAILED
  1210.     set BillyBoard = ""
  1211.         read-syms LangError$(!STF_LANGUAGE)
  1212. backToGetLangInfo =+
  1213.         shell "" DoGetLangInfo
  1214.         ifstr(i) $($R0) == "STATUS_BACK"
  1215.           set Status = STATUS_BACK
  1216.           goto end_instlang
  1217.     else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1218.       goto end_instlang
  1219.     endif
  1220.  
  1221.         set LanguageName = $($R1)
  1222.         set SAPassword = $($R2)
  1223.         set DefaultLanguage = $($R3)
  1224.  
  1225.     set !DestPath = $(!SQLPath)"\"$(!LocalesDir)"\"$(LanguageName)
  1226.     read-syms GetLangFileDlg$(!STF_LANGUAGE)
  1227.         shell "" DoGetPath
  1228.     ifstr(i) $($R0) == "STATUS_BACK"
  1229.           goto backToGetLangInfo
  1230.     else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1231.       goto end_instlang
  1232.     endif
  1233.     set !SrcPath = $(!PathOut)
  1234.  
  1235.     read-syms ProgressCopyVars
  1236.           install CopyLangFiles
  1237.           ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  1238.             read-syms FileCouldNotBeCopied$(!STF_LANGUAGE)
  1239.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  1240.           goto end_instlang
  1241.         endif
  1242.  
  1243.         StartWait
  1244.         read-syms InstLangingDlg$(!STF_LANGUAGE)
  1245.         LibraryProcedure BillyBoard, $(!DLLSQL), BillBoard $(STF_HWND),"",$(!SQLDlgNames)
  1246.  
  1247.         shell "" StartService $(!SQLServerService)
  1248.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1249.       goto end_instlang
  1250.     endif
  1251.  
  1252.        shell "" DoLangInst $(LanguageName),$(SAPassword),$(DefaultLanguage)
  1253.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1254.       goto end_instlang
  1255.     endif
  1256.  
  1257.         set Status = STATUS_SUCCESSFUL
  1258. end_instlang =+
  1259.         ifstr(i) $(BillyBoard) != ""
  1260.       LibraryProcedure Result, $(!DLLSQL), CloseDialog $(BillyBoard)
  1261.     endif
  1262.     EndWait
  1263.     Return $(Status)
  1264.  
  1265.  
  1266.  
  1267. [DoLangInst]
  1268.         set Status = "STATUS_FAILED"
  1269.         StartWait
  1270.         ProcessExecute Result,"WAIT",$(!SQLPath)"\"$(!Binaries)"\"$(!LangInst)" /S"$(!ServerName)" /P"$($1)" /o"$(!SQLPath)"\"$(!InstallDir)"\"$(!LangInstOut)" /L"$(!SQLPath)" "$($0)
  1271.         ifstr(i) $(Result) == "PROCESS_ERROR"
  1272.       read-syms ProcessExecError$(!STF_LANGUAGE)
  1273.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!LangInst)" "$(!AddlText)
  1274.       goto end_instlang
  1275.     else-ifstr(i) $(Result) != "0"
  1276.       read-syms ProcessRetError$(!STF_LANGUAGE)
  1277.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!LangInst)" "$(!AddlText)" "$(Result)
  1278.       goto end_instlang
  1279.         endif
  1280.  
  1281.         ifstr(i) $($2) == "CHECKED"
  1282.       LibraryProcedure Result, $(!DLLSQL), SQLLogin "0","4",$(!ServerName),$(!SALogin),$($1)
  1283.           ifstr(i) $(Result) != "NO_SERVER"
  1284.         LibraryProcedure Result, $(!DLLSQL), SQLExecute $(!SQLSetLang)
  1285.             ifstr(i) $(Result) == "BAD_SQL_EXEC"
  1286.               read-syms SQLExecError$(!STF_LANGUAGE)
  1287.               LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)" UST #1"$(!LF)
  1288.               LibraryProcedure !AddlText, $(!DLLSQL), SQLGetErrorMsg
  1289.               LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  1290.               goto end_instlang
  1291.             endif
  1292.             LibraryProcedure Result, $(!DLLSQL), SQLExecute $(!SQLReconfigure)
  1293.             ifstr(i) $(Result) == "BAD_SQL_EXEC"
  1294.               read-syms SQLExecError$(!STF_LANGUAGE)
  1295.               LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)" UST #2"$(!LF)
  1296.               LibraryProcedure !AddlText, $(!DLLSQL), SQLGetErrorMsg
  1297.               LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  1298.               goto end_instlang
  1299.             endif
  1300.           else
  1301.             read-syms NoLoginToSQLServer$(!STF_LANGUAGE)
  1302.             LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  1303.           endif
  1304.     endif
  1305.         set Status = STATUS_SUCCESSFUL
  1306. end_instlang =+
  1307.         LibraryProcedure Result, $(!DLLSQL), SQLLogout
  1308.         EndWait
  1309.         Return $(Status)
  1310.  
  1311.  
  1312. [DoGetServerParameters]
  1313.         set Status = STATUS_FAILED
  1314.         LibraryProcedure ParamList, $(!DLLSQL), RegEnumKeyValues "\\"$(!ComputerName),$(!RegSQLServerServer)"\"$(!RegSQLSvrParam),"VALUEDATA"
  1315.     read-syms ServerParamsDlg$(!STF_LANGUAGE)
  1316.         LibraryProcedure DlgParams, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"1",$(ParamList)
  1317.         ifstr(i) $(ParamList) != "KEY_ERROR"
  1318.           LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $(DlgParams),"EDIT1",*($(ParamList),1)
  1319.         endif
  1320. lang_info =+
  1321.     LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  1322.         ifstr(i) $(DLGEVENT) == "EXIT"
  1323.           set Status = STATUS_USERQUIT
  1324.           goto end_langinfo
  1325.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON1"
  1326.           LibraryProcedure CurSel, $(!DLLSQL), DlgGetCmbCurSel $(DlgParams),"LISTBOX1"
  1327.           LibraryProcedure Param, $(!DLLSQL), DlgGetEditText $(DlgParams),"EDIT1"
  1328.           ifstr(i) $(Param) != ""
  1329.             LibraryProcedure Result, $(!DLLSQL), DlgAddCmbEntry $(DlgParams),"LISTBOX1",$(Param)
  1330.             LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $(DlgParams),"EDIT1",""
  1331.             ifstr(i) $(CurSel) == "-1"
  1332.               LibraryProcedure CurSel, $(!DLLSQL), DlgSetCmbCurSel $(DlgParams),"LISTBOX1","0"
  1333.             endif
  1334.           endif
  1335.           goto lang_info
  1336.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON2"
  1337.           LibraryProcedure CurSel, $(!DLLSQL), DlgGetCmbCurSel $(DlgParams),"LISTBOX1"
  1338.           LibraryProcedure Result, $(!DLLSQL), DlgDeleteCmbEntry $(DlgParams),"LISTBOX1",$(CurSel)
  1339.           ifint $(CurSel) > "1"
  1340.             set-sub CurSel = $(CurSel),1
  1341.           else
  1342.             set CurSel = 0
  1343.           endif
  1344.           LibraryProcedure CurSel, $(!DLLSQL), DlgSetCmbCurSel $(DlgParams),"LISTBOX1",$(CurSel)
  1345.           LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $(DlgParams),"EDIT1",""
  1346.           goto lang_info
  1347.         else-ifstr(i) $(DLGEVENT) == "LISTBOX1"
  1348.           LibraryProcedure CurSel, $(!DLLSQL), DlgGetCmbCurSel $(DlgParams),"LISTBOX1"
  1349.           LibraryProcedure ListItem, $(!DLLSQL), DlgGetCmbCurText $(DlgParams),"LISTBOX1",$(CurSel)
  1350.           LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $(DlgParams),"EDIT1",$(ListItem)
  1351.           goto lang_info
  1352.         else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  1353.           StartWait
  1354.           LibraryProcedure NumParams, $(!DLLSQL), DlgCmbCount $(DlgParams),"LISTBOX1"
  1355.           set Params = {}
  1356.           set CurParam = 0
  1357.      param_loop =+
  1358.           ifint $(CurParam) < $(NumParams)
  1359.             LibraryProcedure ListItem, $(!DLLSQL), DlgGetCmbCurText $(DlgParams),"LISTBOX1",$(CurParam)
  1360.             set Params = >( $(Params), $(ListItem))
  1361.             set-add CurParam = $(CurParam),1
  1362.             goto param_loop
  1363.           endif
  1364.           LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegSQLServerServer),$(!RegSQLSvrParam)
  1365.           LibraryProcedure OpenParamKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServerServer),$(!RegSQLSvrParam),""
  1366.           ifstr(i) $(OpenParamKey) == "KEY_ERROR"
  1367.         read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  1368.         LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  1369.         goto end_langinfo
  1370.           else
  1371.             ForListDo $(Params)
  1372.               set-sub Count = $(#),1
  1373.               LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenParamKey),$(!RegValParameter)$(Count),$(!RegTypeString),$($),""
  1374.             EndForListDo
  1375.           endif
  1376.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenParamKey)
  1377.           set Status = STATUS_SUCCESSFUL
  1378.         else-ifstr(i) $(DLGEVENT) == "BACK"
  1379.           set Status = STATUS_BACK
  1380.           goto end_langinfo
  1381.         endif
  1382.         set Status = STATUS_SUCCESSFUL
  1383. end_langinfo =+
  1384.         EndWait
  1385.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgParams)
  1386.     Return $(Status)
  1387.  
  1388.  
  1389.  
  1390. [DoTapeSupport]
  1391.     set Mins = ""
  1392.     set Status = "STATUS_FAILED"
  1393.         StartWait
  1394.         LibraryProcedure Mins, $(!DLLSQL), RegRead $($0),$(!RegValTapeWait)
  1395.         ifstr(i) $(Mins) == "KEY_ERROR"
  1396.           set !DefRadio = "1"
  1397.         else-ifstr(i) $(Mins) == "0"
  1398.           set !DefRadio = "2"
  1399.         else-ifstr(i) $(Mins) == "-1"
  1400.           set !DefRadio = "1"
  1401.         else
  1402.           set !DefRadio = "3"
  1403.         endif
  1404.     read-syms TapeTimeDlg$(!STF_LANGUAGE)
  1405.         LibraryProcedure DlgTape, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  1406.         ifstr(i) $(!DefRadio) == "3"
  1407.           LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $(DlgTape),"EDIT1",$(Mins)
  1408.         endif
  1409. tape_sup =+
  1410.         ifstr(i) $(!DefRadio) == "3"
  1411.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgTape),"TEXT1","TRUE"
  1412.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgTape),"EDIT1","TRUE"
  1413.         else
  1414.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgTape),"TEXT1","FALSE"
  1415.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgTape),"EDIT1","FALSE"
  1416.         endif
  1417.         EndWait
  1418.     LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  1419.         ifstr(i) $(DLGEVENT) == "EXIT"
  1420.           set Status = STATUS_USERQUIT
  1421.           goto end_tape_sup
  1422.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON1"
  1423.           set !DefRadio = "1"
  1424.           goto tape_sup
  1425.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON2"
  1426.           set !DefRadio = "2"
  1427.           goto tape_sup
  1428.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON3"
  1429.           set !DefRadio = "3"
  1430.           goto tape_sup
  1431.         else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  1432.           ifstr(i) $(!DefRadio) == "1"
  1433.             set Mins = "-1"
  1434.           else-ifstr(i) $(!DefRadio) == "2"
  1435.             set Mins = "0"
  1436.           else
  1437.             LibraryProcedure Mins, $(!DLLSQL), DlgGetEditText $(DlgTape),"EDIT1"
  1438.             ifstr(i) $(Mins) == ""
  1439.               goto tape_sup
  1440.             endif
  1441.           endif
  1442.         LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegValTapeWait),$(!RegTypeDWord),$(Mins),""
  1443.         endif
  1444.         set Status = STATUS_SUCCESSFUL
  1445. end_tape_sup =+
  1446.         EndWait
  1447.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgTape)
  1448.     Return $(Status)
  1449.  
  1450.  
  1451.  
  1452. [DoServerOptions]
  1453.     set Status = STATUS_FAILED
  1454.     read-syms ServerOptsError$(!STF_LANGUAGE)
  1455.     read-syms ServerOptsDlg$(!STF_LANGUAGE)
  1456.  
  1457.         LibraryProcedure DlgOpts, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  1458.         set NumCPUs = "2"
  1459.         ifstr(i) $(!RemoteComputer) == ""
  1460.           LibraryProcedure NumCPUs, $(!DLLSQL), GetNumProcessors
  1461.           ifint $(NumCPUs) < "2"
  1462.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgOpts),"UNIBUTTON8","FALSE"
  1463.           endif
  1464.         endif
  1465.  
  1466.         shell "" DoParseServerInfo $(DlgOpts),$(NumCPUs)
  1467.         set OpenSetupKey = $($R1)
  1468.         set OpenSvcKey = $($R2)
  1469.         set SQLPerf = $($R3)
  1470.         set ELogEntry = $($R4)
  1471.         set EMDBEntry = $($R5)
  1472.         set ParamCount = $($R6)
  1473.         set OpenMonSvcKey = $($R7)
  1474.         set OpenServerKey = $($R8)
  1475.         set OpenPerfKey = $($R9)
  1476.     LibraryProcedure NTELogInitial, $(!DLLSQL), IsDlgBtnChecked $(DlgOpts),"UNIBUTTON4"
  1477.     LibraryProcedure MailInitial, $(!DLLSQL), IsDlgBtnChecked $(DlgOpts),"UNIBUTTON2"
  1478. serveropts =+
  1479.     LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  1480.         ifstr(i) $(DLGEVENT) == "EXIT"
  1481.           shell "" QueryUserQuit $(!STF_LANGUAGE)
  1482.           ifstr(i) $($R1) == "OK"
  1483.             set Status = STATUS_USERQUIT
  1484.             goto end_serveropts
  1485.           else
  1486.             goto serveropts
  1487.           endif
  1488.         else-ifstr(i) $(DLGEVENT) == "BACK"
  1489.           set Status = STATUS_BACK
  1490.           goto end_serveropts
  1491.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON1"
  1492.           shell "" DoGetServerParameters
  1493.           ifstr(i) $($R0) == "STATUS_FAILED"
  1494.             goto end_serveropts
  1495.           else-ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  1496.             shell "" DoParseServerInfo $(DlgOpts),$(NumCPUs)
  1497.           endif
  1498.           goto serveropts
  1499.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON2"
  1500.           shell "" DoTapeSupport $(OpenServerKey)
  1501.           ifstr(i) $($R0) == "STATUS_FAILED"
  1502.             goto end_serveropts
  1503.           endif
  1504.           goto serveropts
  1505.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON3"
  1506.           LibraryProcedure DoSQLCntrs, $(!DLLSQL), IsDlgBtnChecked $(DlgOpts),"DLGBUTTON3"
  1507.           ifstr(i) $(DoSQLCntrs) == "CHECKED"
  1508.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgOpts),"UNIBUTTON6","TRUE"
  1509.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgOpts),"UNIBUTTON7","TRUE"
  1510.           else
  1511.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgOpts),"UNIBUTTON6","FALSE"
  1512.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgOpts),"UNIBUTTON7","FALSE"
  1513.           endif
  1514.           goto serveropts
  1515.     else-ifstr(i) $(DLGEVENT) == "DLGBUTTON4"
  1516.       LibraryProcedure Result, $(!DLLSQL), IsDlgBtnChecked $(DlgOpts),"DLGBUTTON4"
  1517.       ifstr(i) $(Result) != "CHECKED"
  1518.         LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgOpts),"DLGBUTTON5","FALSE"
  1519.       endif
  1520.           goto serveropts
  1521.     else-ifstr(i) $(DLGEVENT) == "DLGBUTTON5"
  1522.       LibraryProcedure Result, $(!DLLSQL), IsDlgBtnChecked $(DlgOpts),"DLGBUTTON5"
  1523.       ifstr(i) $(Result) == "CHECKED"
  1524.         LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgOpts),"DLGBUTTON4","TRUE"
  1525.       endif
  1526.           goto serveropts
  1527.     else-ifstr(i) $(DLGEVENT) == "DLGBUTTON6"
  1528.       shell "" DoGetMailInfo
  1529.           goto serveropts
  1530.     else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  1531.           StartWait
  1532.  
  1533.       LibraryProcedure !SQLPath, $(!DLLSQL), DlgGetEditText $(DlgOpts),"EDIT1"
  1534.       ifstr(i) $(!SQLPath) == ""
  1535.         read-syms NoServerPath$(!STF_LANGUAGE)
  1536.         shell "" MessageError
  1537.         goto serveropts
  1538.       endif
  1539.  
  1540.       LibraryProcedure !PathOut, $(!DLLSQL), DlgGetEditText $(DlgOpts),"EDIT2"
  1541.           LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $(!PathOut),"LASTBEFORE","\"
  1542.           ifstr(i) $(Before) == ""
  1543.             read-syms NoMasterPath$(!STF_LANGUAGE)
  1544.             shell "" MessageError
  1545.             goto serveropts
  1546.           endif
  1547.           LibraryProcedure After, $(!DLLSQL), StrBeforeAndAfter $(!PathOut),"LASTAFTER","\"
  1548.           LibraryProcedure PathAfter, $(!DLLSQL), StrBeforeAndAfter $(After),"LASTAFTER","."
  1549.           ifstr(i) $(PathAfter) == ""
  1550.             read-syms DBNoDat$(!STF_LANGUAGE)
  1551.             shell "" MessageError
  1552.             goto serveropts
  1553.           endif
  1554.           set !MasterDBFileName = $(After)
  1555.       set !MasterDBPath = $(Before)
  1556.  
  1557.       ifstr(i) $(NTELogInitial) == "CHECKED"
  1558.         LibraryProcedure Result, $(!DLLSQL), IsDlgBtnChecked $(DlgOpts),"UNIBUTTON4"
  1559.         ifstr(i) $(Result) != "CHECKED"
  1560.           read-syms DeleteEventLog$(!STF_LANGUAGE)
  1561.           read-syms YesNoDlg$(!STF_LANGUAGE)
  1562.           ui start $(DlgTemplate)
  1563.           ifstr(i) $(DLGEVENT) == "NO"
  1564.         LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgOpts),"UNIBUTTON4", "TRUE"
  1565.         goto serveropts
  1566.           endif
  1567.         endif
  1568.       endif
  1569.       LibraryProcedure MailInfo, $(!DLLSQL), IsDlgBtnChecked $(DlgOpts),"UNIBUTTON2"
  1570.  
  1571.       ifstr(i) $(MailInitial) != "CHECKED"
  1572.         ifstr(i) $(MailInfo) == "CHECKED"
  1573.           ifstr(i) $(!MSMailUser) == ""
  1574.         shell "" DoGetMailInfo
  1575.         ifstr(i) $($R0) == "STATUS_BACK"
  1576.           goto serveropts
  1577.         endif
  1578.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1579.           goto end_serveropts
  1580.         endif
  1581.           endif
  1582.         endif
  1583.       endif
  1584.  
  1585.  
  1586.       LibraryProcedure ELogPath, $(!DLLSQL), DlgGetEditText $(DlgOpts),"EDIT3"
  1587.  
  1588.       LibraryProcedure SvcStart, $(!DLLSQL), IsDlgBtnChecked $(DlgOpts),"DLGBUTTON4"
  1589.       LibraryProcedure MonSvcStart, $(!DLLSQL), IsDlgBtnChecked $(DlgOpts),"DLGBUTTON5"
  1590.       LibraryProcedure RealTime, $(!DLLSQL), IsDlgBtnChecked $(DlgOpts),"UNIBUTTON3"
  1591.       LibraryProcedure NTELog, $(!DLLSQL), IsDlgBtnChecked $(DlgOpts),"UNIBUTTON4"
  1592.       LibraryProcedure DoSQLCntrs, $(!DLLSQL), IsDlgBtnChecked $(DlgOpts),"DLGBUTTON3"
  1593.       LibraryProcedure PerfSync, $(!DLLSQL), IsDlgBtnChecked $(DlgOpts),"UNIBUTTON6"
  1594.       LibraryProcedure SMPStat, $(!DLLSQL), IsDlgBtnChecked $(DlgOpts),"UNIBUTTON8"
  1595.  
  1596.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenSetupKey),$(!RegValSQLPath),$(!RegTypeString),$(!SQLPath),""
  1597.  
  1598.           LibraryProcedure OpenParamKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServerServer),$(!RegSQLSvrParam),""
  1599.           ifstr(i) $(OpenParamKey) == "KEY_ERROR"
  1600.         read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  1601.         LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  1602.           else
  1603.             ifstr(i) $(EMDBEntry) != ""
  1604.               LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenParamKey),$(EMDBEntry),$(!RegTypeString),"-d"$(!MasterDBPath)"\"$(!MasterDBFileName),""
  1605.             else
  1606.               LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenParamKey),$(!RegValParameter)$(ParamCount),$(!RegTypeString),"-d"$(!MasterDBPath)"\"$(!MasterDBFileName),""
  1607.               set-add ParamCount = $(ParamCount),1
  1608.             endif
  1609.             ifstr(i) $(ELogPath) == ""
  1610.               ifstr(i) $(ELogEntry) != ""
  1611.                 LibraryProcedure Result, $(!DLLSQL), RegDelValue $(OpenParamKey),$(ELogEntry)
  1612.               endif
  1613.             else
  1614.               ifstr(i) $(ELogEntry) != ""
  1615.                 LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenParamKey),$(ELogEntry),$(!RegTypeString),"-e"$(ELogPath),""
  1616.               else
  1617.                 LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenParamKey),$(!RegValParameter)$(ParamCount),$(!RegTypeString),"-e"$(ELogPath),""
  1618.               endif
  1619.             endif
  1620.             LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenParamKey)
  1621.       endif
  1622.  
  1623.       ifstr(i) $(NTELog) == "CHECKED"
  1624.             shell "" RegWriteELog $(Server)
  1625.             ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1626.               goto end_serveropts
  1627.             endif
  1628.       else-ifstr(i) $(NTELogInitial) == "CHECKED"
  1629.         LibraryProcedure MntrRunning, $(!DLLSQL), GetServiceState "\\"$(!ComputerName),$(!SQLMonitorService)
  1630.         ifstr(i) $(MntrRunning) == "SERVICE_RUNNING"
  1631.           shell "" StopService $(!SQLMonitorService)
  1632.         endif
  1633.         LibraryProcedure SvrRunning, $(!DLLSQL), GetServiceState "\\"$(!ComputerName),$(!SQLServerService)
  1634.         ifstr(i) $(SvrRunning) == "SERVICE_RUNNING"
  1635.           shell "" StopService $(!SQLServerService)
  1636.         endif
  1637.         LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegEventAppLog),$(!SQLServerService)
  1638.         LibraryProcedure Result, $(!DLLSQL), ClearEventLogNoBackup
  1639.         ifstr(i) $(SvrRunning) == "SERVICE_RUNNING"
  1640.           shell "" StartService $(!SQLServerService)
  1641.         endif
  1642.         ifstr(i) $(MntrRunning) == "SERVICE_RUNNING"
  1643.           shell "" StartService $(!SQLMonitorService)
  1644.         endif
  1645.       endif
  1646.  
  1647.           shell "" RegWriteSystemPaths $(Server),$(!RegSystemPaths),""
  1648.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  1649.             goto end_serveropts
  1650.           endif
  1651.  
  1652.           ifstr(i) $(OpenSvcKey) != ""
  1653.             ifstr(i) $(SvcStart) == "CHECKED"
  1654.               LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenSvcKey),$(!RegSvcStart),$(!RegTypeDWord),"2",""
  1655.             else
  1656.               LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenSvcKey),$(!RegSvcStart),$(!RegTypeDWord),"3",""
  1657.             endif
  1658.           endif
  1659.  
  1660.           ifstr(i) $(OpenMonSvcKey) != ""
  1661.             ifstr(i) $(MonSvcStart) == "CHECKED"
  1662.               LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenMonSvcKey),$(!RegSvcStart),$(!RegTypeDWord),"2",""
  1663.             else
  1664.               LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenMonSvcKey),$(!RegSvcStart),$(!RegTypeDWord),"3",""
  1665.             endif
  1666.           endif
  1667.  
  1668.       ifstr(i) $(OpenServerKey) != ""
  1669.  
  1670.         ifstr(i) $(!CopyMailInfo) == "CHECKED"
  1671.         shell "" RegCopyMailInfo "\\"$(!ComputerName)
  1672.         endif
  1673.  
  1674.         ifstr(i) $(!MSMailUser) != ""
  1675.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenServerKey),$(!RegValMSMailUser),$(!RegTypeString),$(!MSMailUser),""
  1676.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenServerKey),$(!RegValMSMailPwd),$(!RegTypeString),$(!MSMailPwd),""
  1677.         endif
  1678.  
  1679.         ifstr(i) $(MailInfo) == "CHECKED"
  1680.           ifstr(i) $(MailInitial) != "CHECKED"
  1681.         shell "" RegWriteMailEnabled "\\"$(!ComputerName)
  1682.           endif
  1683.         else
  1684.           shell "" DoMailNuke "\\"$(!ComputerName)
  1685.         endif
  1686.             ifstr(i) $(RealTime) == "CHECKED"
  1687.               LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenServerKey),$(!RegValRealTime),$(!RegTypeDWord),"1",""
  1688.             else
  1689.               LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenServerKey),$(!RegValRealTime),$(!RegTypeDWord),"0",""
  1690.             endif
  1691.             ifint $(NumCPUs) > "1"
  1692.               ifstr(i) $(SMPStat) == "CHECKED"
  1693.                 LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenServerKey),$(!RegValSMPStat),$(!RegTypeDWord),"0",""
  1694.               else
  1695.                 LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenServerKey),$(!RegValSMPStat),$(!RegTypeDWord),"1",""
  1696.               endif
  1697.             endif
  1698.           endif
  1699.  
  1700.           ifstr(i) $(DoSQLCntrs) == "CHECKED"
  1701.             ifstr(i) $(SQLPerf) == ""
  1702.               shell "" RegWritePerfMon "\\"$(!ComputerName)
  1703.             endif
  1704.             ifstr(i) $(PerfSync) == "CHECKED"
  1705.               LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenPerfKey),$(!RegValPerfSync),$(!RegTypeDWord),"0",""
  1706.             else
  1707.               LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenPerfKey),$(!RegValPerfSync),$(!RegTypeDWord),"1",""
  1708.             endif
  1709.           else
  1710.             ifstr(i) $(SQLPerf) != ""
  1711.               shell "" DoPerfmonNuke "\\"$(!ComputerName)
  1712.             endif
  1713.           endif
  1714.  
  1715.           set Status = STATUS_SUCCESSFUL
  1716.     else
  1717.       goto serveropts
  1718.     endif
  1719. end_serveropts =+
  1720.         ifstr(i) $(OpenSvcKey) != ""
  1721.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenSvcKey)
  1722.         endif
  1723.         ifstr(i) $(OpenMonSvcKey) != ""
  1724.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenMonSvcKey)
  1725.         endif
  1726.         ifstr(i) $(OpenSetupKey) != ""
  1727.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenSetupKey)
  1728.         endif
  1729.         ifstr(i) $(OpenServerKey) != ""
  1730.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenServerKey)
  1731.         endif
  1732.         ifstr(i) $(OpenPerfKey) != ""
  1733.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenPerfKey)
  1734.         endif
  1735.         EndWait
  1736.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgOpts)
  1737.     Return $(Status)
  1738.  
  1739.  
  1740.  
  1741. [DoParseServerInfo]
  1742.         StartWait
  1743.         set Status = STATUS_FAILED
  1744.         set ELogEntry = ""
  1745.         set ELogPath = ""
  1746.         set EMDBEntry = ""
  1747.         set NTELog = ""
  1748.         set ParamCount = ""
  1749.         set SvcStart = ""
  1750.         set SvcMonStart = ""
  1751.         set SQLPerf = ""
  1752.         set SQLPerfSync = "0"
  1753.         set SMPStat = "1"
  1754.         set !MasterDBPath = ""
  1755.         set !MasterDBFileName = ""
  1756.         set !SQLPath = ""
  1757.  
  1758.     LibraryProcedure OpenSetupKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLSetup),"",""
  1759.     ifstr(i) $(OpenSetupKey) != "KEY_ERROR"
  1760.       LibraryProcedure !SQLPath, $(!DLLSQL), RegRead $(OpenSetupKey),$(!RegValSQLPath)
  1761.     endif
  1762.  
  1763.         LibraryProcedure TmpParamList, $(!DLLSQL), RegEnumKeyValues "\\"$(!ComputerName),$(!RegSQLServerServer)"\"$(!RegSQLSvrParam),"VALUENAMES"
  1764.         QueryListSize ParamCount $(TmpParamList)
  1765.         LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenPerfKey)
  1766.  
  1767.         shell "" DoExtractMasterAndErrorlog "\\"$(!ComputerName)
  1768.         set EMDBEntry = $($R0)
  1769.         set ELogEntry = $($R1)
  1770.         set !MasterDBPath = $($R2)
  1771.         set ELogPath = $($R3)
  1772.         set !MasterDBFileName = $($R4)
  1773.  
  1774.     LibraryProcedure OpenELogKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegEventAppLog),$(!SQLServerService),""
  1775.         ifstr(i) $(OpenELogKey) != "KEY_ERROR"
  1776.           LibraryProcedure NTELog, $(!DLLSQL), RegRead $(OpenELogKey),$(!RegValELogMsgFile)
  1777.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenELogKey)
  1778.         endif
  1779.  
  1780.     LibraryProcedure OpenSvcKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSCMSQLServer),$(!SQLServerService),""
  1781.         ifstr(i) $(OpenSvcKey) != "KEY_ERROR"
  1782.           LibraryProcedure SvcStart, $(!DLLSQL), RegRead $(OpenSvcKey),$(!RegSvcStart)
  1783.         else
  1784.           set OpenSvcKey = ""
  1785.         endif
  1786.  
  1787.     LibraryProcedure OpenMonSvcKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSCMSQLServer),$(!SQLMonitorService),""
  1788.         ifstr(i) $(OpenMonSvcKey) != "KEY_ERROR"
  1789.           LibraryProcedure SvcMonStart, $(!DLLSQL), RegRead $(OpenMonSvcKey),$(!RegSvcStart)
  1790.         else
  1791.           set OpenMonSvcKey = ""
  1792.         endif
  1793.  
  1794.     LibraryProcedure OpenServerKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServer),$(!RegSQLServerSvr),""
  1795.         ifstr(i) $(OpenServerKey) != "KEY_ERROR"
  1796.           LibraryProcedure RealTime, $(!DLLSQL), RegRead $(OpenServerKey),$(!RegValRealTime)
  1797.           LibraryProcedure SMPStat, $(!DLLSQL), RegRead $(OpenServerKey),$(!RegValSMPStat)
  1798.       LibraryProcedure TmpStartupHandlers, $(!DLLSQL), RegRead $(OpenServerKey),$(!RegValMailEnabled)
  1799.  
  1800.         else
  1801.           set OpenServerKey = ""
  1802.         endif
  1803.  
  1804.         LibraryProcedure OpenPerfKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSCMSQLServer),$(!SQLServerService)"\"$(!RegSQLPerformance),""
  1805.         ifstr(i) $(OpenPerfKey) != "KEY_ERROR"
  1806.           LibraryProcedure SQLPerf, $(!DLLSQL), RegRead $(OpenPerfKey),$(!RegValLibrary)
  1807.           ifstr(i) $(SQLPerf) == "KEY_ERROR"
  1808.             set SQLPerf = ""
  1809.           endif
  1810.           LibraryProcedure SQLPerfSync, $(!DLLSQL), RegRead $(OpenPerfKey),$(!RegValPerfSync)
  1811.           ifstr(i) $(SQLPerf) == "KEY_ERROR"
  1812.             set SQLPerfSync = "0"
  1813.           endif
  1814.         endif
  1815.  
  1816.         ifstr(i) $(!SQLPath) == "KEY_ERROR"
  1817.       set !SQLPath = ""
  1818.     endif
  1819.     LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $($0),"EDIT1",$(!SQLPath)
  1820.     ifstr(i) $(!MasterDBPath) == "KEY_ERROR"
  1821.       set !MasterDBPath = ""
  1822.     endif
  1823.     ifstr(i) $(!MasterDBFileName) == "KEY_ERROR"
  1824.       set !MasterDBFileName = ""
  1825.     endif
  1826.     LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $($0),"EDIT2",$(!MasterDBPath)"\"$(!MasterDBFileName)
  1827.         LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $($0),"EDIT3",$(ELogPath)
  1828.         ifstr(i) $(NTELog) == "KEY_ERROR"
  1829.       set NTELog = ""
  1830.     endif
  1831.         ifstr(i) $(NTELog) != ""
  1832.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"UNIBUTTON4","TRUE"
  1833.         else
  1834.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"UNIBUTTON4","FALSE"
  1835.         endif
  1836.         ifstr(i) $(SvcStart) == "KEY_ERROR"
  1837.       set SvcStart = ""
  1838.     endif
  1839.         ifstr(i) $(SvcStart) == "2"
  1840.       LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"DLGBUTTON4","TRUE"
  1841.         else
  1842.       LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"DLGBUTTON4","FALSE"
  1843.         endif
  1844.  
  1845.         ifstr(i) $(SvcMonStart) == "KEY_ERROR"
  1846.       set SvcMonStart = ""
  1847.     endif
  1848.         ifstr(i) $(SvcMonStart) == "2"
  1849.       LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"DLGBUTTON5","TRUE"
  1850.         else
  1851.       LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"DLGBUTTON5","FALSE"
  1852.         endif
  1853.  
  1854.         ifstr(i) $(RealTime) == "KEY_ERROR"
  1855.       set RealTime = ""
  1856.     endif
  1857.         ifstr(i) $(RealTime) == "1"
  1858.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"UNIBUTTON3","TRUE"
  1859.         else
  1860.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"UNIBUTTON3","FALSE"
  1861.         endif
  1862.  
  1863.         ifint $($1) > "1"
  1864.           ifstr(i) $(SMPStat) == "KEY_ERROR"
  1865.         set SMPStat = "1"
  1866.       endif
  1867.           ifstr(i) $(SMPStat) == "1"
  1868.             LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"UNIBUTTON8","FALSE"
  1869.           else
  1870.             LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"UNIBUTTON8","TRUE"
  1871.           endif
  1872.         endif
  1873.  
  1874.     ifcontains(i) $(!RegValSqlMailPair) in $(TmpStartupHandlers)
  1875.       LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"UNIBUTTON2","TRUE"
  1876.     else
  1877.       LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"UNIBUTTON2","FALSE"
  1878.     endif
  1879.  
  1880.         ifstr(i) $(SQLPerf) != ""
  1881.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"DLGBUTTON3","TRUE"
  1882.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $($0),"UNIBUTTON6","TRUE"
  1883.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $($0),"UNIBUTTON7","TRUE"
  1884.         else
  1885.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"DLGBUTTON3","FALSE"
  1886.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $($0),"UNIBUTTON6","FALSE"
  1887.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $($0),"UNIBUTTON7","FALSE"
  1888.         endif
  1889.  
  1890.         ifstr(i) $(SQLPerfSync) == "1"
  1891.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"UNIBUTTON7","UNIBUTTON6","UNIBUTTON7"
  1892.         else
  1893.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $($0),"UNIBUTTON6","UNIBUTTON6","UNIBUTTON7"
  1894.         endif
  1895.         EndWait
  1896.         Return $(Status),$(OpenSetupKey),$(OpenSvcKey),$(SQLPerf),$(ELogEntry),$(EMDBEntry),$(ParamCount),$(OpenMonSvcKey),$(OpenServerKey),$(OpenPerfKey)
  1897.  
  1898.  
  1899.  
  1900. [DoExtractMasterAndErrorlog]
  1901.     LibraryProcedure TmpParamList, $(!DLLSQL), RegEnumKeyValues $($0),$(!RegSQLServerServer)"\"$(!RegSQLSvrParam),"VALUENAMESNDATA"
  1902.         ForListDo $(TmpParamList)
  1903.           LibraryProcedure Idx, $(!DLLSQL), IntMultiply $(#),2
  1904.           set Data = *($(TmpParamList),$(Idx))
  1905.           ifstr(i) $(Data) != ""
  1906.             LibraryProcedure Result, $(!DLLSQL), StringCopyN $(Data),"0","2"
  1907.             set-sub Idx = $(Idx),1
  1908.             ifstr(i) $(Result) == "-e"
  1909.               set ErrorLogEntry = *($(TmpParamList),$(Idx))
  1910.               LibraryProcedure ErrorLogData, $(!DLLSQL), StringCopyN $(Data),"2","N"
  1911.             else-ifstr(i) $(Result) == "-d"
  1912.               set MasterDBEntry = *($(TmpParamList),$(Idx))
  1913.               LibraryProcedure Tmp, $(!DLLSQL), StringCopyN $(Data),"2","N"
  1914.               LibraryProcedure MasterDBData, $(!DLLSQL), StrBeforeAndAfter $(Tmp),"LASTBEFORE","\"
  1915.           LibraryProcedure MasterName, $(!DLLSQL), StrBeforeAndAfter $(Tmp),"LASTAFTER","\"
  1916.               endif
  1917.             endif
  1918.           endif
  1919.         EndForListDo
  1920.         Return $(MasterDBEntry),$(ErrorLogEntry),$(MasterDBData),$(ErrorLogData),$(MasterName)
  1921.  
  1922.  
  1923.  
  1924. [DoGetLangInfo]
  1925.         set Status = STATUS_FAILED
  1926.     read-syms GetLangInfoDlg$(!STF_LANGUAGE)
  1927.         LibraryProcedure DlgLang, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  1928. lang_info =+
  1929.     LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  1930.         ifstr(i) $(DLGEVENT) == "EXIT"
  1931.           shell "" QueryUserQuit $(!STF_LANGUAGE)
  1932.           ifstr(i) $($R1) == "OK"
  1933.             set Status = STATUS_USERQUIT
  1934.             goto end_langinfo
  1935.           else
  1936.             goto lang_info
  1937.           endif
  1938.         else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  1939.           LibraryProcedure LanguageName, $(!DLLSQL), DlgGetEditText $(DlgLang),"EDIT1"
  1940.           LibraryProcedure SAPassword, $(!DLLSQL), DlgGetEditText $(DlgLang),"EDIT2"
  1941.           ifstr(i) $(LanguageName) == ""
  1942.             read-syms NoLangInfo$(!STF_LANGUAGE)
  1943.             shell "" MessageError
  1944.             goto lang_info
  1945.           endif
  1946.           LibraryProcedure DefaultLanguage, $(!DLLSQL), IsDlgBtnChecked $(DlgLang),"UNIBUTTON1"
  1947.         else-ifstr(i) $(DLGEVENT) == "BACK"
  1948.           set Status = STATUS_BACK
  1949.           goto end_langinfo
  1950.         endif
  1951.         set Status = STATUS_SUCCESSFUL
  1952. end_langinfo =+
  1953.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgLang)
  1954.     Return $(Status) $(LanguageName) $(SAPassword) $(DefaultLanguage)
  1955.  
  1956. [DoRebuildDatabase]
  1957.         set Status = STATUS_FAILED
  1958. backToRebuildQ =+
  1959.         read-syms RebuildDlg$(!STF_LANGUAGE)
  1960.         LibraryProcedure DlgRbld, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  1961. rebuild =+
  1962.     LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  1963.     ifstr(i) $(DLGEVENT) == "BACK"
  1964.       set Status = STATUS_BACK
  1965.       goto finish_rebuild
  1966.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  1967.           shell "" QueryUserQuit $(!STF_LANGUAGE)
  1968.           ifstr(i) $($R1) == "OK"
  1969.             set Status = STATUS_USERQUIT
  1970.             goto finish_rebuild
  1971.           else
  1972.             goto rebuild
  1973.           endif
  1974.         else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  1975.           LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgRbld)
  1976.           set DlgRbld = ""
  1977.  
  1978.           set !AddlScripts = $(!DefScriptList)
  1979.           set !CheckInstList = $(!CheckInstDefList)
  1980.           set !CheckInstRetList = $(!CheckInstDefRetList)
  1981.           set !CheckInstList = >( $(!CheckInstList), $(!SQLPubs))
  1982.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!Pubs))
  1983.           set !CheckInstList = >( $(!CheckInstList), $(!SQLAdmin1))
  1984.           set !CheckInstList = >( $(!CheckInstList), $(!SQLAdmin2))
  1985.           set !CheckInstList = >( $(!CheckInstList), $(!SQLObject1))
  1986.           set !CheckInstList = >( $(!CheckInstList), $(!SQLObject2))
  1987.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpAdminChk1))
  1988.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpAdminChk2))
  1989.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpObjectChk1))
  1990.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpObjectChk2))
  1991.           set !CheckInstList = >( $(!CheckInstList), $(!SQLHelpSQL))
  1992.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!RetHelpSQL))
  1993.  
  1994.           set !SortOrderSelList = $(!Sort850SelList)
  1995.           set !TheCharSet    = *( $(!CharSetSelList), 2 )
  1996.           set !TheSortFile = *( $(!SortOrderSelList), 2 )
  1997.           set !TheSortConfigValue = *( $(!SortOrderSelList), 3 )
  1998.  
  1999. backToRebuildOpts =+
  2000.           shell "" DoGetRebuildOptions
  2001.           ifstr(i) $($R0) == "STATUS_BACK"
  2002.             goto backToRebuildQ
  2003.           else-ifstr(i) $($R0) == "STATUS_USERQUIT"
  2004.             goto finish_rebuild
  2005.           endif
  2006.  
  2007. backToSQLPath =+
  2008.       shell "" DoGetSpaceSQLPath GetSQLPathDlg,$(InstallationReqSpace),$(SpaceCost),"1","","",$(!LogicalSQLDrive)
  2009.           ifstr(i) $($R0) == "STATUS_BACK"
  2010.             goto backToRebuildOpts
  2011.           else-ifstr(i) $($R0) == "STATUS_USERQUIT"
  2012.             set Status = "STATUS_USERQUIT"
  2013.             goto finish_rebuild
  2014.           else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  2015.             goto finish_rebuild
  2016.           endif
  2017.           set !SQLPath = $($R1)$($R2)
  2018.           set !DefSQLPath = $(!SQLPath)
  2019.       set !CreateSQLPath = $(!SQLPath)
  2020.       ifstr(i) $(!RemoteComputer) == ""
  2021.           set !LogicalSQLDrive = $($R1)
  2022.       endif
  2023.  
  2024.   backToMasterPath =+
  2025.           ifstr(i) $(!MasterDBFileName) == ""
  2026.             set !DefMasterPath = $(!SQLPath)"\"$(!DataDir)"\"$(!DefMasterDB)
  2027.           else
  2028.             set !DefMasterPath = $(!MasterDBPath)"\"$(!MasterDBFileName)
  2029.           endif
  2030.           shell "" DoGetSpaceMasterPath GetMasterPathDlg,$(InstallationReqSpace),$(SpaceCost),"3","","MASTER_DONT_CARE_EXIST",$(!LogicalDBDrive)
  2031.           ifstr(i) $($R0) == "STATUS_BACK"
  2032.              goto backToSQLPath
  2033.           else-ifstr(i) $($R0) == "STATUS_USERQUIT"
  2034.             set Status = "STATUS_USERQUIT"
  2035.             goto finish_rebuild
  2036.           else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  2037.             goto finish_rebuild
  2038.           endif
  2039.  
  2040.           shell "" StopService $(!SQLMonitorService)
  2041.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  2042.             goto finish_rebuild
  2043.           endif
  2044.           shell "" StopService $(!SQLServerService)
  2045.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  2046.             goto finish_rebuild
  2047.           endif
  2048.           shell "" DoReBuild "FALSE"
  2049.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  2050.             goto finish_rebuild
  2051.           endif
  2052.           set Status = STATUS_SUCCESSFUL
  2053.           shell "" StartService $(!SQLServerService)
  2054.         endif
  2055. finish_rebuild =+
  2056.         ifstr(i) $(DlgRbld) != ""
  2057.           LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgRbld)
  2058.         endif
  2059.     Return $(Status)
  2060.  
  2061.  
  2062.  
  2063. [DoGetRebuildOptions]
  2064.         StartWait
  2065.         set Status = STATUS_FAILED
  2066.         read-syms RebuildOptionsDlg
  2067.         LibraryProcedure DlgRebOptions, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  2068.         EndWait
  2069. reboptions = +
  2070.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  2071.         ifstr(i) $(DLGEVENT) == "EXIT"
  2072.           shell "" QueryUserQuit $(!STF_LANGUAGE)
  2073.           ifstr(i) $($R1) == "OK"
  2074.             set Status = STATUS_USERQUIT
  2075.             goto finish_reboptions
  2076.           else
  2077.             goto reboptions
  2078.           endif
  2079.         else-ifstr(i) $(DLGEVENT) == "BACK"
  2080.           set Status = STATUS_BACK
  2081.           goto finish_reboptions
  2082.         else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  2083.           set !TheCharSetPath = $(!SQLPath)"\"$(!CharSets)"\"$(!TheCharSet)
  2084.           set Status = STATUS_SUCCESSFUL
  2085.           goto finish_reboptions
  2086.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON1"
  2087.           shell "" DoCharSet
  2088.           goto reboptions
  2089.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON2"
  2090.           shell "" DoSortOrder
  2091.           goto reboptions
  2092.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON3"
  2093.           shell "" DoScripts
  2094.           goto reboptions
  2095.         endif
  2096.   finish_reboptions = +
  2097.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgRebOptions)
  2098.        Return $(Status)
  2099.  
  2100.  
  2101. [DoNetDefaults]
  2102.        set !StreetName = $(!ComputerName)
  2103.     set !TCPIPSocketNumber = $(!DefTCPIPSocket)
  2104.     set !SocketNumber = $(!DefSocketNumber)
  2105.     set !ServiceName = $(!ComputerName)
  2106.     set !NetworkSelList = $(!DefNetworkSelList)
  2107.     set !NetAddresses = {}
  2108.     set !NetLibList = $(!NetLibDefList)
  2109.         Return
  2110.  
  2111.  
  2112. [DoNetInstall]
  2113.     set Status   = STATUS_FAILED
  2114. net_intsall =+
  2115.     set BillyBoard = ""
  2116.     shell "" DoNetDefaults
  2117.     read-syms NetInstallError$(!STF_LANGUAGE)
  2118.     LibraryProcedure OpenServerKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServer),$(!RegSQLServerSvr),""
  2119.     ifstr(i) $(OpenServerKey) == "KEY_ERROR"
  2120.       read-syms ErrorReadRegistry$(!STF_LANGUAGE)
  2121.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  2122.       goto end_net_install
  2123.     endif
  2124.     LibraryProcedure OpenMonKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServer),$(!SQLMonitorService)"\"$(!RegSQLSvrParam),""
  2125.     ifstr(i) $(OpenMonKey) == "KEY_ERROR"
  2126.       read-syms ErrorReadRegistry$(!STF_LANGUAGE)
  2127.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  2128.       goto end_net_install
  2129.     endif
  2130.     LibraryProcedure !ListenOn, $(!DLLSQL), RegRead $(OpenServerKey),$(!RegValListenOn)
  2131.     ForListDo $(!ListenOn)
  2132.       LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $($),"BEFORE",","
  2133.       LibraryProcedure After, $(!DLLSQL), StrBeforeAndAfter $($),"AFTER",","
  2134.       ifstr(i) $(Before) == $(!NetLibPipes)
  2135.         set !ServerNMPipeName = $(After)
  2136.           endif
  2137.       ifcontains(i) $(Before) in $(!NetLibList)
  2138.       else
  2139.         ifstr(i) $(Before) == $(!NetLibSPX)
  2140.           set !NetLibList = >( $(!NetLibList), $(!NetLibSPX))
  2141.           LibraryProcedure !ServiceName, $(!DLLSQL), StrBeforeAndAfter $(After),"BEFORE",","
  2142.           LibraryProcedure !SocketNumber, $(!DLLSQL), StrBeforeAndAfter $(After),"AFTER",","
  2143.           set !NetSelList = >( $(!NetSelList), *($(!NetworkSelList), 1))
  2144.           set !NetSelList = >( $(!NetSelList), *($(!NetworkSelList), 2))
  2145.           set !NetSelList = >( $(!NetSelList), *($(!NetworkSelList), 3))
  2146.         else-ifstr(i) $(Before) == $(!NetLibVines)
  2147.           set !NetLibList = >( $(!NetLibList), $(!NetLibVines))
  2148.           set !StreetName = $(After)
  2149.           set !NetSelList = >( $(!NetSelList), *($(!NetworkSelList), 4))
  2150.           set !NetSelList = >( $(!NetSelList), *($(!NetworkSelList), 5))
  2151.           set !NetSelList = >( $(!NetSelList), *($(!NetworkSelList), 6))
  2152.         else-ifstr(i) $(Before) == $(!NetLibTCPIP)
  2153.           set !NetLibList = >( $(!NetLibList), $(!NetLibTCPIP))
  2154.           set !TCPIPSocketNumber = $(After)
  2155.           set !NetSelList = >( $(!NetSelList), *($(!NetworkSelList), 7))
  2156.           set !NetSelList = >( $(!NetSelList), *($(!NetworkSelList), 8))
  2157.           set !NetSelList = >( $(!NetSelList), *($(!NetworkSelList), 9))
  2158.         else
  2159.           set !NetLibList = >( $(!NetLibList), $(Before))
  2160.           set !NetworkSelList = >( $(!NetworkSelList), $(Before))
  2161.           set !NetworkSelList = >( $(!NetworkSelList), $(!UserProvided))
  2162.           set !NetworkSelList = >( $(!NetworkSelList), $(After)))
  2163.           set !NetSelList = >( $(!NetworkSelList), $(Before))
  2164.           set !NetSelList = >( $(!NetworkSelList), $(!UserProvided))
  2165.           set !NetSelList = >( $(!NetworkSelList), $(After)))
  2166.         endif
  2167.       endif
  2168.     EndForListDo
  2169.         set !NetworkSelList = >( $(!NetworkSelList), *($(!DefUserProvNet), 1))
  2170.         set !NetworkSelList = >( $(!NetworkSelList), *($(!DefUserProvNet), 2))
  2171.         set !NetworkSelList = >( $(!NetworkSelList), *($(!DefUserProvNet), 3))
  2172.  
  2173.     set !AllowExit = "YES"
  2174.     shell "" DoNetwork
  2175.     ifstr(i) $($R0) == "STATUS_USERQUIT"
  2176.           goto end_net_install
  2177.         else-ifstr(i) $($R0) == "STATUS_BACK"
  2178.           set Status = STATUS_BACK
  2179.           goto end_net_install
  2180.         endif
  2181.     shell "" DoNetLibPrompts $(!NetLibList)
  2182.     ifstr(i) $($R0) == "STATUS_BACK"
  2183.       set Status = $($R0)
  2184.       goto net_intsall
  2185.     else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  2186.           goto end_net_install
  2187.         endif
  2188.         set NewNetLibs = $($R1)
  2189.         set NewNetAddrs = $($R2)
  2190.         shell "" RegWriteListenOn $(OpenServerKey) $(NewNetLibs) $(NewNetAddrs),"FORCE"
  2191.         shell "" RegWriteMonitor $(OpenMonKey) $(NewNetLibs),"FORCE"
  2192.  
  2193.         LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenServerKey)
  2194.         LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenMonKey)
  2195.  
  2196.     set Status = STATUS_SUCCESSFUL
  2197. end_net_install =+
  2198.     Return $(Status)
  2199.  
  2200.  
  2201. [DoGetSecurityOptions]
  2202. scratch =+
  2203.         set Status = STATUS_FAILED
  2204.         read-syms SetSecError$(!STF_LANGUAGE)
  2205.         shell "" RegGetSecuritySupport
  2206.         set !DefRadio = $($R1)
  2207.         ifstr(i) $(!MultipleNetworkSupport) != ""
  2208.           ifstr(i) $(!DefRadio) == "2"
  2209.             set !DefRadio = "1"
  2210.           endif
  2211.         endif
  2212.         read-syms SecurityDlg$(!STF_LANGUAGE)
  2213.         LibraryProcedure DlgSec, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  2214.         LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $(DlgSec),"EDIT1",$($R2)
  2215.         LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $(DlgSec),"EDIT2",$($R3)
  2216.         ForListDo $(!DefSecurityTokens)
  2217.           LibraryProcedure Result, $(!DLLSQL), DlgAddCmbEntry $(DlgSec),"CALLCOMBO1",$($)
  2218.           LibraryProcedure Result, $(!DLLSQL), DlgAddCmbEntry $(DlgSec),"CALLCOMBO2",$($)
  2219.           LibraryProcedure Result, $(!DLLSQL), DlgAddCmbEntry $(DlgSec),"CALLCOMBO3",$($)
  2220.         EndForListDo
  2221.         LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(DlgSec),"CALLCOMBO1","BYEDIT",$($R5)
  2222.         LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(DlgSec),"CALLCOMBO2","BYEDIT",$($R6)
  2223.         LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(DlgSec),"CALLCOMBO3","BYEDIT",$($R7)
  2224.         shell "" DoSecurityComboChecking $(DlgSec),"CALLCOMBO1"
  2225.         shell "" DoSecurityComboChecking $(DlgSec),"CALLCOMBO2"
  2226.         shell "" DoSecurityComboChecking $(DlgSec),"CALLCOMBO3"
  2227.         set OldAccount = $($R2)
  2228.         set OldRadio = $(!DefRadio)
  2229.         ifstr(i) $($R4) == "1"
  2230.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgSec),"UNIBUTTON1","TRUE"
  2231.         endif
  2232.         ifstr(i) $($R4) == "2"
  2233.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgSec),"UNIBUTTON2","TRUE"
  2234.         endif
  2235.         ifstr(i) $($R4) == "3"
  2236.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgSec),"UNIBUTTON1","TRUE"
  2237.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgSec),"UNIBUTTON2","TRUE"
  2238.         endif
  2239.         ifstr(i) $($R8) == "1"
  2240.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgSec),"UNIBUTTON3","TRUE"
  2241.         endif
  2242.         ifstr(i) $(!MultipleNetworkSupport) != ""
  2243.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"DLGBUTTON2","FALSE"
  2244.         endif
  2245. sec =+
  2246.         ifstr(i) $(!DefRadio) != "1"
  2247.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"TEXT1","TRUE"
  2248.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"TEXT2","TRUE"
  2249.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"TEXT3","TRUE"
  2250.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"TEXT4","TRUE"
  2251.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"TEXT5","TRUE"
  2252.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"TEXT6","TRUE"
  2253.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"EDIT1","TRUE"
  2254.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"EDIT2","TRUE"
  2255.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"UNIBUTTON3","TRUE"
  2256.       LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"CALLCOMBO1","TRUE"
  2257.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"CALLCOMBO2","TRUE"
  2258.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"CALLCOMBO3","TRUE"
  2259.         else
  2260.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"TEXT1","FALSE"
  2261.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"TEXT2","FALSE"
  2262.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"TEXT3","FALSE"
  2263.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"TEXT4","FALSE"
  2264.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"TEXT5","FALSE"
  2265.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"TEXT6","FALSE"
  2266.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"EDIT1","FALSE"
  2267.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"EDIT2","FALSE"
  2268.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"UNIBUTTON3","FALSE"
  2269.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"CALLCOMBO1","FALSE"
  2270.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"CALLCOMBO2","FALSE"
  2271.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSec),"CALLCOMBO3","FALSE"
  2272.         endif
  2273.     LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  2274.     ifstr(i) $(DLGEVENT) == "BACK"
  2275.       set Status = STATUS_BACK
  2276.       goto finish_sec
  2277.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  2278.           shell "" QueryUserQuit $(!STF_LANGUAGE)
  2279.           ifstr(i) $($R1) == "OK"
  2280.             set Status = STATUS_USERQUIT
  2281.             goto finish_sec
  2282.           else
  2283.             goto sec
  2284.           endif
  2285.         else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  2286.           set LoginMode = "0"
  2287.           set DefaultAccount = ""
  2288.           set DefaultDomain = ""
  2289.           set AuditLevel = "0"
  2290.           set SetHostname = "0"
  2291.           set Map1 = $(!DefSecMap1)
  2292.           set Map2 = $(!DefSecMap2)
  2293.           set Map3 = $(!DefSecMap3)
  2294.           LibraryProcedure ChkSucc, $(!DLLSQL), IsDlgBtnChecked $(DlgSec),"UNIBUTTON1"
  2295.       LibraryProcedure ChkFailed, $(!DLLSQL), IsDlgBtnChecked $(DlgSec),"UNIBUTTON2"
  2296.           LibraryProcedure Mode, $(!DLLSQL), IsDlgBtnChecked $(DlgSec),"DLGBUTTON1"
  2297.           ifstr(i) $(Mode) != "CHECKED"
  2298.             LibraryProcedure DefaultAccount, $(!DLLSQL), DlgGetEditText $(DlgSec),"EDIT1"
  2299.             LibraryProcedure DefaultDomain, $(!DLLSQL), DlgGetEditText $(DlgSec),"EDIT2"
  2300.             LibraryProcedure Map1, $(!DLLSQL), DlgGetCmbCurText $(DlgSec),"CALLCOMBO1",""
  2301.             LibraryProcedure Map2, $(!DLLSQL), DlgGetCmbCurText $(DlgSec),"CALLCOMBO2",""
  2302.             LibraryProcedure Map3, $(!DLLSQL), DlgGetCmbCurText $(DlgSec),"CALLCOMBO3",""
  2303.         shell "" DoGetTokenFromMap $(Map1)
  2304.             set Map1 = $($R0)
  2305.             shell "" DoGetTokenFromMap $(Map2)
  2306.             set Map2 = $($R0)
  2307.             shell "" DoGetTokenFromMap $(Map3)
  2308.             set Map3 = $($R0)
  2309.             ifstr(i) $(Map1) == $(Map2)
  2310.               ifstr(i) $(Map2) != ""
  2311.                 read-syms STR_DuplicateMap
  2312.              shell "" MessageError
  2313.              goto sec
  2314.            endif
  2315.             endif
  2316.             ifstr(i) $(Map1) == $(Map3)
  2317.               ifstr(i) $(Map3) != ""
  2318.                 read-syms STR_DuplicateMap
  2319.              shell "" MessageError
  2320.              goto sec
  2321.            endif
  2322.             endif
  2323.             ifstr(i) $(Map2) == $(Map3)
  2324.               ifstr(i) $(Map3) != ""
  2325.                 read-syms STR_DuplicateMap
  2326.              shell "" MessageError
  2327.              goto sec
  2328.            endif
  2329.             endif
  2330.             LibraryProcedure Mode, $(!DLLSQL), IsDlgBtnChecked $(DlgSec),"DLGBUTTON2"
  2331.             LibraryProcedure ChkSetHostname, $(!DLLSQL), IsDlgBtnChecked $(DlgSec),"UNIBUTTON3"
  2332.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgSec)
  2333.             set DlgSec = ""
  2334.  
  2335.             ifstr(i) $(DefaultAccount) != $(OldAccount)
  2336.               shell "" DoAddLogin $(DefaultAccount)
  2337.               ifstr(i) $($R0) == "STATUS_BACK"
  2338.                 goto scratch
  2339.               else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  2340.                 goto finish_sec
  2341.               endif
  2342.             endif
  2343.             ifstr(i) $(OldRadio) == "1"
  2344.               ifstr(i) $(DefaultAccount) == $(OldAccount)
  2345.                 shell "" DoAddLogin $(DefaultAccount)
  2346.                 ifstr(i) $($R0) == "STATUS_BACK"
  2347.                   goto scratch
  2348.                 else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  2349.                   goto finish_sec
  2350.                 endif
  2351.               endif
  2352.             endif
  2353.             ifstr(i) $(Mode) == "CHECKED"
  2354.               set LoginMode = "1"
  2355.             else
  2356.               set LoginMode = "2"
  2357.             endif
  2358.             ifstr(i) $(ChkSetHostname) == "CHECKED"
  2359.               set SetHostname = "1"
  2360.             else
  2361.               set SetHostname = "0"
  2362.             endif
  2363.           endif
  2364.           ifstr(i) $(ChkSucc) == "CHECKED"
  2365.         set-add AuditLevel = $(AuditLevel),1
  2366.           endif
  2367.           ifstr(i) $(ChkFailed) == "CHECKED"
  2368.             set-add AuditLevel = $(AuditLevel),2
  2369.           endif
  2370.           shell "" RegWriteSecuritySupport $(LoginMode),$(DefaultAccount),$(DefaultDomain),$(AuditLevel),$(Map1),$(Map2),$(Map3),$(SetHostname),"FORCE"
  2371.           set Status = STATUS_SUCCESSFUL
  2372.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON1"
  2373.           set !DefRadio = "1"
  2374.           goto sec
  2375.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON2"
  2376.           set !DefRadio = "2"
  2377.           goto sec
  2378.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON3"
  2379.           set !DefRadio = "3"
  2380.           goto sec
  2381.         else-ifstr(i) $(DLGEVENT) == "CALLCOMBOKILLFOCUS1"
  2382.           shell "" DoSecurityComboChecking $(DlgSec),"CALLCOMBO1"
  2383.           goto sec
  2384.         else-ifstr(i) $(DLGEVENT) == "CALLCOMBOKILLFOCUS2"
  2385.           shell "" DoSecurityComboChecking $(DlgSec),"CALLCOMBO2"
  2386.           goto sec
  2387.         else-ifstr(i) $(DLGEVENT) == "CALLCOMBOKILLFOCUS3"
  2388.           shell "" DoSecurityComboChecking $(DlgSec),"CALLCOMBO3"
  2389.           goto sec
  2390.         else
  2391.           goto sec
  2392.         endif
  2393. finish_sec =+
  2394.         ifstr(i) $(DlgSec) != ""
  2395.           LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgSec)
  2396.         endif
  2397.         Return $(Status)
  2398.  
  2399.  
  2400. [DoGetTokenFromMap]
  2401.     set Ret = $($0)
  2402.     ifstr(i) $($0) == $(!SecStrNotUsed)
  2403.       set Ret = ""
  2404.     endif
  2405.     ifstr(i) $($0) == $(!SecStrDomSep)
  2406.       set Ret = $(!SecTokDomainSep)
  2407.     endif
  2408.     ifstr(i) $($0) == $(!SecStrSpace)
  2409.       set Ret = $(!SecTokSpace)
  2410.     endif
  2411.         Return $(Ret)
  2412.  
  2413.  
  2414. [DoSecurityComboChecking]
  2415.     set Status = STATUS_SUCCESSFUL
  2416.     LibraryProcedure Text, $(!DLLSQL), DlgGetCmbCurText $($0),$($1),""
  2417.     ifstr(i) $(Text) == ""
  2418.       LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $($0),$($1),"BYEDIT",$(!SecStrNotUsed)
  2419.     else-ifstr(i) $(Text) == $(!SecTokDomainSep)
  2420.       LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $($0),$($1),"BYEDIT",$(!SecStrDomSep)
  2421.     else-ifstr(i) $(Text) == $(!SecTokSpace)
  2422.       LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $($0),$($1),"BYEDIT",$(!SecStrSpace)
  2423.         endif
  2424.          Return $(Status)
  2425.  
  2426.  
  2427. [DoAddLogin]
  2428.         set Status = STATUS_FAILED
  2429.         shell "" DoGetSAPassword
  2430.         ifstr(i) $($R0) == "STATUS_BACK"
  2431.           set Status = STATUS_BACK
  2432.           goto end_addlogin
  2433.         else-ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  2434.           goto end_addlogin
  2435.         endif
  2436.         shell "" StartService $(!SQLServerService)
  2437.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  2438.           goto end_addlogin
  2439.         endif
  2440.         StartWait
  2441.         LibraryProcedure Result, $(!DLLSQL), SQLLogin $(!LoginSleepPeriod),$(!LoginSleepRetrys),$(!ServerName),$(!SALogin),$(!SAPassword)
  2442.         ifstr(i) $(Result) == "NO_SERVER"
  2443.           read-syms NoLoginToSQLServer$(!STF_LANGUAGE)
  2444.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  2445.           goto end_addlogin
  2446.         endif
  2447.         StartWait
  2448.         LibraryProcedure Result, $(!DLLSQL), SQLExecute $(!SQLAddLogin)"'"$($0)"',NULL,'master'"
  2449.         ifstr(i) $(Result) == "BAD_SQL_EXEC"
  2450.           read-syms SQLExecError$(!STF_LANGUAGE)
  2451.           LibraryProcedure !AddlText, $(!DLLSQL), SQLGetErrorMsg
  2452.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  2453.           goto end_addlogin
  2454.         endif
  2455.         set Status = STATUS_SUCCESSFUL
  2456. end_addlogin =+
  2457.         LibraryProcedure Result, $(!DLLSQL), SQLLogout
  2458.         EndWait
  2459.         Return $(Status)
  2460.  
  2461.  
  2462.  
  2463. [DoNuke]
  2464.         set Status = STATUS_FAILED
  2465.         read-syms NukeError$(!STF_LANGUAGE)
  2466.         read-syms NukeDlg$(!STF_LANGUAGE)
  2467.         LibraryProcedure DlgNuke, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  2468. nuke =+
  2469.     LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  2470.     ifstr(i) $(DLGEVENT) == "BACK"
  2471.       set Status = STATUS_BACK
  2472.       goto finish_nuke
  2473.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  2474.           shell "" QueryUserQuit $(!STF_LANGUAGE)
  2475.           ifstr(i) $($R1) == "OK"
  2476.             set Status = STATUS_USERQUIT
  2477.             goto finish_nuke
  2478.           else
  2479.             goto nuke
  2480.           endif
  2481.         else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  2482.           StartWait
  2483.           shell "" StopService $(!SQLMonitorService)
  2484.           StartWait
  2485.           shell "" StopService $(!SQLServerService)
  2486.           StartWait
  2487.  
  2488.           shell "" DoPerfmonNuke "\\"$(!ComputerName)
  2489.  
  2490.           shell "" DoGroupOrderNuke "\\"$(!ComputerName)
  2491.  
  2492.           LibraryProcedure Result, $(!DLLSQL), DoServiceOp "\\"$(!ComputerName),"SERVICE_REMOVE",$(!SQLServerService),"",""
  2493.           LibraryProcedure Result, $(!DLLSQL), DoServiceOp "\\"$(!ComputerName),"SERVICE_REMOVE",$(!SQLMonitorService),"",""
  2494.           LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegSQLServerServer),$(!RegSQLServerVer)
  2495.           LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegSQLServerServer),$(!RegSQLSvrParam)
  2496.           LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegSQLServer),$(!RegSQLServerSvr)
  2497.           LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegSWMS),$(!SQLServerService)
  2498.           LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegEventAppLog),$(!SQLServerService)
  2499.           LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegSQLServer),$(!RegSQLSetupKey)
  2500.           LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegSQLServer),$(!RegSQLAdmin)
  2501.           LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegSQLServer),$(!RegSQLOM)
  2502.           LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegSQLServer),$(!RegISQLW)
  2503.           LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegSQLServer),$(!RegSecMan)
  2504.           LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegSQLServer),$(!RegSQLSvcMgr)
  2505.  
  2506.           shell "" RegUpdateTCPIPSupport "FALSE"
  2507.  
  2508.           StartWait
  2509.           LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegSQLServer),$(!SQLMonitorService)"\"$(!RegSQLSvrParam)
  2510.           LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegSQLServer),$(!SQLMonitorService)
  2511.  
  2512.           LibraryProcedure Result, $(!DLLSQL), IsDlgBtnChecked $(DlgNuke),"UNIBUTTON1"
  2513.           ifstr(i) $(Result) == "CHECKED"
  2514.             LibraryProcedure Result, $(!DLLSQL), Delnode "TREE_DELETE",$(!DefSQLPath)
  2515.           endif
  2516.  
  2517.           EndWait
  2518.       shell "" RegDeleteSystemPaths $(!RegSystemPaths), ""
  2519.           ifstr(i) $(!RemoteComputer) == ""
  2520.             install NukeSQLProgmanItems
  2521.           endif
  2522.           set Status = STATUS_SUCCESSFUL
  2523.         endif
  2524. finish_nuke =+
  2525.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgNuke)
  2526.         EndWait
  2527.     Return $(Status)
  2528.  
  2529.  
  2530. [DoLicense]
  2531.         set Status   = STATUS_FAILED
  2532. start_fullnameorgname =+
  2533.        read-syms QueryFullNameOrgNameDlg$(!STF_LANGUAGE)
  2534.         LibraryProcedure DlgLicense, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  2535. fullnameorgname =+
  2536.     LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  2537.        ifstr(i) $(DLGEVENT) == "CONTINUE"
  2538.          LibraryProcedure EditTextOut1, $(!DLLSQL), DlgGetEditText $(DlgLicense),"EDIT1"
  2539.          LibraryProcedure EditTextOut2, $(!DLLSQL), DlgGetEditText $(DlgLicense),"EDIT2"
  2540.           ifstr(i) $(EditTextOut1) == ""
  2541.             read-syms DBNoNameNOrg$(!STF_LANGUAGE)
  2542.             shell "" MessageError
  2543.             goto fullnameorgname
  2544.           else
  2545.             LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgLicense)
  2546.             set !FullName = $(EditTextOut1)
  2547.             set !OrgName  = $(EditTextOut2)
  2548.             goto start_verifyfullnameorgname
  2549.           endif
  2550.         else-ifstr(i) $(DLGEVENT) == "CALLCOMBOKILLFOCUS1"
  2551.           goto fullnameorgname
  2552.        else-ifstr(i) $(DLGEVENT) == "EXIT"
  2553.           shell "" QueryUserQuit $(!STF_LANGUAGE)
  2554.           ifstr(i) $($R1) == "OK"
  2555.             set Status = STATUS_USERQUIT
  2556.             goto finish_license
  2557.           else
  2558.             set ReInit = NO
  2559.             goto fullnameorgname
  2560.           endif
  2561.         else
  2562.           goto finish_license
  2563.         endif
  2564.  
  2565. start_verifyfullnameorgname = +
  2566.         read-syms VerifyFullNameOrgNameDlg$(!STF_LANGUAGE)
  2567.         LibraryProcedure DlgLicense, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  2568. verifyfullnameorgname =+
  2569.     LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  2570.         ifstr(i) $(DLGEVENT) == "CONTINUE"
  2571.           set Status = STATUS_SUCCESSFUL
  2572.           goto finish_license
  2573.         else-ifstr(i) $(DLGEVENT) == "CALLCOMBOKILLFOCUS1"
  2574.           goto verifyfullnameorgname
  2575.         else-ifstr(i) $(DLGEVENT) == "BACK"
  2576.           LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgLicense)
  2577.           goto start_fullnameorgname
  2578.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  2579.           shell "" QueryUserQuit $(!STF_LANGUAGE)
  2580.           ifstr(i) $($R1) == "OK"
  2581.             set Status = STATUS_USERQUIT
  2582.             goto finish_license
  2583.           else
  2584.             goto verifyfullnameorgname
  2585.           endif
  2586.         else
  2587.           goto finish_license
  2588.         endif
  2589. finish_license = +
  2590.         ifstr(i) $(DlgLicense) != ""
  2591.           LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgLicense)
  2592.         endif
  2593.         Return $(Status)
  2594.  
  2595.  
  2596. [DoSetupType]
  2597.         StartWait
  2598.         set Status = STATUS_FAILED
  2599.         ifstr(i) $(!Owner) == ""
  2600.           set PrevInstallType = "1"
  2601.         else
  2602.           set PrevInstallType = "2"
  2603.         endif
  2604.         read-syms InstallTypeChoicesDlg$(!STF_LANGUAGE)
  2605.         LibraryProcedure SetupTypeDlg, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  2606.         ifstr(i) $(!StandAlone) != ""
  2607.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(SetupTypeDlg),"DLGBUTTON1","FALSE"
  2608.         endif
  2609. start_setuptype =+
  2610.         ifstr(i) $(!Owner) == ""
  2611.           ForListDo $(!InstallSet)
  2612.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(SetupTypeDlg),"UNIBUTTON"$($),"FALSE"
  2613.           EndForListDo
  2614.         else
  2615.           ForListDo $(!InstallSetInstld)
  2616.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(SetupTypeDlg),"UNIBUTTON"$($),"FALSE"
  2617.           EndForListDo
  2618.         endif
  2619.       LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(SetupTypeDlg),"UNIBUTTON"$(PrevInstallType),"UNIBUTTON1","UNIBUTTON9"
  2620. setuptype = +
  2621.         EndWait
  2622.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  2623.         ifstr(i) $(DLGEVENT) == "CONTINUE"
  2624.           set Status = STATUS_SUCCESSFUL
  2625.       LibraryProcedure !InstallType, $(!DLLSQL), GetCheckedRadio $(SetupTypeDlg)
  2626.       ifstr(i) $(!InstallType) == "4"
  2627.         ifstr(i) $(!StandAlone) != ""
  2628.           read-syms NoNetChangeDevVer
  2629.           shell "" MessageError
  2630.           goto setuptype
  2631.         else-ifstr(i) $(!IntegratedSecurity) != ""
  2632.           read-syms NoNetChangeIntSec
  2633.           shell "" MessageError
  2634.           goto setuptype
  2635.         endif
  2636.       endif
  2637.     else-ifstr(i) $(DLGEVENT) == "DLGBUTTON1"
  2638.           LibraryProcedure PrevInstallType, $(!DLLSQL), GetCheckedRadio $(SetupTypeDlg)
  2639.           read-syms RemoteCancel$(!STF_LANGUAGE)
  2640.           shell "" DoGetRemoteSetup
  2641.           ifstr(i) $($R0) == "STATUS_USERQUIT"
  2642.             set Status = $($R0)
  2643.             goto finish_options
  2644.           endif
  2645.           ifstr(i) $(!RemoteComputer) != $(!OldRemoteComputer)
  2646.             StartWait
  2647.             set !OldRemoteComputer = $(!RemoteComputer)
  2648.             ForListDo $(!CompleteInstSet)
  2649.               LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(SetupTypeDlg),"UNIBUTTON"$($),"TRUE"
  2650.             EndForListDo
  2651.             ifstr(i) $(!Owner) == ""
  2652.               ifcontains(i) $(PrevInstallType) in $(!InstallSet)
  2653.                 set PrevInstallType = "1"
  2654.               endif
  2655.             else
  2656.               ifcontains(i) $(PrevInstallType) in $(!InstallSetInstld)
  2657.                 set PrevInstallType = "2"
  2658.               endif
  2659.             endif
  2660.             goto start_setuptype
  2661.           else
  2662.             goto setuptype
  2663.           endif
  2664.         else-ifstr(i) $(DLGEVENT) == "CALLCOMBOKILLFOCUS1"
  2665.           goto setuptype
  2666.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  2667.           shell "" QueryUserQuit $(!STF_LANGUAGE)
  2668.           ifstr(i) $($R1) == "OK"
  2669.             set Status = STATUS_USERQUIT
  2670.           else
  2671.             goto setuptype
  2672.           endif
  2673.         endif
  2674.   finish_options = +
  2675.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(SetupTypeDlg)
  2676.         Return $(Status)
  2677.  
  2678.  
  2679. [DoGetRemoteSetup]
  2680.         set Status = STATUS_FAILED
  2681.         set RemSQLLog = "C"
  2682.         set RemNTLog = ""
  2683.         set RemDBLog = ""
  2684.         set LocalRemoteSQLDrive = ""
  2685.         set LocalRemoteNTDrive = ""
  2686.         set LocalRemoteDBDrive = ""
  2687.         set RemMode = "DLGBUTTON2"
  2688.         read-syms RemoteDlg$(!STF_LANGUAGE)
  2689.         LibraryProcedure RemoteDlg, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  2690.         ForListDo $(!SupportedRemoteShares)
  2691.           LibraryProcedure Result, $(!DLLSQL), DlgAddCmbEntry $(RemoteDlg),"CALLCOMBO1",$($)
  2692.         EndForListDo
  2693.         ifstr(i) $(!RemoteComputer) == ""
  2694.           LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(RemoteDlg),"CALLCOMBO1","BYINDEX","0"
  2695.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"DLGBUTTON2","FALSE"
  2696.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"DLGBUTTON3","FALSE"
  2697.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"DLGBUTTON4","FALSE"
  2698.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"EDIT1","FALSE"
  2699.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"CALLCOMBO1","FALSE"
  2700.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"TEXT1","FALSE"
  2701.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"TEXT2","FALSE"
  2702.         else
  2703.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(RemoteDlg),"DLGBUTTON1","TRUE"
  2704.           LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $(RemoteDlg),"EDIT1",$(!RemoteComputer)
  2705.           LibraryProcedure RemSQLLog, $(!DLLSQL), StrBeforeAndAfter $(!LogicalSQLDrive),"BEFORE",":"
  2706.           LibraryProcedure RemNTLog, $(!DLLSQL), StrBeforeAndAfter $(!LogicalNTDrive),"BEFORE",":"
  2707.           LibraryProcedure RemDBLog, $(!DLLSQL), StrBeforeAndAfter $(!LogicalDBDrive),"BEFORE",":"
  2708.           LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(RemoteDlg),"CALLCOMBO1","BYENTRY",$(RemSQLLog)
  2709.         endif
  2710.         ifstr(i) $(!StandAlone) != ""
  2711.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"DLGBUTTON1","FALSE"
  2712.         endif
  2713. remoteset = +
  2714.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  2715.         ifstr(i) $(DLGEVENT) == "CONTINUE"
  2716.           LibraryProcedure LocalCB, $(!DLLSQL), IsDlgBtnChecked $(RemoteDlg),"DLGBUTTON1"
  2717.           ifstr(i) $(LocalCB) != "CHECKED"
  2718.             ifstr(i) $(!RemoteSQLDrive) != ""
  2719.               LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "DISCONNECT","","",$(!RemoteSQLDrive)
  2720.               set !RemoteSQLDrive = ""
  2721.             endif
  2722.             ifstr(i) $(!RemoteNTDrive) != ""
  2723.               LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "DISCONNECT","","",$(!RemoteNTDrive)
  2724.               set !RemoteNTDrive = ""
  2725.             endif
  2726.             ifstr(i) $(!RemoteDBDrive) != ""
  2727.               LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "DISCONNECT","","",$(!RemoteDBDrive)
  2728.               set !RemoteDBDrive = ""
  2729.             endif
  2730.             shell "" DoSetLocalSetup
  2731.             ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  2732.               set Status = STATUS_USERQUIT
  2733.             else
  2734.               set Status = STATUS_SUCCESSFUL
  2735.             endif
  2736.             goto end_remoteset
  2737.           endif
  2738.  
  2739.           LibraryProcedure LocalRemoteComputer, $(!DLLSQL), DlgGetEditText $(RemoteDlg),"EDIT1"
  2740.           LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(LocalRemoteComputer),"LASTAFTER","\"
  2741.           ifstr(i) $(Temp) != ""
  2742.             set LocalRemoteComputer = $(Temp)
  2743.           endif
  2744.  
  2745.           ifstr(i) $(LocalRemoteComputer) == ""
  2746.             read-syms NoRemoteSpec$(!STF_LANGUAGE)
  2747.             shell "" MessageError
  2748.             goto remoteset
  2749.           endif
  2750.           ifstr(i) $(RemNTLog) == ""
  2751.             set RemNTLog = $(RemSQLLog)
  2752.           endif
  2753.           ifstr(i) $(RemDBLog) == ""
  2754.             set RemDBLog = $(RemSQLLog)
  2755.           endif
  2756.  
  2757.           detect ReadUnusedDrives
  2758.           shell "" AllocateUnusedDrive
  2759.           ifstr(i) $(R0) == "STATUS_FAILED"
  2760.             read-syms CannotAllocUnusedDrive$(!STF_LANGUAGE)
  2761.             shell "" MessageError
  2762.             goto remoteset
  2763.           else
  2764.             set LocalRemoteSQLDrive = $($R1)
  2765.           endif
  2766.           ifstr(i) $(RemNTLog) != $(RemSQLLog)
  2767.             shell "" AllocateUnusedDrive
  2768.             ifstr(i) $(R0) == "STATUS_FAILED"
  2769.               read-syms CannotAllocUnusedDrive$(!STF_LANGUAGE)
  2770.               shell "" MessageError
  2771.               goto remoteset
  2772.             else
  2773.               set LocalRemoteNTDrive = $($R1)
  2774.             endif
  2775.           else
  2776.             set LocalRemoteNTDrive = $(LocalRemoteSQLDrive)
  2777.           endif
  2778.           ifstr(i) $(RemDBLog) != $(RemSQLLog)
  2779.             ifstr(i) $(RemDBLog) != $(RemNTLog)
  2780.               shell "" AllocateUnusedDrive
  2781.               ifstr(i) $(R0) == "STATUS_FAILED"
  2782.                 read-syms CannotAllocUnusedDrive$(!STF_LANGUAGE)
  2783.                 shell "" MessageError
  2784.                 goto remoteset
  2785.               else
  2786.                 set LocalRemoteDBDrive = $($R1)
  2787.               endif
  2788.             else
  2789.               set LocalRemoteDBDrive = $(LocalRemoteNTDrive)
  2790.             endif
  2791.           else
  2792.             set LocalRemoteDBDrive = $(LocalRemoteSQLDrive)
  2793.           endif
  2794.  
  2795.           set ErrText = ""
  2796.           LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "CONNECT","\\"$(LocalRemoteComputer)"\"$(RemSQLLog)"$","",$(LocalRemoteSQLDrive)
  2797.           ifstr(i) $(Result) != ""
  2798.             read-syms NetworkDriveConnectError$(!STF_LANGUAGE)
  2799.             LibraryProcedure ErrText, $(!DLLSQL), AppendToString $(ErrText),$(!AddlText)
  2800.             read-syms NetworkDriveConnectSQLInst$(!STF_LANGUAGE)
  2801.             LibraryProcedure ErrText, $(!DLLSQL), AppendToString $(ErrText),$(!AddlText)
  2802.             LibraryProcedure !AddlText, $(!DLLSQL), AppendToString $(ErrText),$(Result)
  2803.             shell "" MessageError
  2804.             goto remoteset
  2805.           endif
  2806.           ifstr(i) $(RemNTLog) != $(RemSQLLog)
  2807.             LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "CONNECT","\\"$(LocalRemoteComputer)"\"$(RemNTLog)"$","",$(LocalRemoteNTDrive)
  2808.             ifstr(i) $(Result) != ""
  2809.               read-syms NetworkDriveConnectError$(!STF_LANGUAGE)
  2810.               LibraryProcedure ErrText, $(!DLLSQL), AppendToString $(ErrText),$(!AddlText)
  2811.               read-syms NetworkDriveConnectNTInst$(!STF_LANGUAGE)
  2812.               LibraryProcedure ErrText, $(!DLLSQL), AppendToString $(ErrText),$(!AddlText)
  2813.               LibraryProcedure !AddlText, $(!DLLSQL), AppendToString $(ErrText),$(Result)
  2814.               shell "" MessageError
  2815.               LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "DISCONNECT","","",$(LocalRemoteSQLDrive)
  2816.               goto remoteset
  2817.             endif
  2818.           endif
  2819.           ifstr(i) $(RemDBLog) != $(RemSQLLog)
  2820.             ifstr(i) $(RemDBLog) != $(RemNTLog)
  2821.               LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "CONNECT","\\"$(LocalRemoteComputer)"\"$(RemDBLog)"$","",$(LocalRemoteDBDrive)
  2822.               ifstr(i) $(Result) != ""
  2823.                 read-syms NetworkDriveConnectError$(!STF_LANGUAGE)
  2824.                 LibraryProcedure ErrText, $(!DLLSQL), AppendToString $(ErrText),$(!AddlText)
  2825.                 read-syms NetworkDriveConnectDBInst$(!STF_LANGUAGE)
  2826.                 LibraryProcedure ErrText, $(!DLLSQL), AppendToString $(ErrText),$(!AddlText)
  2827.                 LibraryProcedure !AddlText, $(!DLLSQL), AppendToString $(ErrText),$(Result)
  2828.                 shell "" MessageError
  2829.                 LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "DISCONNECT","","",$(LocalRemoteSQLDrive)
  2830.                 ifstr(i) $(RemNTLog) != $(RemSQLLog)
  2831.                   LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "DISCONNECT","","",$(LocalRemoteNTDrive)
  2832.                 endif
  2833.                 goto remoteset
  2834.               endif
  2835.             endif
  2836.           endif
  2837.  
  2838.           ifstr(i) $(!RemoteSQLDrive) != ""
  2839.             LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "DISCONNECT","","",$(!RemoteSQLDrive)
  2840.           endif
  2841.           ifstr(i) $(!RemoteNTDrive) != ""
  2842.             LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "DISCONNECT","","",$(!RemoteNTDrive)
  2843.           endif
  2844.           ifstr(i) $(!RemoteDBDrive) != ""
  2845.             LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "DISCONNECT","","",$(!RemoteDBDrive)
  2846.           endif
  2847.  
  2848.           set !StandAlone = ""
  2849.           set !RemoteSQLDrive = $(LocalRemoteSQLDrive)
  2850.           set !RemoteNTDrive = $(LocalRemoteNTDrive)
  2851.           set !RemoteDBDrive = $(LocalRemoteDBDrive)
  2852.           set !LogicalSQLDrive = $(RemSQLLog)":"
  2853.           set !LogicalDBDrive = $(RemDBLog)":"
  2854.           set !LogicalNTDrive = $(RemNTLog)":"
  2855.           set !ComputerName = $(LocalRemoteComputer)
  2856.           set !ServerName = $(!ComputerName)
  2857.           set !RemoteComputer = $(!ComputerName)
  2858.           set !DefSQLPath = $(!RemoteSQLDrive)"\"$(!DefSQLStub)
  2859.           set !LogicalSystemMemory = $(!MinSystemMemory)
  2860.  
  2861.           LibraryProcedure Key, $(!DLLSQL), RegOpen "\\"$(!ComputerName),$(!RegSQLWinNT)
  2862.       ifstr(i) $(Key) != "KEY_ERROR"
  2863.         LibraryProcedure !SystemDirectory, $(!DLLSQL), RegRead $(Key),$(!RegValSystemRoot)
  2864.         LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(!SystemDirectory),"AFTER",":"
  2865.         set !SystemDirectory = $(!RemoteNTDrive)$(Temp)"\"$(!SystemDir)
  2866.             LibraryProcedure Result, $(!DLLSQL), RegClose $(Key)
  2867.           endif
  2868.           shell "" GetPreviousInstallationInfo
  2869.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  2870.             set Status = STATUS_USERQUIT
  2871.             goto end_remoteset
  2872.           endif
  2873.           set Status = STATUS_SUCCESSFUL
  2874.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON1"
  2875.           LibraryProcedure Result, $(!DLLSQL), IsDlgBtnChecked $(RemoteDlg),"DLGBUTTON1"
  2876.           ifstr(i) $(Result) == "CHECKED"
  2877.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"EDIT1","TRUE"
  2878.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"CALLCOMBO1","TRUE"
  2879.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"TEXT1","TRUE"
  2880.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"TEXT2","TRUE"
  2881.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"DLGBUTTON2","TRUE"
  2882.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"DLGBUTTON3","TRUE"
  2883.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"DLGBUTTON4","TRUE"
  2884.             goto remoteset
  2885.           else
  2886.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"EDIT1","FALSE"
  2887.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"CALLCOMBO1","FALSE"
  2888.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"TEXT1","FALSE"
  2889.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"TEXT2","FALSE"
  2890.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"DLGBUTTON2","FALSE"
  2891.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"DLGBUTTON3","FALSE"
  2892.             LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(RemoteDlg),"DLGBUTTON4","FALSE"
  2893.             goto remoteset
  2894.           endif
  2895.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON2"
  2896.           set RemMode = $(DLGEVENT)
  2897.           LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(RemoteDlg),"CALLCOMBO1","BYENTRY",$(RemSQLLog)
  2898.           goto remoteset
  2899.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON3"
  2900.           set RemMode = $(DLGEVENT)
  2901.           ifstr(i) $(RemNTLog) == ""
  2902.             set TheLog = $(RemSQLLog)
  2903.           else
  2904.             set TheLog = $(RemNTLog)
  2905.           endif
  2906.           LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(RemoteDlg),"CALLCOMBO1","BYENTRY",$(TheLog)
  2907.           goto remoteset
  2908.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON4"
  2909.           set RemMode = $(DLGEVENT)
  2910.           ifstr(i) $(RemDBLog) == ""
  2911.             set TheLog = $(RemSQLLog)
  2912.           else
  2913.             set TheLog = $(RemDBLog)
  2914.           endif
  2915.           LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(RemoteDlg),"CALLCOMBO1","BYENTRY",$(TheLog)
  2916.           goto remoteset
  2917.         else-ifstr(i) $(DLGEVENT) == "CALLCOMBOKILLFOCUS1"
  2918.           goto remoteset
  2919.         else-ifstr(i) $(DLGEVENT) == "CALLCOMBO1"
  2920.           LibraryProcedure Result, $(!DLLSQL), DlgGetCmbCurText $(RemoteDlg),"CALLCOMBO1",""
  2921.           ifstr(i) $(RemMode) == "DLGBUTTON2"
  2922.             set RemSQLLog = $(Result)
  2923.           else-ifstr(i) $(RemMode) == "DLGBUTTON3"
  2924.             set RemNTLog = $(Result)
  2925.           else-ifstr(i) $(RemMode) == "DLGBUTTON4"
  2926.             set RemDBLog = $(Result)
  2927.           endif
  2928.           goto remoteset
  2929.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  2930.           set Status = STATUS_BACK
  2931.         else
  2932.           goto remoteset
  2933.         endif
  2934. end_remoteset =+
  2935.         ifstr(i) $(Status) != "STATUS_SUCCESSFUL"
  2936.           ifstr(i) $(LocalRemoteSQLDrive) != ""
  2937.             LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "DISCONNECT","","",$(LocalRemoteSQLDrive)
  2938.           endif
  2939.           ifstr(i) $(LocalRemoteNTDrive) != ""
  2940.             LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "DISCONNECT","","",$(LocalRemoteNTDrive)
  2941.           endif
  2942.           ifstr(i) $(LocalRemoteDBDrive) != ""
  2943.             LibraryProcedure Result, $(!DLLSQL), NETDriveOperation "DISCONNECT","","",$(LocalRemoteDBDrive)
  2944.           endif
  2945.         endif
  2946.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(RemoteDlg)
  2947.         Return $(Status)
  2948.  
  2949.  
  2950. [DoSetLocalSetup]
  2951.             set Status = STATUS_SUCCESSFUL
  2952.             set !RemoteComputer = ""
  2953.             set !LogicalSQLDrive = $(!Primary)
  2954.             set !LogicalDBDrive = $(!Primary)
  2955.             set !LogicalNTDrive = $(!Primary)
  2956.             set !SystemDirectory = $(!STF_WINDOWSSYSPATH)
  2957.             set !LogicalSystemMemory = $(!SystemMemory)
  2958.             LibraryProcedure !ComputerName, $(!DLLSQL), GetMachineName
  2959.  
  2960.             ifstr(i) $(!SQLReleaseNumber) == $(!StandAloneRelease)
  2961.               set !StandAlone = "1"
  2962.               set !ServerName = ""
  2963.             else
  2964.               LibraryProcedure Result, $(!DLLSQL), GetServiceState "\\"$(!ComputerName),$(!LANManWksta)
  2965.               ifstr(i) $(Result) != "SERVICE_RUNNING"
  2966.                 set !StandAlone = "1"
  2967.                 set !ServerName = ""
  2968.               else
  2969.                 set !StandAlone = ""
  2970.                 set !ServerName = $(!ComputerName)
  2971.               endif
  2972.             endif
  2973.         set !DefSQLPath = $(!Primary)"\"$(!DefSQLStub)
  2974.  
  2975.         ifstr(i) $(!RegistryRebuild) == ""
  2976.               shell "" GetPreviousInstallationInfo
  2977.               ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  2978.                 set Status = STATUS_FAILED
  2979.               endif
  2980.             else
  2981.               LibraryProcedure !AdminACL, $(!DLLSQL), CreateSecurityAttribute "\\"$(!ComputerName),$(!AdministratorsGroup),"GENERIC_ALL","BUILTIN"
  2982.               ifstr(i) $(!AdminACL) == "CANNOT_CREATE_ACL"
  2983.                 set !AdminACL = ""
  2984.               endif
  2985.             endif
  2986.             Return $(Status)
  2987.  
  2988.  
  2989. [DoNewOptions]
  2990.         StartWait
  2991.         set Status = STATUS_FAILED
  2992.         read-syms NewInstallOptionsDlg$(!STF_LANGUAGE)
  2993.         LibraryProcedure DlgNewOptions, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  2994.         QueryListSize NumNets $(!NetLibList)
  2995.         ifstr(i) $(!StandAlone) == ""
  2996.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgNewOptions),"DLGBUTTON4","TRUE"
  2997.         else
  2998.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgNewOptions),"DLGBUTTON4","FALSE"
  2999.         endif
  3000.         EndWait
  3001. newoptions = +
  3002.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  3003.         ifstr(i) $(DLGEVENT) == "EXIT"
  3004.           shell "" QueryUserQuit $(!STF_LANGUAGE)
  3005.           ifstr(i) $($R1) == "OK"
  3006.             set Status = STATUS_USERQUIT
  3007.             goto finish_newoptions
  3008.           else
  3009.             goto newoptions
  3010.           endif
  3011.         else-ifstr(i) $(DLGEVENT) == "BACK"
  3012.           set Status = STATUS_BACK
  3013.           goto finish_newoptions
  3014.         else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  3015.       LibraryProcedure !AutoServerService, $(!DLLSQL), IsDlgBtnChecked $(DlgNewOptions),"DLGBUTTON6"
  3016.       LibraryProcedure !AutoMonitorService, $(!DLLSQL), IsDlgBtnChecked $(DlgNewOptions),"DLGBUTTON7"
  3017.           set !TheCharSetPath = $(!SQLPath)"\"$(!CharSets)"\"$(!TheCharSet)
  3018.           set Status = STATUS_SUCCESSFUL
  3019.           goto finish_newoptions
  3020.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON1"
  3021.           shell "" DoCharSet
  3022.           goto newoptions
  3023.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON2"
  3024.           shell "" DoSortOrder
  3025.           goto newoptions
  3026.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON3"
  3027.           shell "" DoLanguage
  3028.           goto newoptions
  3029.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON4"
  3030.           set !AllowExit = "NO"
  3031.           shell "" DoNetwork
  3032.           set !AllowExit = "YES"
  3033.           goto newoptions
  3034.         else-ifstr(i) $(DLGEVENT) == "DLGBUTTON5"
  3035.           shell "" DoScripts
  3036.           goto newoptions
  3037.     else-ifstr(i) $(DLGEVENT) == "DLGBUTTON6"
  3038.       LibraryProcedure Result, $(!DLLSQL), IsDlgBtnChecked $(DlgNewOptions),"DLGBUTTON6"
  3039.       ifstr(i) $(Result) != "CHECKED"
  3040.         LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgNewOptions),"DLGBUTTON7","FALSE"
  3041.       endif
  3042.           goto newoptions
  3043.     else-ifstr(i) $(DLGEVENT) == "DLGBUTTON7"
  3044.       LibraryProcedure Result, $(!DLLSQL), IsDlgBtnChecked $(DlgNewOptions),"DLGBUTTON7"
  3045.       ifstr(i) $(Result) == "CHECKED"
  3046.         LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgNewOptions),"DLGBUTTON6","TRUE"
  3047.       endif
  3048.           goto newoptions
  3049.         endif
  3050.   finish_newoptions = +
  3051.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgNewOptions)
  3052.        Return $(Status)
  3053.  
  3054. [DoSetFreeDiskSpace]
  3055.         LibraryProcedure FreeFormattedSpace, $(!DLLSQL), GetDriveFreeSpace $($1)"\"
  3056.         LibraryProcedure FreeSpace, $(!DLLSQL), GetDriveFreeSpace $($1)"\","UNFORMATTED"
  3057.         ifstr(i) $(FreeFormattedSpace) == "PLENTY"
  3058.           read-syms STR_Plenty
  3059.           LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $($0),$($2),$(!AddlText)
  3060.         else
  3061.           LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $($0),$($2),$(FreeFormattedSpace)
  3062.         endif
  3063.         set Status = STATUS_SUCCESSFUL
  3064.         Return $(Status),$(FreeSpace)
  3065.  
  3066.  
  3067.  
  3068. [ExecNReturnSQLCmd]
  3069.           set Status = STATUS_FAILED
  3070.           set Data   = ""
  3071.           LibraryProcedure Result, $(!DLLSQL), SQLAddtoCmdBuff $($0)
  3072.           LibraryProcedure Result, $(!DLLSQL), SQLExecuteCmdBuff
  3073.           ifstr(i) $(Result) == "BAD_SQL_EXEC"
  3074.             read-syms SQLExecError$(!STF_LANGUAGE)
  3075.             LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)$(!LF)
  3076.             LibraryProcedure !AddlText, $(!DLLSQL), SQLGetErrorMsg
  3077.             LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)$(!LF)
  3078.             set Status = STATUS_FAILED
  3079.             goto finish_sqlexec
  3080.           endif
  3081.           LibraryProcedure Result, $(!DLLSQL), SQLGetNextResultSet
  3082.           ifstr(i) $(Result) != "BAD_RESULTS"
  3083.             LibraryProcedure Result, $(!DLLSQL), SQLBindColumn $($1), "1"
  3084.             LibraryProcedure Result, $(!DLLSQL), SQLNextRow $(!OneNextRow)
  3085.             LibraryProcedure Data, $(!DLLSQL), SQLGetBindingData "1"
  3086.             LibraryProcedure Result, $(!DLLSQL), SQLNextRow $(!PurgeRows)
  3087.           endif
  3088.           set Status = STATUS_SUCCESSFUL
  3089. finish_sqlexec =+
  3090.           Return $(Status) $(Data)
  3091.  
  3092.  
  3093.  
  3094. [DoGetPath]
  3095.     set Status = STATUS_FAILED
  3096. start_getpath = +
  3097.         ifstr(i) $(!DlgEdit) == ""
  3098.          read-syms GetPathDlg$(!STF_LANGUAGE)
  3099.           LibraryProcedure !DlgEdit, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"",""
  3100.         endif
  3101. getpath = +
  3102.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  3103.         ifstr(i) $(DLGEVENT) == "EXIT"
  3104.           ifstr(i) $(!AllowExit) == "YES"
  3105.             shell "" QueryUserQuit $(!STF_LANGUAGE)
  3106.             ifstr(i) $($R1) == "OK"
  3107.               set Status = STATUS_USERQUIT
  3108.             else
  3109.               goto getpath
  3110.             endif
  3111.           else
  3112.             set Status = STATUS_CANCEL
  3113.           endif
  3114.           else-ifstr(i) $(DLGEVENT) == "BACK"
  3115.             set Status = "STATUS_BACK"
  3116.           else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  3117.             LibraryProcedure EditTextOut, $(!DLLSQL), DlgGetEditText $(!DlgEdit),"EDIT1"
  3118.             ifstr(i) $(EditTextOut) == ""
  3119.               ifstr(i) $(!PermitNullName) == "NO"
  3120.                 read-syms $(!NoNameText)
  3121.               shell "" MessageError
  3122.               goto getpath
  3123.             endif
  3124.           endif
  3125.             set Status = STATUS_SUCCESSFUL
  3126.             set !PathOut = $(EditTextOut)
  3127.             ifstr(i) $(!CreatePathPrompt) == "YES"
  3128.               set DEST = $(!PathOut)
  3129.             detect DetectDirectory
  3130.             ifstr $(DirectoryThere) == "NO"
  3131.               shell "" DoCreateDirectory
  3132.               ifstr(i) $($R0) == "STATUS_YES"
  3133.                 set !CreatePath = "YES"
  3134.               else
  3135.                 goto getpath
  3136.               endif
  3137.             endif
  3138.           endif
  3139.         endif
  3140.         ifstr(i) $(!AutoPopoff) == "YES"
  3141.           LibraryProcedure Result, $(!DLLSQL), CloseDialog $(!DlgEdit)
  3142.           set !DlgEdit = ""
  3143.         endif
  3144.        Return $(Status)
  3145.  
  3146.  
  3147.  
  3148. [DoGetSpaceSQLPath]
  3149.         StartWait
  3150.     read-syms $($0)
  3151.         LibraryProcedure DlgSpaceSQLPath, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  3152.         ifstr(i) $(!RemoteComputer) == ""
  3153.           LibraryProcedure HardDrives, $(!DLLSQL), ListDriveTypes $($3)
  3154.           ForListDo $(HardDrives)
  3155.             LibraryProcedure Result, $(!DLLSQL), DlgAddCmbEntry $(DlgSpaceSQLPath),"CALLCOMBO1",$($)
  3156.           EndForListDo
  3157.           ifstr(i) $($6) != ""
  3158.             LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(DlgSpaceSQLPath),"CALLCOMBO1","BYENTRY",$($6)
  3159.           else
  3160.             LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(DlgSpaceSQLPath),"CALLCOMBO1","BYINDEX","0"
  3161.           endif
  3162.         else
  3163.           LibraryProcedure Result, $(!DLLSQL), DlgAddCmbEntry $(DlgSpaceSQLPath),"CALLCOMBO1",$(!RemoteSQLDrive)
  3164.           LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(DlgSpaceSQLPath),"CALLCOMBO1","BYINDEX","0"
  3165.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSpaceSQLPath),"CALLCOMBO1","FALSE"
  3166.         endif
  3167.         LibraryProcedure CurDrv, $(!DLLSQL), DlgGetCmbCurText $(DlgSpaceSQLPath),"CALLCOMBO1",""
  3168.         ifstr(i) $($4) != ""
  3169.           shell "" DoSetFreeDiskSpace $(DlgSpaceSQLPath),$(CurDrv),"TEXT2"
  3170.           set UnformattedSpace = $($R1)
  3171.           LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $(DlgSpaceSQLPath),"TEXT1",$($1)
  3172.         endif
  3173.     LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(!DefInPath),"AFTER",":"
  3174.     ifstr(i) $(Temp) == ""
  3175.       set Temp = $(!DefInPath)
  3176.     endif
  3177.         LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $(DlgSpaceSQLPath),"EDIT1",$(Temp)
  3178. spacesqlpath =+
  3179.         EndWait
  3180.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  3181.         ifstr(i) $(DLGEVENT) == "CALLCOMBO1"
  3182.           LibraryProcedure CurDrv, $(!DLLSQL), DlgGetCmbCurText $(DlgSpaceSQLPath),"CALLCOMBO1",""
  3183.           ifstr(i) $($4) != ""
  3184.             shell "" DoSetFreeDiskSpace $(DlgSpaceSQLPath),$(CurDrv),"TEXT2"
  3185.             set UnformattedSpace = $($R1)
  3186.           endif
  3187.           goto spacesqlpath
  3188.         else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  3189.           ifstr(i) $($4) != ""
  3190.             ifstr(i) $(!RegistryRebuild) == ""
  3191.               ifstr(i) $(!SpaceChecking) != "OFF"
  3192.                 ifstr(i) $(UnformattedSpace) != "PLENTY"
  3193.               LibraryProcedure MegSize, $(!DLLSQL), IntMultiply $($2),"1024","DIVIDE"
  3194.               ifint $(UnformattedSpace) < $(MegSize)
  3195.                 read-syms STR_InsufficientDiskSpace
  3196.                       shell "" MessageError
  3197.                       goto spacesqlpath
  3198.                     endif
  3199.                   endif
  3200.                 endif
  3201.         endif
  3202.       endif
  3203.  
  3204.           LibraryProcedure PathOut, $(!DLLSQL), DlgGetEditText $(DlgSpaceSQLPath),"EDIT1"
  3205.           LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(PathOut),"AFTER",":"
  3206.           ifstr(i) $(Temp) == ""
  3207.         set Temp = $(PathOut)
  3208.       endif
  3209.           ifstr(i) $($5)  == "MASTERFORMAT_MUSTEXIST"
  3210.             LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $(PathOut),"LASTAFTER","\"
  3211.             ifstr(i) $(Before) == ""
  3212.               read-syms DBNoPath$(!STF_LANGUAGE)
  3213.               shell "" MessageError
  3214.               goto spacesqlpath
  3215.             endif
  3216.             LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $(PathOut),"LASTBEFORE","\"
  3217.             LibraryProcedure After, $(!DLLSQL), StrBeforeAndAfter $(PathOut),"LASTAFTER","\"
  3218.             LibraryProcedure PathAfter, $(!DLLSQL), StrBeforeAndAfter $(After),"LASTAFTER","."
  3219.             ifstr(i) $(PathAfter) == ""
  3220.               read-syms DBNoDat$(!STF_LANGUAGE)
  3221.               shell "" MessageError
  3222.               goto spacesqlpath
  3223.             endif
  3224.             LibraryProcedure Result, $(!DLLSQL), DoesFileExist $(CurDrv)$(PathOut)
  3225.             ifstr(i) $(Result) != ""
  3226.               read-syms MasterMustExist$(!STF_LANGUAGE)
  3227.            shell "" MessageError
  3228.            goto spacesqlpath
  3229.             endif
  3230.             set Temp = $(Before)
  3231.             set File = $(After)
  3232.           endif
  3233.           set Status = STATUS_SUCCESSFUL
  3234.         else-ifstr(i) $(DLGEVENT) == "BACK"
  3235.           set Status = STATUS_BACK
  3236.           goto end_spacesqlpath
  3237.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  3238.           shell "" QueryUserQuit $(!STF_LANGUAGE)
  3239.           ifstr(i) $($R1) == "OK"
  3240.             set Status = STATUS_USERQUIT
  3241.             goto end_spacesqlpath
  3242.           else
  3243.             goto spacesqlpath
  3244.           endif
  3245.         else
  3246.           goto spacesqlpath
  3247.         endif
  3248. end_spacesqlpath =+
  3249.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgSpaceSQLPath)
  3250.         Return $(Status),$(CurDrv),$(Temp),$(File)
  3251.  
  3252.  
  3253. [DoGetSpaceMasterPath]
  3254.         StartWait
  3255.     read-syms $($0)
  3256.         LibraryProcedure DlgSpaceMasterSQLPath, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  3257.         ifstr(i) $(!RemoteComputer) == ""
  3258.           LibraryProcedure HardDrives, $(!DLLSQL), ListDriveTypes $($3)
  3259.           ForListDo $(HardDrives)
  3260.             LibraryProcedure Result, $(!DLLSQL), DlgAddCmbEntry $(DlgSpaceMasterSQLPath),"CALLCOMBO1",$($)
  3261.           EndForListDo
  3262.           ifstr(i) $($6) != ""
  3263.             LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(DlgSpaceMasterSQLPath),"CALLCOMBO1","BYENTRY",$($6)
  3264.           else
  3265.             LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(DlgSpaceMasterSQLPath),"CALLCOMBO1","BYINDEX","0"
  3266.           endif
  3267.         else
  3268.           LibraryProcedure Result, $(!DLLSQL), DlgAddCmbEntry $(DlgSpaceMasterSQLPath),"CALLCOMBO1",$(!RemoteDBDrive)
  3269.           LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(DlgSpaceMasterSQLPath),"CALLCOMBO1","BYINDEX","0"
  3270.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgSpaceMasterSQLPath),"CALLCOMBO1","FALSE"
  3271.         endif
  3272.         LibraryProcedure CurDrv, $(!DLLSQL), DlgGetCmbCurText $(DlgSpaceMasterSQLPath),"CALLCOMBO1",""
  3273.         ifstr(i) $($4) != ""
  3274.           shell "" DoSetFreeDiskSpace $(DlgSpaceMasterSQLPath),$(CurDrv),"TEXT2"
  3275.           set UnformattedSpace = $($R1)
  3276.           LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $(DlgSpaceMasterSQLPath),"TEXT1",$($1)" "$(!MasterDBSize)
  3277.         endif
  3278.     LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(!DefMasterPath),"AFTER",":"
  3279.     ifstr(i) $(Temp) == ""
  3280.       set Temp = $(!DefMasterPath)
  3281.     endif
  3282.         LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $(DlgSpaceMasterSQLPath),"EDIT1",$(Temp)
  3283. spacesqlpath =+
  3284.         EndWait
  3285.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  3286.         ifstr(i) $(DLGEVENT) == "CALLCOMBO1"
  3287.           LibraryProcedure CurDrv, $(!DLLSQL), DlgGetCmbCurText $(DlgSpaceMasterSQLPath),"CALLCOMBO1",""
  3288.           ifstr(i) $($4) != ""
  3289.             shell "" DoSetFreeDiskSpace $(DlgSpaceMasterSQLPath),$(CurDrv),"TEXT2"
  3290.             set UnformattedSpace = $($R1)
  3291.           endif
  3292.           goto spacesqlpath
  3293.         else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  3294.           LibraryProcedure PathOut, $(!DLLSQL), DlgGetEditText $(DlgSpaceMasterSQLPath),"EDIT1"
  3295.           LibraryProcedure MstrSize, $(!DLLSQL), DlgGetEditText $(DlgSpaceMasterSQLPath),"EDIT2"
  3296.           LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(PathOut),"AFTER",":"
  3297.           ifstr(i) $(Temp) == ""
  3298.         set Temp = $(PathOut)
  3299.       endif
  3300.  
  3301.       LibraryProcedure After, $(!DLLSQL), StrBeforeAndAfter $(PathOut),"LASTAFTER","\"
  3302.       LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $(PathOut),"LASTBEFORE","\"
  3303.           LibraryProcedure PathAfter, $(!DLLSQL), StrBeforeAndAfter $(After),"LASTAFTER","."
  3304.           ifstr(i) $(PathAfter) == ""
  3305.             read-syms DBNoDat$(!STF_LANGUAGE)
  3306.             shell "" MessageError
  3307.             goto spacesqlpath
  3308.           endif
  3309.  
  3310.           ifstr(i) $(!RegistryRebuild) == ""
  3311.             LibraryProcedure Result, $(!DLLSQL), DoesFileExist $(CurDrv)$(PathOut)
  3312.             ifstr(i) $(Result) == ""
  3313.               ifstr(i) $($5)  != "MASTER_DONT_CARE_EXIST"
  3314.                 read-syms MasterExists$(!STF_LANGUAGE)
  3315.                 read-syms YesNoDlg$(!STF_LANGUAGE)
  3316.               ui start $(DlgTemplate)
  3317.                 ifstr(i) $(DLGEVENT) == "NO"
  3318.                   goto spacesqlpath
  3319.                 endif
  3320.               endif
  3321.             endif
  3322.  
  3323.         LibraryProcedure Result, $(!DLLSQL), CheckStringFormat "FMT_DATABASE_SIZE",$(!MinMasterSize),$(MstrSize)
  3324.         ifstr(i) $(Result) == "BAD_FORMAT"
  3325.                 read-syms DBSizeInvalid$(!STF_LANGUAGE)
  3326.                 shell "" MessageError
  3327.           goto spacesqlpath
  3328.         else
  3329.               ifstr(i) $(Result) == "TOO_SMALL"
  3330.                   read-syms DBSizeInvalid$(!STF_LANGUAGE)
  3331.                   shell "" MessageError
  3332.                   goto spacesqlpath
  3333.                 else
  3334.                   ifstr(i) $($4) != ""
  3335.                     ifstr(i) $(!SpaceChecking) != "OFF"
  3336.                 ifstr(i) $(UnformattedSpace) != "PLENTY"
  3337.                         LibraryProcedure MasterK, $(!DLLSQL), IntMultiply $(MstrSize),"1024"
  3338.                         LibraryProcedure FilesK, $(!DLLSQL), IntMultiply $($2),"1024","DIVIDE"
  3339.                         LibraryProcedure TotalK, $(!DLLSQL), IntMultiply $(MasterK),$(FilesK),"ADD"
  3340.                   ifint $(UnformattedSpace) < $(TotalK)
  3341.                     read-syms STR_InsufficientDiskSpace
  3342.                           shell "" MessageError
  3343.                           goto spacesqlpath
  3344.                         endif
  3345.                 endif
  3346.                     endif
  3347.                   endif
  3348.                   set !SQLMasterSize = $(Result)
  3349.                 endif
  3350.               endif
  3351.             endif
  3352.             set Status = STATUS_SUCCESSFUL
  3353.           set !MasterDBFileName = $(After)
  3354.           ifstr(i) $(!RemoteComputer) == ""
  3355.             set !LogicalDBDrive = $(CurDrv)
  3356.         set !MasterDBPath = $(!LogicalDBDrive)$(Before)
  3357.       else
  3358.         set !MasterDBPath = $(!RemoteDBDrive)$(Before)
  3359.       endif
  3360.       set !DefMasterPath = $(!MasterDBPath)"\"$(!MasterDBFileName)
  3361.  
  3362.           set Status = STATUS_SUCCESSFUL
  3363.         else-ifstr(i) $(DLGEVENT) == "BACK"
  3364.           set Status = STATUS_BACK
  3365.           goto end_spacesqlpath
  3366.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  3367.           shell "" QueryUserQuit $(!STF_LANGUAGE)
  3368.           ifstr(i) $($R1) == "OK"
  3369.             set Status = STATUS_USERQUIT
  3370.             goto end_spacesqlpath
  3371.           else
  3372.             goto spacesqlpath
  3373.           endif
  3374.         else
  3375.           goto spacesqlpath
  3376.         endif
  3377. end_spacesqlpath =+
  3378.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgSpaceMasterSQLPath)
  3379.         Return $(Status)
  3380.  
  3381.  
  3382. [DoGetUtilsAndPath]
  3383.         StartWait
  3384.     read-syms GetSpaceUtilOptsDlg
  3385.         LibraryProcedure DlgUtilPath, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"MODAL",""
  3386.         ifstr(i) $(!RemoteComputer) == ""
  3387.           LibraryProcedure HardDrives, $(!DLLSQL), ListDriveTypes "1"
  3388.           ForListDo $(HardDrives)
  3389.             LibraryProcedure Result, $(!DLLSQL), DlgAddCmbEntry $(DlgUtilPath),"CALLCOMBO1",$($)
  3390.           EndForListDo
  3391.           LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(DlgUtilPath),"CALLCOMBO1","BYINDEX","0"
  3392.         else
  3393.           LibraryProcedure Result, $(!DLLSQL), DlgAddCmbEntry $(DlgUtilPath),"CALLCOMBO1",$(!RemoteSQLDrive)
  3394.           LibraryProcedure Result, $(!DLLSQL), DlgSetCmbCurSel $(DlgUtilPath),"CALLCOMBO1","BYINDEX","0"
  3395.           LibraryProcedure Result, $(!DLLSQL), EnableDlgBtn $(DlgUtilPath),"CALLCOMBO1","FALSE"
  3396.         endif
  3397.         LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgUtilPath),"DLGBUTTON1","TRUE"
  3398.         LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgUtilPath),"DLGBUTTON2","TRUE"
  3399.         LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgUtilPath),"DLGBUTTON3","TRUE"
  3400.         LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgUtilPath),"DLGBUTTON4","TRUE"
  3401.         LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgUtilPath),"DLGBUTTON5","TRUE"
  3402.         LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgUtilPath),"DLGBUTTON6","TRUE"
  3403.         LibraryProcedure CurDrv, $(!DLLSQL), DlgGetCmbCurText $(DlgUtilPath),"CALLCOMBO1",""
  3404.         shell "" DoSetFreeDiskSpace $(DlgUtilPath),$(CurDrv),"TEXT2"
  3405.         set UnformattedSpace = $($R1)
  3406.         shell "" DoGetUtilSelectionList $(DlgUtilPath)
  3407.         set GetCost = "TRUE"
  3408.         install InstallUtilFiles
  3409.         set GetCost = ""
  3410.         LibraryProcedure Result, $(!DLLSQL), CheckStringFormat "FMT_SPACE","KILO",$(SpaceCost)
  3411.         LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $(DlgUtilPath),"TEXT1",$(Result)
  3412.     LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(!DefInPath),"AFTER",":"
  3413.     ifstr(i) $(Temp) == ""
  3414.       set Temp = $(!DefInPath)
  3415.     endif
  3416.         LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $(DlgUtilPath),"EDIT1",$(Temp)
  3417. spacesqlpath =+
  3418.         EndWait
  3419.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  3420.         ifstr(i) $(DLGEVENT) == "CALLCOMBO1"
  3421.           LibraryProcedure CurDrv, $(!DLLSQL), DlgGetCmbCurText $(DlgUtilPath),"CALLCOMBO1",""
  3422.           shell "" DoSetFreeDiskSpace $(DlgUtilPath),$(CurDrv),"TEXT2"
  3423.           set UnformattedSpace = $($R1)
  3424.           goto spacesqlpath
  3425.         else-ifstr(i) $(DLGEVENT) == "CALLCOMBOKILLFOCUS1"
  3426.           goto spacesqlpath
  3427.         else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  3428.           shell "" DoGetUtilSelectionList $(DlgUtilPath)
  3429.       QueryListSize NumNets $(!UtilFiles)
  3430.           ifint $(NumNets) == "0"
  3431.             read-syms NoUtils$(!STF_LANGUAGE)
  3432.             shell "" MessageError
  3433.             goto spacesqlpath
  3434.           endif
  3435.  
  3436.           ifstr(i) $(!SpaceChecking) != "OFF"
  3437.             ifstr(i) $(UnformattedSpace) != "PLENTY"
  3438.           LibraryProcedure MegSize, $(!DLLSQL), IntMultiply $(SpaceCost),"1024","DIVIDE"
  3439.           ifint $(UnformattedSpace) < $(MegSize)
  3440.             read-syms STR_InsufficientDiskSpace
  3441.                   shell "" MessageError
  3442.                   goto spacesqlpath
  3443.                 endif
  3444.               endif
  3445.       endif
  3446.  
  3447.           LibraryProcedure PathOut, $(!DLLSQL), DlgGetEditText $(DlgUtilPath),"EDIT1"
  3448.           LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(PathOut),"AFTER",":"
  3449.           ifstr(i) $(Temp) == ""
  3450.         set Temp = $(PathOut)
  3451.       endif
  3452.           set Status = STATUS_SUCCESSFUL
  3453.         else-ifstr(i) $(DLGEVENT) == "BACK"
  3454.           set Status = STATUS_BACK
  3455.           goto end_spacesqlpath
  3456.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  3457.           ifstr(i) $(!AllowExit) == "YES"
  3458.             shell "" QueryUserQuit $(!STF_LANGUAGE)
  3459.             ifstr(i) $($R1) == "OK"
  3460.               set Status = STATUS_USERQUIT
  3461.               goto end_spacesqlpath
  3462.             else
  3463.               goto spacesqlpath
  3464.             endif
  3465.           endif
  3466.         else
  3467.           StartWait
  3468.           shell "" DoGetUtilSelectionList $(DlgUtilPath)
  3469.           set GetCost = "TRUE"
  3470.           install InstallUtilFiles
  3471.           set GetCost = ""
  3472.           LibraryProcedure Result, $(!DLLSQL), CheckStringFormat "FMT_SPACE","KILO",$(SpaceCost)
  3473.           LibraryProcedure Result, $(!DLLSQL), DlgSetEditText $(DlgUtilPath),"TEXT1",$(Result)
  3474.           EndWait
  3475.           goto spacesqlpath
  3476.         endif
  3477. end_spacesqlpath =+
  3478.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgUtilPath)
  3479.         Return $(Status),$(CurDrv),$(Temp)
  3480.  
  3481.  
  3482.  
  3483. [DoGetUtilSelectionList]
  3484.     set !UtilFiles = {}
  3485.         LibraryProcedure BtnState, $(!DLLSQL), IsDlgBtnChecked $($0),"DLGBUTTON1"
  3486.     ifstr(i) $(BtnState) == "CHECKED"
  3487.       set !UtilFiles = >( $(!UtilFiles), $(!BCP))
  3488.     endif
  3489.         LibraryProcedure BtnState, $(!DLLSQL), IsDlgBtnChecked $($0),"DLGBUTTON2"
  3490.     ifstr(i) $(BtnState) == "CHECKED"
  3491.       set !UtilFiles = >( $(!UtilFiles), $(!ISQL))
  3492.     endif
  3493.         LibraryProcedure BtnState, $(!DLLSQL), IsDlgBtnChecked $($0),"DLGBUTTON3"
  3494.     ifstr(i) $(BtnState) == "CHECKED"
  3495.       set !UtilFiles = >( $(!UtilFiles), $(!SQLAdminEXE))
  3496.     endif
  3497.         LibraryProcedure BtnState, $(!DLLSQL), IsDlgBtnChecked $($0),"DLGBUTTON4"
  3498.     ifstr(i) $(BtnState) == "CHECKED"
  3499.       set !UtilFiles = >( $(!UtilFiles), $(!SQLObjectEXE))
  3500.     endif
  3501.     LibraryProcedure BtnState, $(!DLLSQL), IsDlgBtnChecked $($0),"DLGBUTTON5"
  3502.     ifstr(i) $(BtnState) == "CHECKED"
  3503.       set !UtilFiles = >( $(!UtilFiles), $(!SQLSecManEXE))
  3504.     endif
  3505.     LibraryProcedure BtnState, $(!DLLSQL), IsDlgBtnChecked $($0),"DLGBUTTON6"
  3506.     ifstr(i) $(BtnState) == "CHECKED"
  3507.       set !UtilFiles = >( $(!UtilFiles), $(!ReadPipe))
  3508.     endif
  3509.         Return
  3510.  
  3511.  
  3512. [DoGetPathNCopy]
  3513.     set Status = STATUS_FAILED
  3514. getnetpath =+
  3515.         read-syms $(!CopyPathTemplate)
  3516.         shell "" DoGetPath
  3517.         ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  3518.           ifstr(i) $(!ExtraEdit) != ""
  3519.             LibraryProcedure !ExtraEditText, $(!DLLSQL), DlgGetEditText $(!DlgEdit),$(!ExtraEdit)
  3520.             ifstr(i) $(!ExtraEditText) == ""
  3521.               set !AddlText = $(!ExtraEditFail)
  3522.               shell "" MessageError
  3523.               goto getnetpath
  3524.             endif
  3525.           endif
  3526.  
  3527.           LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $(!PathOut),"BEFORE","\"
  3528.           LibraryProcedure Type, $(!DLLSQL), GetDrvType $(Before)"\"
  3529.           ifstr(i) $(Type) == "DRIVE_REMOVEABLE"
  3530.             set !TmpDrive = $(Before)
  3531.             read-syms InsertDisk$(!STF_LANGUAGE)
  3532.             shell "" MessageError
  3533.           endif
  3534.  
  3535.           LibraryProcedure Result, $(!DLLSQL), DoesFileExist $(!PathOut)
  3536.           ifstr(i) $(Result) != ""
  3537.         read-syms FileDoesntExist$(!STF_LANGUAGE)
  3538.             shell "" MessageError
  3539.             goto getnetpath
  3540.           endif
  3541.           LibraryProcedure After, $(!DLLSQL), StrBeforeAndAfter $(!PathOut),"AFTER","\"
  3542.           ifstr(i) $(After) == ""
  3543.         read-syms FileDoesntExist$(!STF_LANGUAGE)
  3544.             shell "" MessageError
  3545.             goto getnetpath
  3546.           endif
  3547.  
  3548.           LibraryProcedure !TheStripped, $(!DLLSQL), GetStrippedFilename $(!PathOut)
  3549.           LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $(!PathOut),"LASTBEFORE","\"
  3550.  
  3551.       set !SrcCopyPath = $(Before)"\"
  3552.       set !DestCopyPath = $(!DestPath)
  3553.       set !OneOffFile = $(!TheStripped)
  3554.       read-syms ProgressCopyVars
  3555.       install InstallOneOffFileCopy
  3556.       ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  3557.               read-syms FileCouldNotBeCopied$(!STF_LANGUAGE)
  3558.             LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  3559.             goto end_getpathncopy
  3560.           endif
  3561.             set Status = STATUS_SUCCESSFUL
  3562.           else-ifstr(i) $($R0) == "STATUS_BACK"
  3563.             set Status = STATUS_BACK
  3564.     endif
  3565. end_getpathncopy =+
  3566.           LibraryProcedure Result, $(!DLLSQL), CloseDialog $(!DlgEdit)
  3567.           set !DlgEdit = ""
  3568.     Return $(Status)
  3569.  
  3570. [DoReBuild]
  3571.         set Status = STATUS_FAILED
  3572.         set !DlgHandle = ""
  3573.  
  3574.         ifstr(i) $(!TheSortFile) == $(!UserDefined)
  3575.           shell "" DoGetSortFileName
  3576.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  3577.             goto end_rebuild
  3578.           endif
  3579.         endif
  3580.  
  3581.         read-syms InstallingDlg$(!STF_LANGUAGE)
  3582.         LibraryProcedure !DlgHandle, $(!DLLSQL), BillBoard $(STF_HWND),"",$(!SQLDlgNames)
  3583.         StartWait
  3584.         ProcessExecute Result,"WAIT",$(!SQLPath)"\"$(!Binaries)"\"$(!BuildMaster)" /d"$(!MasterDBPath)"\"$(!MasterDBFileName)" /s"$(!SQLMasterSize)" /o"$(!SQLPath)"\"$(!InstallDir)"\"$(!BuildMasterOut)
  3585.         EndWait
  3586.         ifstr(i) $(Result) == "PROCESS_ERROR"
  3587.       read-syms ProcessExecError$(!STF_LANGUAGE)
  3588.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!BuildMaster)" "$(!AddlText)
  3589.       goto end_rebuild
  3590.     else-ifstr(i) $(Result) != "0"
  3591.       read-syms ProcessRetError$(!STF_LANGUAGE)
  3592.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!BuildMaster)" "$(!AddlText)" "$(Result)
  3593.       goto end_rebuild
  3594.         endif
  3595.  
  3596.       shell "" UpdateSCM $($0)
  3597.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  3598.       read-syms SCMError$(!STF_LANGUAGE)
  3599.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  3600.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$($R1)
  3601.           goto end_rebuild
  3602.         endif
  3603.  
  3604.         shell "" RegWriteSerialNumberInfo
  3605.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  3606.           goto end_rebuild
  3607.         endif
  3608.  
  3609.         shell "" RegWriteANSIOEM
  3610.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  3611.           goto end_rebuild
  3612.         endif
  3613.  
  3614.         read-syms BillboardRunningNConnSQL$(!STF_LANGUAGE)
  3615.         LibraryProcedure Result, $(!DLLSQL), UpdateBillboard $(!DlgHandle),$(!BillName)
  3616.  
  3617.     shell "" StartService $(!SQLServerService)
  3618.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  3619.       goto end_rebuild
  3620.         endif
  3621.  
  3622.         LibraryProcedure Result, $(!DLLSQL), SQLLogin $(!LoginSleepPeriod),$(!LoginSleepRetrys),$(!ServerName),$(!SALogin),$(!SAPassword)
  3623.         ifstr(i) $(Result) == "NO_SERVER"
  3624.           read-syms NoLoginToSQLServer$(!STF_LANGUAGE)
  3625.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  3626.           goto end_rebuild
  3627.         endif
  3628.  
  3629.         LibraryProcedure Result, $(!DLLSQL), SQLLogout
  3630.  
  3631.         read-syms BillboardCharset$(!STF_LANGUAGE)
  3632.         LibraryProcedure Result, $(!DLLSQL), UpdateBillboard $(!DlgHandle),$(!BillName)
  3633.  
  3634.         StartWait
  3635.         ProcessExecute Result,"WAIT",$(!SQLPath)"\"$(!Binaries)"\"$(!CharSet)" /S"$(!ServerName)" /P /o"$(!SQLPath)"\"$(!InstallDir)"\"$(!CharSetOut)" /L"$(!TheCharSetPath)" "$(!TheSortFile)
  3636.         EndWait
  3637.         ifstr(i) $(Result) == "PROCESS_ERROR"
  3638.       read-syms ProcessExecError$(!STF_LANGUAGE)
  3639.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!CharSet)" "$(!AddlText)
  3640.       goto end_rebuild
  3641.     else-ifstr(i) $(Result) != "0"
  3642.       read-syms ProcessRetError$(!STF_LANGUAGE)
  3643.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!CharSet)" "$(!AddlText)" "$(Result)
  3644.       goto end_rebuild
  3645.         endif
  3646.  
  3647.     shell "" UpdateSystemTables
  3648.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  3649.           goto end_rebuild
  3650.     endif
  3651.  
  3652.     shell "" StopService $(!SQLServerService)
  3653.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  3654.       goto end_rebuild
  3655.         endif
  3656.  
  3657.     read-syms BillboardIndexing$(!STF_LANGUAGE)
  3658.         LibraryProcedure Result, $(!DLLSQL), UpdateBillboard $(!DlgHandle),$(!BillName)
  3659.     shell "" ReIndexServer
  3660.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  3661.           goto end_rebuild
  3662.         endif
  3663.  
  3664.         read-syms BillboardInstScripts$(!STF_LANGUAGE)
  3665.         LibraryProcedure Result, $(!DLLSQL), UpdateBillboard $(!DlgHandle),$(!BillName)
  3666.         shell "" CreateConfig
  3667.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  3668.           goto end_rebuild
  3669.         endif
  3670.  
  3671.         shell "" InstallScripts
  3672.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  3673.           goto end_rebuild
  3674.         endif
  3675.  
  3676.         ifstr(i) $(!Locale) != ""
  3677.           shell "" DoLangInst $(!Locale),"","CHECKED"
  3678.           ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  3679.             goto end_rebuild
  3680.           endif
  3681.         endif
  3682.  
  3683.         shell "" CheckInstallSuccess "FALSE"
  3684.  
  3685.     ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  3686.           goto end_rebuild
  3687.         endif
  3688.         set Status = STATUS_SUCCESSFUL
  3689. end_rebuild =+
  3690.         shell "" StopService $(!SQLServerService)
  3691.         ifstr(i) $(!DlgHandle) != ""
  3692.           LibraryProcedure Result, $(!DLLSQL), CloseDialog $(!DlgHandle)
  3693.         endif
  3694.         Return $(Status)
  3695.  
  3696. [DoGetNetLibPath]
  3697.         set Status = STATUS_FAILED
  3698.     set !CopyPathTemplate = GetNetLibPathDlg$(!STF_LANGUAGE)
  3699.     set !DestPath = $(!SQLPath)"\"$(!DLLs)
  3700.     shell "" DoGetPathNCopy
  3701.     set Status = $($R0)
  3702.     ifstr(i) $(Status) == "STATUS_SUCCESSFUL"
  3703.           LibraryProcedure !UserNetLib, $(!DLLSQL), StrBeforeAndAfter $(!TheStripped),"BEFORE","."
  3704.     endif
  3705.     Return $(Status)
  3706.  
  3707. [DoGetSortFileName]
  3708.         set Status = STATUS_FAILED
  3709.     set !CopyPathTemplate = GetSortFileDlg$(!STF_LANGUAGE)
  3710.     set !DestPath = $(!SQLPath)"\"$(!CharSets)
  3711.     shell "" DoGetPathNCopy
  3712.     ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  3713.       set Status = STATUS_SUCCESSFUL
  3714.       set !TheCharSetPath = $(!SQLPath)"\"$(!CharSets)
  3715.       set !TheSortFile = $(!TheStripped)
  3716.       set !TheSortConfigValue = $(!ExtraEditText)
  3717.     endif
  3718.     Return $(Status)
  3719.  
  3720. [DoGetSAPassword]
  3721.         set !AllowExit = "YES"
  3722.     set Status = STATUS_FAILED
  3723.         ifstr(i) $(!DlgEdit) == ""
  3724.       read-syms GetSAPasswordDlg$(!STF_LANGUAGE)
  3725.       set !SAPassword = ""
  3726.       LibraryProcedure !DlgEdit, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"",""
  3727.         endif
  3728. getsapass = +
  3729.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  3730.         ifstr(i) $(DLGEVENT) == "EXIT"
  3731.           ifstr(i) $(!AllowExit) == "YES"
  3732.             shell "" QueryUserQuit $(!STF_LANGUAGE)
  3733.             ifstr(i) $($R1) == "OK"
  3734.               set Status = STATUS_USERQUIT
  3735.             else
  3736.           goto getsapass
  3737.             endif
  3738.           else
  3739.             set Status = STATUS_CANCEL
  3740.           endif
  3741.           else-ifstr(i) $(DLGEVENT) == "BACK"
  3742.             set Status = "STATUS_BACK"
  3743.           else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  3744.       LibraryProcedure EditTextOut1, $(!DLLSQL), DlgGetEditText $(!DlgEdit),"EDIT1"
  3745.       LibraryProcedure EditTextOut2, $(!DLLSQL), DlgGetEditText $(!DlgEdit),"EDIT2"
  3746.       ifstr(i) $(EditTextOut1) != $(EditTextOut2)
  3747.         read-syms PasswordsDontMatch$(!STF_LANGUAGE)
  3748.             shell "" MessageError
  3749.         goto getsapass
  3750.       endif
  3751.       set Status = STATUS_SUCCESSFUL
  3752.       set !SAPassword = $(EditTextOut1)
  3753.         endif
  3754.         ifstr(i) $(!AutoPopoff) == "YES"
  3755.           LibraryProcedure Result, $(!DLLSQL), CloseDialog $(!DlgEdit)
  3756.           set !DlgEdit = ""
  3757.         endif
  3758.        Return $(Status)
  3759.  
  3760.  
  3761. [DoGetMailInfo]
  3762.     set Status = STATUS_FAILED
  3763.         ifstr(i) $(!DlgEdit) == ""
  3764.       read-syms GetMailInfoDlg$(!STF_LANGUAGE)
  3765.       set !MSMailUser = ""
  3766.       set !MSMailPwd = ""
  3767.       set !CopyMailInfo = ""
  3768.       LibraryProcedure !DlgEdit, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"",""
  3769.       LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(!DlgEdit),"UNIBUTTON1","TRUE"
  3770.     endif
  3771.  
  3772. getmailinfo = +
  3773.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  3774.         ifstr(i) $(DLGEVENT) == "EXIT"
  3775.           ifstr(i) $(!AllowExit) == "YES"
  3776.             shell "" QueryUserQuit $(!STF_LANGUAGE)
  3777.             ifstr(i) $($R1) == "OK"
  3778.               set Status = STATUS_USERQUIT
  3779.             else
  3780.           goto getmailinfo
  3781.             endif
  3782.           else
  3783.             set Status = STATUS_CANCEL
  3784.           endif
  3785.           else-ifstr(i) $(DLGEVENT) == "BACK"
  3786.             set Status = "STATUS_BACK"
  3787.           else-ifstr(i) $(DLGEVENT) == "CONTINUE"
  3788.       LibraryProcedure EditTextOut1, $(!DLLSQL), DlgGetEditText $(!DlgEdit),"EDIT1"
  3789.       LibraryProcedure EditTextOut2, $(!DLLSQL), DlgGetEditText $(!DlgEdit),"EDIT2"
  3790.       LibraryProcedure EditTextOut3, $(!DLLSQL), DlgGetEditText $(!DlgEdit),"EDIT3"
  3791.       ifstr(i) $(EditTextOut2) != $(EditTextOut3)
  3792.         read-syms PasswordsDontMatch$(!STF_LANGUAGE)
  3793.             shell "" MessageError
  3794.         goto getmailinfo
  3795.       endif
  3796.       LibraryProcedure !CopyMailInfo, $(!DLLSQL), IsDlgBtnChecked $(!DlgEdit),"UNIBUTTON1"
  3797.       set Status = STATUS_SUCCESSFUL
  3798.       set !MSMailUser = $(EditTextOut1)
  3799.       set !MSMailPwd = $(EditTextOut2)
  3800.     else
  3801.       goto getmailinfo
  3802.         endif
  3803.         ifstr(i) $(!AutoPopoff) == "YES"
  3804.           LibraryProcedure Result, $(!DLLSQL), CloseDialog $(!DlgEdit)
  3805.           set !DlgEdit = ""
  3806.         endif
  3807.        Return $(Status)
  3808.  
  3809. [DoGetStreetName]
  3810.     set Status = STATUS_FAILED
  3811.         read-syms GetStreetNameDlg$(!STF_LANGUAGE)
  3812.         shell "" DoGetPath
  3813.         set Status = $($R0)
  3814.         ifstr(i) $(Status) == "STATUS_SUCCESSFUL"
  3815.       set !StreetName = $(!PathOut)
  3816.     endif
  3817.     Return $(Status)
  3818.  
  3819. [DoGetTCPIPSocket]
  3820.     set Status = STATUS_FAILED
  3821.         read-syms GetTCPIPSocketDlg$(!STF_LANGUAGE)
  3822.         shell "" DoGetPath
  3823.         set Status = $($R0)
  3824.         ifstr(i) $(Status) == "STATUS_SUCCESSFUL"
  3825.       set !TCPIPSocketNumber = $(!PathOut)
  3826.     endif
  3827.     Return $(Status)
  3828.  
  3829. [DoGetServiceName]
  3830.     set Status = STATUS_FAILED
  3831.         read-syms GetServiceNameDlg$(!STF_LANGUAGE)
  3832.         shell "" DoGetPath
  3833.         set Status = $($R0)
  3834.         ifstr(i) $(Status) == "STATUS_SUCCESSFUL"
  3835.       set !ServiceName = $(!PathOut)
  3836.     endif
  3837.     Return $(Status)
  3838.  
  3839. [DoGetGenericNetAddress]
  3840.     set Status = STATUS_FAILED
  3841.         read-syms GetNetAddressDlg$(!STF_LANGUAGE)
  3842.         shell "" DoGetPath
  3843.         set Status = $($R0)
  3844.         ifstr(i) $(Status) == "STATUS_SUCCESSFUL"
  3845.       set !NetAddress = $(!PathOut)
  3846.     endif
  3847.     Return $(Status)
  3848.  
  3849. [DoCreateDirectory]
  3850.        read-syms YesNoDlg$(!STF_LANGUAGE)
  3851.         ui start $(DlgTemplate)
  3852.         ifstr(i) $(DLGEVENT) == "YES"
  3853.           set Status = STATUS_YES
  3854.         else
  3855.           set Status = STATUS_NO
  3856.         endif
  3857.         Return $(Status)
  3858.  
  3859. [MessageError]
  3860.         set Status = STATUS_FAILED
  3861.        read-syms InfoMessage$(!STF_LANGUAGE)
  3862.         ui start $(DlgTemplate)
  3863.         Return $(Status)
  3864.  
  3865. [DoCharSet]
  3866.         StartWait
  3867.         set Status = STATUS_CANCEL
  3868.         ifstr(i) $(!AllowExit) == "YES"
  3869.           set TheCharList = $(!CharSetUserSelList)
  3870.         else
  3871.           set TheCharList = $(!CharSetSelList)
  3872.         endif
  3873.         set ListIdx = 0
  3874.         ForListDo $(TheCharList)
  3875.           set-sub LoopIdx = $(#),1
  3876.           LibraryProcedure Idx, $(!DLLSQL), IntMultiply $(LoopIdx),2
  3877.           set-add Idx = $(Idx),2
  3878.           set TheCharIdx = *( $(TheCharList), $(Idx) )
  3879.           ifstr(i) $(TheCharIdx) == $(!TheCharSet)
  3880.             goto doneLoop
  3881.           else
  3882.             set-add ListIdx = $(ListIdx),1
  3883.           endif
  3884.         EndForListDo
  3885. doneLoop =+
  3886.         set DefListItem = $(ListIdx)
  3887.         read-syms CharSetsDlg$(!STF_LANGUAGE)
  3888.         LibraryProcedure DlgCharSets, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"2",$(TheCharList)
  3889. dosetsel =+
  3890.         EndWait
  3891.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  3892.         ifstr(i) $(DLGEVENT) == "CONTINUE"
  3893.           set Status = STATUS_OK
  3894.           set SortType = "Normal"
  3895.           LibraryProcedure CharRetList, $(!DLLSQL), ExtractListSet $(DlgCharSets),"1"
  3896.           set !TheCharSet = *( $(CharRetList),2 )
  3897.           ifstr(i) $(!TheCharSet) == "cpISO"
  3898.             set !SortOrderSelList = $(!SortISOSelList)
  3899.           else-ifstr(i) $(!TheCharSet) == "cp850"
  3900.             set !SortOrderSelList = $(!Sort850SelList)
  3901.           else-ifstr(i) $(!TheCharSet) == "cp437"
  3902.             set !SortOrderSelList = $(!Sort437SelList)
  3903.           else
  3904.             set SortType = "Defined"
  3905.           endif
  3906.           ifstr(i) $(SortType) != "Normal"
  3907.             set !TheSortFile = $(!TheCharSet)
  3908.             set !TheSortConfigValue = "0"
  3909.           else
  3910.             set !TheSortFile = *( $(!SortOrderSelList), 2 )
  3911.             set !TheSortConfigValue = *( $(!SortOrderSelList), 3 )
  3912.           endif
  3913.         else-ifstr(i) $(DLGEVENT) == "BACK"
  3914.           set Status = STATUS_BACK
  3915.           goto end_docharset
  3916.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  3917.         endif
  3918. end_docharset =+
  3919.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgCharSets)
  3920.         Return $(Status)
  3921.  
  3922. [DoSortOrder]
  3923.         StartWait
  3924.         set Status = STATUS_CANCEL
  3925.         set ListIdx = 0
  3926.         ForListDo $(!SortOrderSelList)
  3927.           set-sub LoopIdx = $(#),1
  3928.           LibraryProcedure Idx, $(!DLLSQL), IntMultiply $(LoopIdx),3
  3929.           set-add Idx = $(Idx),2
  3930.           set TheSortIdx = *( $(!SortOrderSelList), $(Idx) )
  3931.           ifstr(i) $(TheSortIdx) == $(!TheSortFile)
  3932.             goto doneLoop
  3933.           else
  3934.             set-add ListIdx = $(ListIdx),1
  3935.           endif
  3936.         EndForListDo
  3937. doneLoop =+
  3938.         set DefListItem = $(ListIdx)
  3939.         read-syms SortOrderDlg$(!STF_LANGUAGE)
  3940.         LibraryProcedure DlgSortOrder, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"3",$(!SortOrderSelList)
  3941. dosortsel =+
  3942.         EndWait
  3943.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  3944.         ifstr(i) $(DLGEVENT) == "CONTINUE"
  3945.           set Status = STATUS_OK
  3946.           LibraryProcedure SortRetList, $(!DLLSQL), ExtractListSet $(DlgSortOrder),"1"
  3947.           set !TheSortFile = *( $(SortRetList),2 )
  3948.           set !TheSortConfigValue = *( $(SortRetList), 3 )
  3949.         else-ifstr(i) $(DLGEVENT) == "BACK"
  3950.           set Status = STATUS_BACK
  3951.           goto end_dosortorder
  3952.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  3953.         endif
  3954. end_dosortorder =+
  3955.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgSortOrder)
  3956.         Return $(Status)
  3957.  
  3958. [DoLanguage]
  3959.         set Status = STATUS_CANCEL
  3960.         read-syms LanguageDlg$(!STF_LANGUAGE)
  3961.         LibraryProcedure DlgLanguage, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"2",$(!LangSelList)
  3962.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  3963.         ifstr(i) $(DLGEVENT) == "CONTINUE"
  3964.           set Status = STATUS_OK
  3965.         endif
  3966.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgLanguage)
  3967.         Return $(Status)
  3968.  
  3969. [DoNetwork]
  3970.         StartWait
  3971.     set Status = STATUS_CANCEL
  3972.         set DefListItems = {}
  3973.         set TheCheckIdx = 0
  3974.         ForListDo $(!NetworkSelList)
  3975.           set-sub LoopIdx = $(#),1
  3976.           LibraryProcedure NetIdx, $(!DLLSQL), IntMultiply $(LoopIdx),3
  3977.           set-add NetIdx = $(NetIdx),2
  3978.           set NetTmpList = *( $(!NetworkSelList), $(NetIdx) )
  3979.           ifcontains(i) $(NetTmpList) in $(!ValidNetLibs)
  3980.             ifstr(i) $(NetTmpList) == $(!UserProvided)
  3981.               set DefListItems = >( $(DefListItems), $(TheCheckIdx))
  3982.             else
  3983.               ForListDo $(!NetLibList)
  3984.                 ifstr(i) $(NetTmpList) == $($)
  3985.                   set DefListItems = >( $(DefListItems), $(TheCheckIdx))
  3986.                   EndForListDo
  3987.                   goto endLoop
  3988.                 endif
  3989.               EndForListDo
  3990.             endif
  3991.   endLoop =+
  3992.             set-add TheCheckIdx = $(TheCheckIdx),1
  3993.           endif
  3994.         EndForListDo
  3995.     ifstr(i) $(!AllowExit) == "YES"
  3996.       read-syms NetworkDlgEx$(!STF_LANGUAGE)
  3997.     else
  3998.           read-syms NetworkDlg$(!STF_LANGUAGE)
  3999.         endif
  4000.         LibraryProcedure DlgNetwork, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"3",$(!NetworkSelList),$(DefListItems)
  4001. donet =+
  4002.         EndWait
  4003.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  4004.         ifstr(i) $(DLGEVENT) == "CONTINUE"
  4005.           set Status = STATUS_OK
  4006.           LibraryProcedure !NetSelList, $(!DLLSQL), ExtractListSet $(DlgNetwork),"1"
  4007.           set !NetLibList = $(!NetLibDefList)
  4008.           set !NetAddresses = {}
  4009.           ForListDo $(!NetSelList)
  4010.             set-sub LoopIdx = $(#),1
  4011.             LibraryProcedure NetIdx, $(!DLLSQL), IntMultiply $(LoopIdx),3
  4012.             set-add NetIdx = $(NetIdx),2
  4013.             set NetTmpList = *( $(!NetSelList), $(NetIdx) )
  4014.             ifcontains(i) $(NetTmpList) in $(!ValidNetLibs)
  4015.               ifstr(i) $(NetTmpList) == $(!UserProvided)
  4016.                 set-add NetIdx = $(NetIdx),1
  4017.                 set NetAddress = *( $(!NetSelList), $(NetIdx) )
  4018.                 set !NetAddresses = >( $(!NetAddresses), $(NetAddress))
  4019.                 set-sub NetIdx = $(NetIdx),2
  4020.                 set NetTmpList = *( $(!NetSelList), $(NetIdx) )
  4021.                 set !NetLibList = >( $(!NetLibList), $(NetTmpList))
  4022.               else
  4023.                 ifstr(i) $(NetTmpList) == $(!NetLibTCPIP)
  4024.                   LibraryProcedure Result, $(!DLLSQL), GetServiceState "\\"$(!ComputerName),$(!TCPIPService)
  4025.                   ifstr(i) $(Result) != "SERVICE_RUNNING"
  4026.                     read-syms TCPIPNotRunning$(!STF_LANGUAGE)
  4027.                     read-syms YesNoDlg$(!STF_LANGUAGE)
  4028.                     ui start $(DlgTemplate)
  4029.                     ifstr(i) $(DLGEVENT) == "NO"
  4030.                       goto donet
  4031.                     endif
  4032.                   endif
  4033.                 endif
  4034.                 set !NetLibList = >( $(!NetLibList), $(NetTmpList))
  4035.               endif
  4036.             endif
  4037.           EndForListDo
  4038.         else-ifstr(i) $(DLGEVENT) == "EXIT"
  4039.           ifstr(i) $(!AllowExit) == "YES"
  4040.             shell "" QueryUserQuit $(!STF_LANGUAGE)
  4041.             ifstr(i) $($R1) == "OK"
  4042.               set Status = STATUS_USERQUIT
  4043.               goto end_donet
  4044.             else
  4045.               goto donet
  4046.             endif
  4047.           endif
  4048.         else-ifstr(i) $(DLGEVENT) == "BACK"
  4049.           set Status = STATUS_BACK
  4050.         endif
  4051. end_donet =+
  4052.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgNetwork)
  4053.         Return $(Status)
  4054.  
  4055.  
  4056.  
  4057. [DoScripts]
  4058.     set Status = STATUS_CANCEL
  4059.         read-syms ScriptsDlg$(!STF_LANGUAGE)
  4060.         LibraryProcedure DlgScripts, $(!DLLSQL), SQLDlgDisplay $(STF_HWND),$(DlgTemplate),"",$(!SQLDlgNames),"",""
  4061.         ifcontains(i) $(!InstPubs) in $(!AddlScripts)
  4062.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgScripts),"UNIBUTTON1","TRUE"
  4063.         endif
  4064.         ifcontains(i) $(!InstAdmin2) in $(!AddlScripts)
  4065.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgScripts),"UNIBUTTON2","TRUE"
  4066.         endif
  4067.         ifcontains(i) $(!HelpSQL) in $(!AddlScripts)
  4068.           LibraryProcedure Result, $(!DLLSQL), DlgCheckButton $(DlgScripts),"UNIBUTTON3","TRUE"
  4069.         endif
  4070.         LibraryProcedure DLGEVENT, $(!DLLSQL), WaitEvent
  4071.         ifstr(i) $(DLGEVENT) == "CONTINUE"
  4072.           set !AddlScripts = {}
  4073.           set !CheckInstList = $(!CheckInstDefList)
  4074.           set !CheckInstRetList = $(!CheckInstDefRetList)
  4075.           set Status = STATUS_OK
  4076.           LibraryProcedure Result, $(!DLLSQL), IsDlgBtnChecked $(DlgScripts),"UNIBUTTON1"
  4077.           ifstr(i) $(Result) == "CHECKED"
  4078.             set !AddlScripts = >( $(!AddlScripts), $(!InstPubs))
  4079.             set !CheckInstList = >( $(!CheckInstList), $(!SQLPubs))
  4080.             set !CheckInstRetList = >( $(!CheckInstRetList), $(!Pubs))
  4081.           endif
  4082.           LibraryProcedure Result, $(!DLLSQL), IsDlgBtnChecked $(DlgScripts),"UNIBUTTON2"
  4083.           ifstr(i) $(Result) == "CHECKED"
  4084.             set !AddlScripts = >( $(!AddlScripts), $(!InstAdmin2))
  4085.             set !AddlScripts = >( $(!AddlScripts), $(!InstObject))
  4086.             set !CheckInstList = >( $(!CheckInstList), $(!SQLAdmin1))
  4087.             set !CheckInstList = >( $(!CheckInstList), $(!SQLAdmin2))
  4088.             set !CheckInstList = >( $(!CheckInstList), $(!SQLObject1))
  4089.             set !CheckInstList = >( $(!CheckInstList), $(!SQLObject2))
  4090.             set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpAdminChk1))
  4091.             set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpAdminChk2))
  4092.             set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpObjectChk1))
  4093.             set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpObjectChk2))
  4094.           endif
  4095.           LibraryProcedure Result, $(!DLLSQL), IsDlgBtnChecked $(DlgScripts),"UNIBUTTON3"
  4096.           ifstr(i) $(Result) == "CHECKED"
  4097.             set !AddlScripts = >( $(!AddlScripts), $(!HelpSQL) )
  4098.             set !CheckInstList = >( $(!CheckInstList), $(!SQLHelpSQL))
  4099.             set !CheckInstRetList = >( $(!CheckInstRetList), $(!RetHelpSQL))
  4100.           endif
  4101.         endif
  4102.         LibraryProcedure Result, $(!DLLSQL), CloseDialog $(DlgScripts)
  4103.         Return $(Status)
  4104.  
  4105.  
  4106.  
  4107. [UpdateRegistry]
  4108.         StartWait
  4109.         set Status = STATUS_FAILED
  4110.         LibraryProcedure OpenVersionKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServerServer),$(!RegSQLServerVer),$(!AdminACL)
  4111.         ifstr(i) $(OpenVersionKey) == "KEY_ERROR"
  4112.       read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4113.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4114.           goto upd_regend
  4115.         endif
  4116.  
  4117.         LibraryProcedure OpenServerKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServer),$(!RegSQLServerSvr),$(!AdminACL)
  4118.         ifstr(i) $(OpenServerKey) == "KEY_ERROR"
  4119.       read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4120.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4121.           goto upd_regend
  4122.         endif
  4123.  
  4124.         LibraryProcedure OpenSetupKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLSetup),"",""
  4125.         ifstr(i) $(OpenSetupKey) == "KEY_ERROR"
  4126.       read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4127.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4128.           goto upd_regend
  4129.         endif
  4130.  
  4131.         LibraryProcedure OpenMonKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServer),$(!SQLMonitorService)"\"$(!RegSQLSvrParam),$(!AdminACL)
  4132.         ifstr(i) $(OpenMonKey) == "KEY_ERROR"
  4133.       read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4134.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4135.           goto upd_regend
  4136.         endif
  4137.  
  4138.         LibraryProcedure OpenMgrKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServer),$(!RegSQLSvcMgr),""
  4139.         ifstr(i) $(OpenMgrKey) == "KEY_ERROR"
  4140.          read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4141.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4142.           goto upd_regend
  4143.         endif
  4144.  
  4145.         LibraryProcedure OpenMManagementKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegMManagement),"",""
  4146.         ifstr(i) $(OpenMManagementKey) == "KEY_ERROR"
  4147.           read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4148.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4149.           goto upd_regend
  4150.         endif
  4151.  
  4152.         LibraryProcedure OpenLMSvrKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegLMSvrParams),$(!RegSQLSvrParam),""
  4153.         ifstr(i) $(OpenLMSvrKey) == "KEY_ERROR"
  4154.           read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4155.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4156.           goto upd_regend
  4157.         endif
  4158.  
  4159.         LibraryProcedure OpenPriorityKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegPriorityCtrl),"",""
  4160.         ifstr(i) $(OpenPriorityKey) == "KEY_ERROR"
  4161.           read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4162.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4163.           goto upd_regend
  4164.         endif
  4165.  
  4166.         shell "" RegWriteELog "\\"$(!ComputerName)
  4167.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  4168.           goto upd_regend
  4169.         endif
  4170.  
  4171.         shell "" RegWriteSystemPaths "\\"$(!ComputerName),$(!RegSystemPaths),""
  4172.         ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  4173.           goto upd_regend
  4174.         endif
  4175.  
  4176.         shell "" RegWriteDBLibDefaults "\\"$(!ComputerName)
  4177.  
  4178.         shell "" RegWriteVersion $(OpenVersionKey)
  4179.  
  4180.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenServerKey),$(!RegValTapeWait),$(!RegTypeDWord),"-1","NOEXIST_WRITE"
  4181.  
  4182.         LibraryProcedure DefDomain, $(!DLLSQL), GetDefaultWkstaDomain
  4183.         ifstr(i) $(DefDomain) == "WORKGROUP"
  4184.           set DefDomain = $(!ComputerName)
  4185.         else-ifstr(i) $(DefDomain) == "DOMAIN"
  4186.           set DefDomain = $(!ComputerName)
  4187.         endif
  4188.         shell "" RegWriteSecuritySupport "0",$(!DefGuest),$(DefDomain),"0",$(!DefSecMap1),$(!DefSecMap2),$(!DefSecMap3),"0","NOFORCE"
  4189.  
  4190.         shell "" RegWriteMonitor $(OpenMonKey),$($0),"NOFORCE"
  4191.  
  4192.         shell "" RegWriteListenOn $(OpenServerKey),$($0),$($1),"NOFORCE"
  4193.  
  4194.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenServerKey),$(!RegValRealTime),$(!RegTypeDWord),"0","NOEXIST_WRITE"
  4195.  
  4196.         LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(!SQLPath),"AFTER",":"
  4197.         LibraryProcedure NewSQLPath, $(!DLLSQL), AppendToString $(!LogicalSQLDrive),$(Temp)
  4198.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenSetupKey),$(!RegValSQLPath),$(!RegTypeString),$(NewSQLPath),""
  4199.  
  4200.         shell "" RegWriteMonitorSvc $(OpenMonKey)
  4201.  
  4202.         shell "" RegWritePerfMon "\\"$(!ComputerName)
  4203.  
  4204.     shell "" RegWriteGroupOrder "\\"$(!ComputerName)
  4205.  
  4206.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenLMSvrKey),$(!RegValLMSvrAnno),$(!RegTypeDWord),"1",""
  4207.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenLMSvrKey),$(!RegLMSize),$(!RegTypeDWord),"3",""
  4208.  
  4209.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenMManagementKey),$(!RegMMSystemCache),$(!RegTypeDWord),"0",""
  4210.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenPriorityKey),$(!RegSysPriority),$(!RegTypeDWord),"0",""
  4211.  
  4212.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenMgrKey),$(!RegValSvcMgrVerify),$(!RegTypeDWord),"0","NOEXIST_WRITE"
  4213.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenMgrKey),$(!RegValSvcMgrSvcs),$(!RegTypeMulti),$(!DefSvcMgrServices),"NOEXIST_WRITE"
  4214.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenMgrKey),$(!RegValSvcMgrDefSvc),$(!RegTypeString),$(!SQLServerService),"NOEXIST_WRITE"
  4215.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenMgrKey),$(!RegValSvcMgrRemote),$(!RegTypeDWord),"1","NOEXIST_WRITE"
  4216.         set Status = STATUS_SUCCESSFUL
  4217. upd_regend =+
  4218.         LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenVersionKey)
  4219.         LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenServerKey)
  4220.         LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenSetupKey)
  4221.         LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenMonKey)
  4222.         LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenMgrKey)
  4223.         LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenMManagementKey)
  4224.         LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenLMSvrKey)
  4225.         LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenPriorityKey)
  4226.  
  4227.         EndWait
  4228.         Return $(Status)
  4229.  
  4230. [RegWriteSystemPaths]
  4231.         set Status = STATUS_FAILED
  4232.         shell "" RegDeleteSystemPaths $($1),$($2)
  4233.         ifstr(i) $($R0) == "STATUS_SUCCESSFUL"
  4234.           LibraryProcedure OpenSysPathKey, $(!DLLSQL), RegMakeKey $($0),$($1),"","",$($2)
  4235.           ifstr(i) $(OpenSysPathKey) == "KEY_ERROR"
  4236.         read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4237.         LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4238.           else
  4239.         LibraryProcedure SysPath, $(!DLLSQL), RegRead $(OpenSysPathKey),$(!RegValSysPath)
  4240.             LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(!SQLPath),"AFTER",":"
  4241.             LibraryProcedure NewSQLPath, $(!DLLSQL), AppendToString $(!LogicalSQLDrive),$(Temp)
  4242.         ifstr(i) $(SysPath) != "KEY_ERROR"
  4243.           ifstr(i) $(SysPath) == ""
  4244.             LibraryProcedure SysPath, $(!DLLSQL), AppendToString $(SysPath),$(NewSQLPath)"\"$(!Binaries)";"$(NewSQLPath)"\"$(!DLLs)
  4245.           else
  4246.             LibraryProcedure SysPath, $(!DLLSQL), AppendToString $(SysPath),";"$(NewSQLPath)"\"$(!Binaries)";"$(NewSQLPath)"\"$(!DLLs)
  4247.           endif
  4248.         else
  4249.           set SysPath = $(NewSQLPath)"\"$(!Binaries)";"$(NewSQLPath)"\"$(!DLLs)
  4250.         endif
  4251.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenSysPathKey),$(!RegValSysPath),$(!RegTypeExpString),$(SysPath),""
  4252.             LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenSysPathKey)
  4253.             set Status = STATUS_SUCCESSFUL
  4254.           endif
  4255.         endif
  4256.         Return $(Status)
  4257.  
  4258. [RegWriteTapeSupport]
  4259.         set Status = STATUS_FAILED
  4260.         LibraryProcedure OpenDOSDevKey, $(!DLLSQL), RegMakeKey $($0),$(!RegSystemPaths),$(!RegSysDOSDev),""
  4261.         ifstr(i) $(OpenDOSDevKey) == "KEY_ERROR"
  4262.           read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4263.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4264.         else
  4265.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenDOSDevKey),$(!RegValType0),$(!RegTypeString),$(!DefTapeDev),""
  4266.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenDOSDevKey)
  4267.           set Status = STATUS_SUCCESSFUL
  4268.         endif
  4269.         Return $(Status)
  4270.  
  4271.  
  4272. [RegWriteSecuritySupport]
  4273.       set Status = STATUS_FAILED
  4274.         LibraryProcedure OpenSecKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServer)"\"$(!RegSQLServerSvr),"",""
  4275.         ifstr(i) $(OpenDBLibKey) == "KEY_ERROR"
  4276.       read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4277.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4278.         else
  4279.           ifstr(i) $($8) == "FORCE"
  4280.             set UpdateMode = ""
  4281.           else
  4282.             set UpdateMode = "NOEXIST_WRITE"
  4283.           endif
  4284.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenSecKey),$(!RegSecLoginMode),$(!RegTypeDWord),$($0),$(UpdateMode)
  4285.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenSecKey),$(!RegSecDefAccount),$(!RegTypeString),$($1),$(UpdateMode)
  4286.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenSecKey),$(!RegSecDefDomain),$(!RegTypeString),$($2),$(UpdateMode)
  4287.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenSecKey),$(!RegSecAuditLevel),$(!RegTypeDWord),$($3),$(UpdateMode)
  4288.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenSecKey),$(!RegSecMap1),$(!RegTypeString),$($4),$(UpdateMode)
  4289.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenSecKey),$(!RegSecMap2),$(!RegTypeString),$($5),$(UpdateMode)
  4290.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenSecKey),$(!RegSecMap3),$(!RegTypeString),$($6),$(UpdateMode)
  4291.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenSecKey),$(!RegSecHostname),$(!RegTypeDWord),$($7),$(UpdateMode)
  4292.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenSecKey)
  4293.           set Status = STATUS_SUCCESSFUL
  4294.         endif
  4295.         Return $(Status)
  4296.  
  4297.  
  4298. [RegGetSecuritySupport]
  4299.         set Status = STATUS_FAILED
  4300.         set LoginMode = "1"
  4301.         set DefAccount = $(!DefGuest)
  4302.         LibraryProcedure DefDomain, $(!DLLSQL), GetDefaultWkstaDomain
  4303.         ifstr(i) $(DefDomain) == "WORKGROUP"
  4304.           set DefDomain = $(!ComputerName)
  4305.         else-ifstr(i) $(DefDomain) == "DOMAIN"
  4306.           set DefDomain = $(!ComputerName)
  4307.         endif
  4308.         set DefAuditLevel = "0"
  4309.         set DefMap1 = $(!DefSecMap1)
  4310.         set DefMap2 = $(!DefSecMap2)
  4311.         set DefMap3 = $(!DefSecMap3)
  4312.         set DefSetHostname = "0"
  4313.         LibraryProcedure OpenSecKey, $(!DLLSQL), RegOpen "\\"$(!ComputerName),$(!RegSQLServer)"\"$(!RegSQLServerSvr)
  4314.         ifstr(i) $(OpenSecKey) != "KEY_ERROR"
  4315.       LibraryProcedure LoginMode, $(!DLLSQL), RegRead $(OpenSecKey),$(!RegSecLoginMode)
  4316.       ifstr(i) $(LoginMode) == "KEY_ERROR"
  4317.         set LoginMode = "1"
  4318.       else
  4319.         ifstr(i) $(LoginMode) != ""
  4320.           set-add LoginMode = $(LoginMode),1
  4321.         else
  4322.           set LoginMode = "1"
  4323.         endif
  4324.       endif
  4325.       LibraryProcedure Result, $(!DLLSQL), RegRead $(OpenSecKey),$(!RegSecDefAccount)
  4326.       ifstr(i) $(Result) != "KEY_ERROR"
  4327.         ifstr(i) $(Result) != ""
  4328.           set DefAccount = $(Result)
  4329.         endif
  4330.       endif
  4331.       LibraryProcedure Result, $(!DLLSQL), RegRead $(OpenSecKey),$(!RegSecDefDomain)
  4332.       ifstr(i) $(Result) != "KEY_ERROR"
  4333.         ifstr(i) $(Result) != ""
  4334.            set DefDomain = $(Result)
  4335.         endif
  4336.       endif
  4337.       LibraryProcedure Result, $(!DLLSQL), RegRead $(OpenSecKey),$(!RegSecAuditLevel)
  4338.       ifstr(i) $(Result) != "KEY_ERROR"
  4339.         ifstr(i) $(Result) != ""
  4340.           set DefAuditLevel = $(Result)
  4341.         endif
  4342.       endif
  4343.       LibraryProcedure Result, $(!DLLSQL), RegRead $(OpenSecKey),$(!RegSecHostname)
  4344.       ifstr(i) $(Result) != "KEY_ERROR"
  4345.         ifstr(i) $(Result) != ""
  4346.           set DefSetHostname = $(Result)
  4347.         endif
  4348.       endif
  4349.       LibraryProcedure Result, $(!DLLSQL), RegRead $(OpenSecKey),$(!RegSecMap1)
  4350.       ifstr(i) $(Result) != "KEY_ERROR"
  4351.              set DefMap1 = $(Result)
  4352.       endif
  4353.       LibraryProcedure Result, $(!DLLSQL), RegRead $(OpenSecKey),$(!RegSecMap2)
  4354.       ifstr(i) $(Result) != "KEY_ERROR"
  4355.              set DefMap2 = $(Result)
  4356.       endif
  4357.       LibraryProcedure Result, $(!DLLSQL), RegRead $(OpenSecKey),$(!RegSecMap3)
  4358.       ifstr(i) $(Result) != "KEY_ERROR"
  4359.             set DefMap3 = $(Result)
  4360.       endif
  4361.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenSecKey)
  4362.           set Status = STATUS_SUCCESSFUL
  4363.         endif
  4364.         Return $(Status),$(LoginMode),$(DefAccount),$(DefDomain),$(DefAuditLevel),$(DefMap1),$(DefMap2),$(DefMap3),$(DefSetHostname)
  4365.  
  4366.  
  4367. [RegWriteSerialNumberInfo]
  4368.         set Status = STATUS_FAILED
  4369.     LibraryProcedure OpenVersionKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServerServer),$(!RegSQLServerVer),$(!AdminACL)
  4370.         ifstr(i) $(OpenVersionKey) != "KEY_ERROR"
  4371.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenVersionKey),$(!RegValRegOwner),$(!RegTypeString),$(!FullName),""
  4372.       LibraryProcedure SerialNo, $(!DLLSQL), CreateSerialNumber $(!SQLReleaseNumber),$(!FullName)
  4373.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenVersionKey),$(!RegValSerialNumber),$(!RegTypeDWord),$(SerialNo),""
  4374.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenVersionKey)
  4375.           set Status = STATUS_SUCCESSFUL
  4376.         endif
  4377.         Return $(Status)
  4378.  
  4379.  
  4380. [RegUpdateTCPIPSupport]
  4381.         set Status = STATUS_FAILED
  4382.     LibraryProcedure OpenTCPIPKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegTCPIPService),$(!RegSQLSvrParam),""
  4383.         ifstr(i) $(OpenTCPIPKey) != "KEY_ERROR"
  4384.       ifstr(i) $($0) == "TRUE"
  4385.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenTCPIPKey),$(!RegValTCPTries),$(!RegTypeDWord),"4",""
  4386.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenTCPIPKey),$(!RegValTCPCnt),$(!RegTypeDWord),"30",""
  4387.       else
  4388.             LibraryProcedure Result, $(!DLLSQL), RegDelValue $(OpenTCPIPKey),$(!RegValTCPTries)
  4389.         LibraryProcedure Result, $(!DLLSQL), RegDelValue $(OpenTCPIPKey),$(!RegValTCPCnt)
  4390.           endif
  4391.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenTCPIPKey)
  4392.           set Status = STATUS_SUCCESSFUL
  4393.         endif
  4394.     Return $(Status)
  4395.  
  4396.  
  4397.  
  4398. [RegWriteANSIOEM]
  4399.         set Status = STATUS_FAILED
  4400.         LibraryProcedure OpenDBLibKey, $(!DLLSQL), RegMakeKey $($0),$(!RegSQLClient),$(!RegSQLDBLib),""
  4401.         ifstr(i) $(OpenDBLibKey) == "KEY_ERROR"
  4402.       read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4403.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4404.         else
  4405.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenDBLibKey),$(!RegValANSIToOEM),$(!RegTypeString),$(!Chosen),""
  4406.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenDBLibKey)
  4407.           set Status = STATUS_SUCCESSFUL
  4408.         endif
  4409.         Return $(Status)
  4410.  
  4411.  
  4412. [RegWriteDBLibDefaults]
  4413.         set Status = STATUS_FAILED
  4414.         LibraryProcedure OpenDBLibKey, $(!DLLSQL), RegMakeKey $($0),$(!RegSQLClient),$(!RegSQLDBLib),""
  4415.         ifstr(i) $(OpenDBLibKey) == "KEY_ERROR"
  4416.       read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4417.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4418.         else
  4419.       LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenDBLibKey),$(!RegValANSIToOEM),$(!RegTypeString),$(!ANSItoOEMDef),""
  4420.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenDBLibKey),$(!RegValUseIntl),$(!RegTypeString),$(!Chosen),""
  4421.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenDBLibKey)
  4422.           set Status = STATUS_SUCCESSFUL
  4423.         endif
  4424.         LibraryProcedure OpenClientKey, $(!DLLSQL), RegMakeKey $($0),$(!RegSQLClient),$(!RegMonMonitor),""
  4425.         ifstr(i) $(OpenClientKey) == "KEY_ERROR"
  4426.       read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4427.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4428.         else
  4429.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenClientKey),$(!ClientLibPipes),$(!RegTypeString),$(!MonNetLibPipeCon),""
  4430.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenClientKey),$(!ClientLibSPX),$(!RegTypeString),$(!MonNetLibSPXCon),""
  4431.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenClientKey),$(!ClientLibVine),$(!RegTypeString),$(!MonNetLibVineCon),""
  4432.       LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenClientKey),$(!ClientLibTCPIP),$(!RegTypeString),$(!MonNetLibTCPIPCon),""
  4433.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenClientKey)
  4434.           set Status = STATUS_SUCCESSFUL
  4435.         endif
  4436.         Return $(Status)
  4437.  
  4438. [RegDeleteSystemPaths]
  4439.         set Status = STATUS_FAILED
  4440.         LibraryProcedure OpenSysPathKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$($0),"","",$($1)
  4441.         ifstr(i) $(OpenSysPathKey) == "KEY_ERROR"
  4442.           read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4443.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4444.         else
  4445.           LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(!SQLPath),"AFTER",":"
  4446.           ifstr(i) $(!RemoteComputer) == ""
  4447.             set !NewDefSQLPath = $(!SQLPath)
  4448.           else
  4449.         set !NewDefSQLPath = $(!LogicalSQLDrive)$(Temp)
  4450.       endif
  4451.       LibraryProcedure SysPath, $(!DLLSQL), RegRead $(OpenSysPathKey),$(!RegValSysPath)
  4452.       ifstr(i) $(SysPath) != "KEY_ERROR"
  4453.             LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $(SysPath),"BEFORESTRING",";"$(!NewDefSQLPath)"\"$(!Binaries)
  4454.             LibraryProcedure After, $(!DLLSQL), StrBeforeAndAfter $(SysPath),"AFTERSTRING",";"$(!NewDefSQLPath)"\"$(!Binaries)
  4455.             ifstr(i) $(Before) == ""
  4456.               LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $(SysPath),"BEFORESTRING",$(!NewDefSQLPath)"\"$(!Binaries)
  4457.             endif
  4458.             ifstr(i) $(After) == ""
  4459.               LibraryProcedure After, $(!DLLSQL), StrBeforeAndAfter $(SysPath),"AFTERSTRING",$(!NewDefSQLPath)"\"$(!Binaries)
  4460.             endif
  4461.             set NewSysPath = ""
  4462.             ifstr(i) $(Before) != ""
  4463.               set NewSysPath = $(Before)
  4464.             endif
  4465.             ifstr(i) $(After) != ""
  4466.               ifstr(i) $(NewSysPath) == ""
  4467.                 LibraryProcedure NewSysPath, $(!DLLSQL), AppendToString $(NewSysPath),$(After)
  4468.               else
  4469.                 LibraryProcedure NewSysPath, $(!DLLSQL), AppendToString $(NewSysPath),";"$(After)
  4470.               endif
  4471.             endif
  4472.             ifstr(i) $(NewSysPath) == ""
  4473.               set NewSysPath = $(SysPath)
  4474.             endif
  4475.             set OldNewSysPath = $(NewSysPath)
  4476.             LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $(NewSysPath),"BEFORESTRING",";"$(!NewDefSQLPath)"\"$(!DLLs)
  4477.             LibraryProcedure After, $(!DLLSQL), StrBeforeAndAfter $(NewSysPath),"AFTERSTRING",";"$(!NewDefSQLPath)"\"$(!DLLs)
  4478.             ifstr(i) $(Before) == ""
  4479.               LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $(NewSysPath),"BEFORESTRING",$(!NewDefSQLPath)"\"$(!DLLs)
  4480.             endif
  4481.             ifstr(i) $(After) == ""
  4482.               LibraryProcedure After, $(!DLLSQL), StrBeforeAndAfter $(NewSysPath),"AFTERSTRING",$(!NewDefSQLPath)"\"$(!DLLs)
  4483.             endif
  4484.             set NewSysPath = ""
  4485.             ifstr(i) $(Before) != ""
  4486.               set NewSysPath = $(Before)
  4487.             endif
  4488.             ifstr(i) $(After) != ""
  4489.               ifstr(i) $(NewSysPath) == ""
  4490.                 LibraryProcedure NewSysPath, $(!DLLSQL), AppendToString $(NewSysPath),$(After)
  4491.               else
  4492.                 LibraryProcedure NewSysPath, $(!DLLSQL), AppendToString $(NewSysPath),";"$(After)
  4493.               endif
  4494.             endif
  4495.             ifstr(i) $(NewSysPath) == ""
  4496.               set NewSysPath = $(OldNewSysPath)
  4497.             endif
  4498.             LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenSysPathKey),$(!RegValSysPath),$(!RegTypeExpString),$(NewSysPath),""
  4499.             LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenSysPathKey)
  4500.           endif
  4501.         set Status = STATUS_SUCCESSFUL
  4502.         endif
  4503.         Return $(Status)
  4504.  
  4505. [RegWriteELog]
  4506.         set Status = STATUS_FAILED
  4507.         LibraryProcedure OpenELogKey, $(!DLLSQL), RegMakeKey $($0),$(!RegEventAppLog),$(!SQLServerService),""
  4508.         ifstr(i) $(OpenELogKey) == "KEY_ERROR"
  4509.       read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4510.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4511.         else
  4512.           LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(!SQLPath),"AFTER",":"
  4513.           LibraryProcedure NewSQLPath, $(!DLLSQL), AppendToString $(!LogicalSQLDrive),$(Temp)
  4514.       LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenELogKey),$(!RegValELogMsgFile),$(!RegTypeString),$(NewSQLPath)"\"$(!DLLs)"\"$(!SQLEventDLL),""
  4515.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenELogKey),$(!RegValELogTypes),$(!RegTypeDWord),"255",""
  4516.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenELogKey),$(!RegValELogCMsgFile),$(!RegTypeString),$(NewSQLPath)"\"$(!DLLs)"\"$(!SQLEventDLL),""
  4517.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenELogKey),$(!RegValELogCCount),$(!RegTypeDWord),"5",""
  4518.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenELogKey)
  4519.           set Status = STATUS_SUCCESSFUL
  4520.         endif
  4521.         LibraryProcedure OpenELogKey, $(!DLLSQL), RegMakeKey $($0),$(!RegEventAppLog),$(!SQLCtrs),""
  4522.         ifstr(i) $(OpenELogKey) == "KEY_ERROR"
  4523.       read-syms ErrorUpdatingRegistry$(!STF_LANGUAGE)
  4524.       LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  4525.         else
  4526.           LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(!SQLPath),"AFTER",":"
  4527.           LibraryProcedure NewSQLPath, $(!DLLSQL), AppendToString $(!LogicalSQLDrive),$(Temp)
  4528.       LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenELogKey),$(!RegValELogMsgFile),$(!RegTypeString),$(NewSQLPath)"\"$(!DLLs)"\"$(!EventCtrsDLL),""
  4529.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenELogKey),$(!RegValELogTypes),$(!RegTypeDWord),"7",""
  4530.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenELogKey)
  4531.           set Status = STATUS_SUCCESSFUL
  4532.         endif
  4533.         Return $(Status)
  4534.  
  4535. [RegWriteVersion]
  4536.     set Status = STATUS_SUCCESSFUL
  4537.         LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegValBuild),$(!RegTypeString),$(!BuildVersion),""
  4538.         LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegValVersion),$(!RegTypeString),$(!ProductVersion),""
  4539.         LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegValRegOrg),$(!RegTypeString),$(!OrgName),""
  4540.         LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegValSoftType),$(!RegTypeString),$(!RegSQLSysType),""
  4541.         Return $(Status)
  4542.  
  4543. [RegWriteMonitorSvc]
  4544.     set Status = STATUS_SUCCESSFUL
  4545.     LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegMonAutoRestart),$(!RegTypeString),$(!RegValAutoStart),"NOEXIST_WRITE"
  4546.     LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegMonPassword),$(!RegTypeString),$(!SAPassword),""
  4547.         LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegMonServer),$(!RegTypeString),$(!RegValServer),"NOEXIST_WRITE"
  4548.         LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegMonBackupTime),$(!RegTypeString),$(!RegValBackupTime),"NOEXIST_WRITE"
  4549.         LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegMonTime),$(!RegTypeString),$(!RegValTime),"NOEXIST_WRITE"
  4550.         LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegMonLogsize),$(!RegTypeString),$(!RegValLogsize),"NOEXIST_WRITE"
  4551.         LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegMonTableSize),$(!RegTypeString),$(!RegValTableSize),"NOEXIST_WRITE"
  4552.         LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegMonTimeout),$(!RegTypeString),$(!RegValTimeout),"NOEXIST_WRITE"
  4553.         LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegMonMonitor),$(!RegTypeString),$(!RegValMntr),"NOEXIST_WRITE"
  4554.         LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegMonBackup),$(!RegTypeString),$(!RegValBackup),"NOEXIST_WRITE"
  4555.     LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegMonBackupRetry),$(!RegTypeString),$(!RegValBackupRetry),"NOEXIST_WRITE"
  4556.         Return $(Status)
  4557.  
  4558.  
  4559. [RegWriteMonitor]
  4560.         set Status = STATUS_SUCCESSFUL
  4561.         set TmpMonRegList = {}
  4562.         set TmpMonRegList = >( $(TmpMonRegList), $(!NetLibPipes)","$(!MonitorPipe))
  4563.         ifcontains(i) $(!NetLibSPX) in $($1)
  4564.           set TmpMonRegList = >( $(TmpMonRegList), $(!NetLibSPX)","$(!ServiceName)"_mon,-H")
  4565.         endif
  4566.     ifcontains(i) $(!NetLibTCPIP) in $($1)
  4567.         set TmpMonRegList = >( $(TmpMonRegList), $(!NetLibTCPIP)","$(!DefMonTCPIPSocket))
  4568.     endif
  4569.     ifcontains(i) $(!NetLibVines) in $($1)
  4570.           LibraryProcedure Occurences, $(!DLLSQL), NumOccurrences $(!StreetName),"@"
  4571.           ifstr(i) $(Occurences) == "0"
  4572.             set TmpMonRegList = >( $(TmpMonRegList), $(!NetLibVines)","$(!StreetName)"_mon,-H")
  4573.           else
  4574.             LibraryProcedure KeyBefore, $(!DLLSQL), StrBeforeAndAfter $(!StreetName),"BEFORE","@"
  4575.             LibraryProcedure KeyAfter, $(!DLLSQL), StrBeforeAndAfter $(!StreetName),"AFTER","@"
  4576.             set TmpMonRegList = >( $(TmpMonRegList), $(!NetLibVines)","$(KeyBefore)"_mon@"$(KeyAfter)",-H")
  4577.           endif
  4578.         endif
  4579.         ifstr(i) $($2) == "FORCE"
  4580.           set UpdateMode = ""
  4581.         else
  4582.           set UpdateMode = "NOEXIST_WRITE"
  4583.         endif
  4584.         LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegValListenOn),$(!RegTypeMulti),$(TmpMonRegList),$(UpdateMode)
  4585.         Return $(Status)
  4586.  
  4587.  
  4588. [RegWriteListenOn]
  4589.     set Status = STATUS_SUCCESSFUL
  4590.         set NewNetLibList = {}
  4591.         set CurrentUserAddrIdx = 1
  4592.         ForListDo $($1)
  4593.           ifstr(i) $($) == $(!NetLibVines)
  4594.             set NewNetLibList = >( $(NewNetLibList), $($)","$(!StreetName))
  4595.           else-ifstr(i) $($) == $(!NetLibSPX)
  4596.             ifstr(i) $(!SocketNumber) == ""
  4597.               set NewNetLibList = >( $(NewNetLibList), $($)","$(!ServiceName))
  4598.             else
  4599.               set NewNetLibList = >( $(NewNetLibList), $($)","$(!ServiceName)","$(!SocketNumber))
  4600.             endif
  4601.           else-ifstr(i) $($) == $(!NetLibTCPIP)
  4602.             set NewNetLibList = >( $(NewNetLibList), $($)","$(!TCPIPSocketNumber))
  4603.           else-ifstr(i) $($) == $(!NetLibPipes)
  4604.             set NewNetLibList = >( $(NewNetLibList), $($)","$(!ServerNMPipeName))
  4605.           else
  4606.             set NewNetLibList = >( $(NewNetLibList), $($)","*($($2),$(CurrentUserAddrIdx)))
  4607.             set-add CurrentUserAddrIdx = $(CurrentUserAddrIdx),1
  4608.           endif
  4609.  
  4610.         ifcontains(i) $(!NetLibTCPIP) in $($1)
  4611.           shell "" RegUpdateTCPIPSupport "TRUE"
  4612.         else
  4613.           shell "" RegUpdateTCPIPSupport "FALSE"
  4614.         endif
  4615.  
  4616.         EndForListDo
  4617.         ifstr(i) $($3) == "FORCE"
  4618.           set UpdateMode = ""
  4619.         else
  4620.           set UpdateMode = "NOEXIST_WRITE"
  4621.         endif
  4622.         LibraryProcedure Result, $(!DLLSQL), RegSet $($0),$(!RegValListenOn),$(!RegTypeMulti),$(NewNetLibList),$(UpdateMode)
  4623.         Return $(Status)
  4624.  
  4625.  
  4626. [RegWriteGroupOrder]
  4627.         set Status = STATUS_SUCCESSFUL
  4628.         shell "" DoGroupOrderNuke $($0)
  4629.         set AppendedHandle = "0"
  4630.         LibraryProcedure GrpOrderKey, $(!DLLSQL), RegMakeKey $($0),$(!RegSystemGrpOrder),"",""
  4631.         ifstr(i) $(GrpOrderKey) != "KEY_ERROR"
  4632.           LibraryProcedure CntrsMem, $(!DLLSQL), RegRead $(GrpOrderKey),$(!RegValGrpOrderList),"ALLOC_HANDLE"
  4633.           ifstr(i) $(CntrsMem) != "KEY_ERROR"
  4634.         set OneEntry = {}
  4635.             set OneEntry = >( $(OneEntry), $(!SQLServerService))
  4636.             set OneEntry = >( $(OneEntry), $(!SQLMonitorService))
  4637.             LibraryProcedure AppendedHandle, $(!DLLSQL), AppendToHandle $(CntrsMem),$(!RegTypeMulti),$(OneEntry)
  4638.             LibraryProcedure Result, $(!DLLSQL), RegSet $(GrpOrderKey),$(!RegValGrpOrderList),$(!RegTypeMulti),$(AppendedHandle),"","HANDLE"
  4639.           endif
  4640.           LibraryProcedure Result, $(!DLLSQL), RegClose $(GrpOrderKey)
  4641.         endif
  4642.         Return $(Status)
  4643.  
  4644. [RegWriteMailEnabled]
  4645.         set Status = STATUS_SUCCESSFUL
  4646.         set AppendedHandle = "0"
  4647.     LibraryProcedure OpenCntrKey, $(!DLLSQL), RegMakeKey $($0),$(!RegSQLServerServer),"",""
  4648.     ifstr(i) $(OpenCntrKey) != "KEY_ERROR"
  4649.       LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenCntrKey),$(!RegValMailEnabled),$(!RegTypeMulti),"","NOEXIST_WRITE"
  4650.       LibraryProcedure CntrsMem, $(!DLLSQL), RegRead $(OpenCntrKey),$(!RegValMailEnabled),"ALLOC_HANDLE"
  4651.       ifstr(i) $(CntrsMem) != "KEY_ERROR"
  4652.         set OneEntry = {}
  4653.         set OneEntry = >( $(OneEntry), $(!RegValSqlMailPair))
  4654.             LibraryProcedure AppendedHandle, $(!DLLSQL), AppendToHandle $(CntrsMem),$(!RegTypeMulti),$(OneEntry)
  4655.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenCntrKey),$(!RegValMailEnabled),$(!RegTypeMulti),$(AppendedHandle),"","HANDLE"
  4656.           endif
  4657.       LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenCntrKey)
  4658.     endif
  4659.         Return $(Status)
  4660.  
  4661.  
  4662. [RegCopyMailInfo]
  4663.     set Status = STATUS_SUCCESSFUL
  4664.     LibraryProcedure OpenCUMailKey, $(!DLLSQL), RegMakeKey $($0),$(!RegSWMS),"Mail","" ,"TRUE"
  4665.     ifstr(i) $(OpenCUMailKey) != "KEY_ERROR"
  4666.       LibraryProcedure Result, $(!DLLSQL), Delnode "FILE_DELETE", $(!SQLPath)"\TMPMAIL0"
  4667.       LibraryProcedure Result, $(!DLLSQL), RegSave, $(OpenCUMailKey), $(!SQLPath)"\TMPMAIL0"
  4668.       LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenCUMailKey)
  4669.       LibraryProcedure OpenDefMailKey, $(!DLLSQL), RegMakeKey $($0),".DEFAULT",$(!RegSWMS)"\Mail","","", "TRUE"
  4670.       ifstr(i) $(OpenDefMailKey) != "KEY_ERROR"
  4671.         LibraryProcedure Result, $(!DLLSQL), RegRestore, $(OpenDefMailKey), $(!SQLPath)"\TMPMAIL0"
  4672.         LibraryProcedure Result, $(!DLLSQL), Delnode "FILE_DELETE", $(!SQLPath)"\TMPMAIL0"
  4673.         LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenDefMailKey)
  4674.       endif
  4675.     endif
  4676.         Return $(Status)
  4677.  
  4678.  
  4679. [DoGroupOrderNuke]
  4680.         set Status = STATUS_SUCCESSFUL
  4681.         set AppendedHandle = "0"
  4682.         LibraryProcedure GrpOrderKey, $(!DLLSQL), RegMakeKey $($0),$(!RegSystemGrpOrder),"",""
  4683.         ifstr(i) $(GrpOrderKey) != "KEY_ERROR"
  4684.           LibraryProcedure CntrsMem, $(!DLLSQL), RegRead $(GrpOrderKey),$(!RegValGrpOrderList),"ALLOC_HANDLE"
  4685.           ifstr(i) $(CntrsMem) != "KEY_ERROR"
  4686.             LibraryProcedure PriorHandle, $(!DLLSQL), BeforeAndAfterIdxSearchAlloc "BEFORESTRING",$(CntrsMem),$(!SQLMonitorService),"0"
  4687.             ifstr(i) $(PriorHandle) != "0"
  4688.               LibraryProcedure AfterHandle, $(!DLLSQL), BeforeAndAfterIdxSearchAlloc "AFTERSTRING",$(CntrsMem),$(!SQLMonitorService),"0"
  4689.               LibraryProcedure AppendedHandle, $(!DLLSQL), BeforeAndAfterIdxSearchAlloc "APPEND_HANDLES",$(PriorHandle),$(AfterHandle),""
  4690.             endif
  4691.             ifstr(i) $(AppendedHandle) != "0"
  4692.               set CntrsMem = $(AppendedHandle)
  4693.             endif
  4694.             LibraryProcedure PriorHandle, $(!DLLSQL), BeforeAndAfterIdxSearchAlloc "BEFORESTRING",$(CntrsMem),$(!SQLServerService),"0"
  4695.             ifstr(i) $(PriorHandle) != "0"
  4696.               LibraryProcedure AfterHandle, $(!DLLSQL), BeforeAndAfterIdxSearchAlloc "AFTERSTRING",$(CntrsMem),$(!SQLServerService),"0"
  4697.               LibraryProcedure AppendedHandle, $(!DLLSQL), BeforeAndAfterIdxSearchAlloc "APPEND_HANDLES",$(PriorHandle),$(AfterHandle),""
  4698.             endif
  4699.         ifstr(i) $(AppendedHandle) != "0"
  4700.               LibraryProcedure Result, $(!DLLSQL), RegSet $(GrpOrderKey),$(!RegValGrpOrderList),$(!RegTypeMulti),$(AppendedHandle),"","HANDLE"
  4701.             endif
  4702.           endif
  4703.           LibraryProcedure Result, $(!DLLSQL), RegClose $(GrpOrderKey)
  4704.         endif
  4705.         Return $(Status)
  4706.  
  4707. [DoMailNuke]
  4708.         set Status = STATUS_SUCCESSFUL
  4709.     LibraryProcedure OpenCntrKey, $(!DLLSQL), RegMakeKey $($0),$(!RegSQLServerServer),"",""
  4710.     ifstr(i) $(OpenCntrKey) != "KEY_ERROR"
  4711.       LibraryProcedure CntrsMem, $(!DLLSQL), RegRead $(OpenCntrKey),$(!RegValMailEnabled),"ALLOC_HANDLE"
  4712.       ifstr(i) $(CntrsMem) != "KEY_ERROR"
  4713.         LibraryProcedure PriorHandle, $(!DLLSQL), BeforeAndAfterIdxSearchAlloc "BEFORESTRING",$(CntrsMem),$(!RegValSqlMailPair),"0"
  4714.         ifstr(i) $(PriorHandle) != "0"
  4715.           LibraryProcedure AfterHandle, $(!DLLSQL), BeforeAndAfterIdxSearchAlloc "AFTERSTRING",$(CntrsMem),$(!RegValSqlMailPair),"0"
  4716.           LibraryProcedure AppendedHandle, $(!DLLSQL), BeforeAndAfterIdxSearchAlloc "APPEND_HANDLES",$(PriorHandle),$(AfterHandle),""
  4717.           ifstr(i) $(AppendedHandle) != "0"
  4718.         LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenCntrKey),$(!RegValMailEnabled),$(!RegTypeMulti),$(AppendedHandle),"","HANDLE"
  4719.           endif
  4720.         endif
  4721.       endif
  4722.       LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenCntrKey)
  4723.     endif
  4724.     Return $(Status)
  4725.  
  4726. [DoPerfmonNuke]
  4727.         set Status = STATUS_SUCCESSFUL
  4728.         LibraryProcedure CurrentLocale, $(!DLLSQL), GetDefaultLocale
  4729.         LibraryProcedure SQLPerfKey, $(!DLLSQL), RegOpen $($0),$(!RegSCMSQLServer)"\"$(!SQLServerService)"\"$(!RegSQLPerformance)
  4730.         ifstr(i) $(SQLPerfKey) != "KEY_ERROR"
  4731.           LibraryProcedure Temp, $(!DLLSQL), RegRead $(SQLPerfKey),$(!RegValFirstCntr)
  4732.           set FirstCntr = *($(Temp),1)
  4733.           LibraryProcedure LastCntr, $(!DLLSQL), RegRead $(SQLPerfKey),$(!RegValLastCntr)
  4734.           LibraryProcedure Temp, $(!DLLSQL), RegRead $(SQLPerfKey),$(!RegValFirstHelp)
  4735.           set FirstHelp = *($(Temp),1)
  4736.           LibraryProcedure LastHelp, $(!DLLSQL), RegRead $(SQLPerfKey),$(!RegValLastHelp)
  4737. nukeAnotherLocale =+
  4738.           LibraryProcedure OpenCntrKey, $(!DLLSQL), RegMakeKey $($0),$(!RegNTPerfLib),$(CurrentLocale),""
  4739.           ifstr(i) $(OpenCntrKey) != "KEY_ERROR"
  4740.             LibraryProcedure CntrsMem, $(!DLLSQL), RegRead $(OpenCntrKey),$(!RegValCounters),"ALLOC_HANDLE"
  4741.             ifstr(i) $(CntrsMem) != "KEY_ERROR"
  4742.               LibraryProcedure PriorHandle, $(!DLLSQL), BeforeAndAfterIdxSearchAlloc "BEFORESTRING",$(CntrsMem),$(FirstCntr),"0"
  4743.               ifstr(i) $(PriorHandle) != "0"
  4744.                 LibraryProcedure AfterHandle, $(!DLLSQL), BeforeAndAfterIdxSearchAlloc "AFTERSTRING",$(CntrsMem),$(LastCntr),"1"
  4745.                 LibraryProcedure AppendedHandle, $(!DLLSQL), BeforeAndAfterIdxSearchAlloc "APPEND_HANDLES",$(PriorHandle),$(AfterHandle),""
  4746.                 ifstr(i) $(AppendedHandle) != "0"
  4747.                   LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenCntrKey),$(!RegValCounters),$(!RegTypeMulti),$(AppendedHandle),"","HANDLE"
  4748.                 endif
  4749.               endif
  4750.             endif
  4751.  
  4752.             LibraryProcedure HelpMem, $(!DLLSQL),  RegRead $(OpenCntrKey),$(!RegValHelp),"ALLOC_HANDLE"
  4753.             ifstr(i) $(HelpMem) != "KEY_ERROR"
  4754.               LibraryProcedure PriorHandle, $(!DLLSQL), BeforeAndAfterIdxSearchAlloc "BEFORESTRING",$(HelpMem),$(FirstHelp),"0"
  4755.               ifstr(i) $(PriorHandle) != "0"
  4756.                 LibraryProcedure AfterHandle, $(!DLLSQL), BeforeAndAfterIdxSearchAlloc "AFTERSTRING",$(HelpMem),$(LastHelp),"1"
  4757.                 LibraryProcedure AppendedHandle, $(!DLLSQL), BeforeAndAfterIdxSearchAlloc "APPEND_HANDLES",$(PriorHandle),$(AfterHandle),""
  4758.                 ifstr(i) $(AppendedHandle) != "0"
  4759.                   LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenCntrKey),$(!RegValHelp),$(!RegTypeMulti),$(AppendedHandle),"","HANDLE"
  4760.                 endif
  4761.               endif
  4762.             endif
  4763.             LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenCntrKey)
  4764.  
  4765.             ifstr(i) $(CurrentLocale) != $(!DefPerfLangID)
  4766.               set CurrentLocale = $(!DefPerfLangID)
  4767.               goto nukeAnotherLocale
  4768.             endif
  4769.           endif
  4770.           LibraryProcedure Result, $(!DLLSQL), RegClose $(SQLPerfKey)
  4771.         endif
  4772.         LibraryProcedure Result, $(!DLLSQL), RegEnumDelete "\\"$(!ComputerName),"UNIDELETE",$(!RegSCMSQLServer),$(!SQLServerService)"\"$(!RegSQLPerformance)
  4773.     Return $(Status)
  4774.  
  4775.  
  4776.  
  4777. [RegWritePerfMon]
  4778.     set Status = STATUS_SUCCESSFUL
  4779.     LibraryProcedure CurrentLocale, $(!DLLSQL), GetDefaultLocale
  4780.     shell "" DoPerfmonNuke $($0)
  4781.     LibraryProcedure OpenNTPerfKey, $(!DLLSQL), RegMakeKey $($0),$(!RegSCMSQLServer),$(!SQLServerService)"\"$(!RegSQLPerformance),""
  4782.         ifstr(i) $(OpenNTPerfKey) != "KEY_ERROR"
  4783.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenNTPerfKey),$(!RegValLibrary),$(!RegTypeString),$(!SQLCtrsDLL),""
  4784.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenNTPerfKey),$(!RegValOpen),$(!RegTypeString),"OpenSQLPerformanceData",""
  4785.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenNTPerfKey),$(!RegValCollect),$(!RegTypeString),"CollectSQLPerformanceData",""
  4786.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenNTPerfKey),$(!RegValClose),$(!RegTypeString),"CloseSQLPerformanceData",""
  4787.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenNTPerfKey),$(!RegValLoginTO),$(!RegTypeDWord),$(!LoginSleepPeriod),""
  4788.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenNTPerfKey),$(!RegValQueryTO),$(!RegTypeDWord),"0",""
  4789. anotherLocale =+
  4790.           LibraryProcedure OpenPerfKey, $(!DLLSQL), RegMakeKey $($0),$(!RegNTPerfLib),"",""
  4791.           ifstr(i) $(OpenPerfKey) != "KEY_ERROR"
  4792.             LibraryProcedure OpenCntrKey, $(!DLLSQL), RegMakeKey $($0),$(!RegNTPerfLib),$(CurrentLocale),""
  4793.             ifstr(i) $(OpenCntrKey) != "KEY_ERROR"
  4794.               LibraryProcedure CntrsMem, $(!DLLSQL), RegRead $(OpenCntrKey),$(!RegValCounters),"ALLOC_HANDLE"
  4795.               ifstr(i) $(CntrsMem) == "KEY_ERROR"
  4796.                 set CntrsMem = ""
  4797.               endif
  4798.               LibraryProcedure HelpMem, $(!DLLSQL),  RegRead $(OpenCntrKey),$(!RegValHelp),"ALLOC_HANDLE"
  4799.               ifstr(i) $(HelpMem) == "KEY_ERROR"
  4800.                 set HelpMem = ""
  4801.               endif
  4802.               LibraryProcedure LastCounter, $(!DLLSQL), RegRead $(OpenPerfKey),$(!RegValLastCntr)
  4803.               LibraryProcedure LastHelp, $(!DLLSQL), RegRead $(OpenPerfKey),$(!RegValLastHelp)
  4804.               set CurrentCntr = $(LastCounter)
  4805.               set OrigCntr = $(LastCounter)
  4806.               set CurrentHelp = $(LastHelp)
  4807.               set OrigHelp = $(LastHelp)
  4808.  
  4809.               install LoadPerfLibrary
  4810.               LibraryProcedure NumPerfCntrs, $(!PERFHANDLE), GetNumPerfCounters
  4811.  
  4812.               set PerfNameSQLSvrObj = {}
  4813.               set PerfHelpSQLSvrObj = {}
  4814.               set PerfSQLObjects = {}
  4815.               set ListCntr = "1"
  4816.               set-sub CntrLimit = $(NumPerfCntrs),1
  4817.  
  4818.        listLoop =+
  4819.           LibraryProcedure CntrListPair, $(!PERFHANDLE), GetPerfCounter $(ListCntr)
  4820.               set PerfNameSQLSvrObj = >( $(PerfNameSQLSvrObj), *($(CntrListPair), 1))
  4821.               set PerfHelpSQLSvrObj = >( $(PerfHelpSQLSvrObj), *($(CntrListPair), 2))
  4822.  
  4823.               ifstr(i) *($(CntrListPair), 1) == *($(CntrListPair), 2)
  4824.                 set PerfSQLObjects = >( $(PerfSQLObjects), $(ListCntr))
  4825.               endif
  4826.               ifint $(ListCntr) > $(CntrLimit)
  4827.               else
  4828.                 set-add ListCntr = $(ListCntr),1
  4829.                 goto listLoop
  4830.               endif
  4831.  
  4832.               install FreePerfLibrary
  4833.  
  4834.               set-add CurrentCntr = $(CurrentCntr),"2"
  4835.               set-add CurrentHelp = $(CurrentHelp),"2"
  4836.               shell "" DoCreateObjectCntrList $(PerfSQLObjects),$(CurrentCntr)
  4837.               LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenNTPerfKey),$(!RegValFirstCntr),$(!RegTypeMulti),$($R0),""
  4838.               shell "" DoCreateObjectCntrList $(PerfSQLObjects),$(CurrentHelp)
  4839.               LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenNTPerfKey),$(!RegValFirstHelp),$(!RegTypeMulti),$($R0),""
  4840.  
  4841.               ForListDo $(PerfNameSQLSvrObj)
  4842.                 set OneEntry = {}
  4843.                 set OneEntry = >( $(OneEntry), $(CurrentCntr))
  4844.                 set OneEntry = >( $(OneEntry), $($))
  4845.                 LibraryProcedure CntrsMem, $(!DLLSQL), AppendToHandle $(CntrsMem),$(!RegTypeMulti),$(OneEntry)
  4846.                 set-add CurrentCntr = $(CurrentCntr),"2"
  4847.               EndForListDo
  4848.               set-sub CurrentCntr = $(CurrentCntr),2
  4849.               LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenCntrKey),$(!RegValCounters),$(!RegTypeMulti),$(CntrsMem),"","HANDLE"
  4850.               LibraryProcedure Result, $(!DLLSQL), FreeHandle $(CntrsMem)
  4851.  
  4852.               ForListDo $(PerfHelpSQLSvrObj)
  4853.                 set OneEntry = {}
  4854.                 set OneEntry = >( $(OneEntry), $(CurrentHelp))
  4855.                 set OneEntry = >( $(OneEntry), $($))
  4856.                 LibraryProcedure HelpMem, $(!DLLSQL), AppendToHandle $(HelpMem),$(!RegTypeMulti),$(OneEntry)
  4857.                 set-add CurrentHelp = $(CurrentHelp),"2"
  4858.               EndForListDo
  4859.             set-sub CurrentHelp = $(CurrentHelp),2
  4860.               LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenCntrKey),$(!RegValHelp),$(!RegTypeMulti),$(HelpMem),"","HANDLE"
  4861.               LibraryProcedure Result, $(!DLLSQL), FreeHandle $(HelpMem)
  4862.  
  4863.           ifstr(i) $(CurrentLocale) == $(!DefPerfLangID)
  4864.                 LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenPerfKey),$(!RegValLastCntr),$(!RegTypeDWord),$(CurrentCntr),""
  4865.                 LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenPerfKey),$(!RegValLastHelp),$(!RegTypeDWord),$(CurrentHelp),""
  4866.             LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenNTPerfKey),$(!RegValLastCntr),$(!RegTypeDWord),$(CurrentCntr),""
  4867.                 LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenNTPerfKey),$(!RegValLastHelp),$(!RegTypeDWord),$(CurrentHelp),""
  4868.               else
  4869.                 LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenPerfKey)
  4870.                 LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenCntrKey)
  4871.                 set CurrentLocale = $(!DefPerfLangID)
  4872.                 goto anotherLocale
  4873.               endif
  4874.               LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenPerfKey)
  4875.             endif
  4876.             LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenCntrKey)
  4877.           endif
  4878.           LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenNTPerfKey)
  4879.         endif
  4880.         Return $(Status)
  4881.  
  4882.  
  4883.  
  4884. [DoCreateObjectCntrList]
  4885.         set Objects = {}
  4886.         ForListDo $($0)
  4887.           set-sub Cntr = $($),1
  4888.       LibraryProcedure Idx, $(!DLLSQL), IntMultiply $(Cntr),2
  4889.           set-add Idx = $(Idx), $($1)
  4890.           set Objects = >( $(Objects), $(Idx))
  4891.         EndForListDo
  4892.         return $(Objects)
  4893.  
  4894.  
  4895.  
  4896. [UpdateSCM]
  4897.         set Status = STATUS_FAILED
  4898.         set ErrorNumber = ""
  4899.         set OpenSQLKey = ""
  4900.     read-syms BillboardSCM$(!STF_LANGUAGE)
  4901.         LibraryProcedure Result, $(!DLLSQL), UpdateBillboard $(!DlgHandle),$(!BillName)
  4902.  
  4903.         LibraryProcedure OpenSQLKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServer),"",""
  4904.         LibraryProcedure OpenParamKey, $(!DLLSQL), RegMakeKey "\\"$(!ComputerName),$(!RegSQLServerServer),$(!RegSQLSvrParam),$(!AdminACL)
  4905.         ifstr(i) $(OpenParamKey) == "KEY_ERROR"
  4906.           set ErrorNumber = " #SCM1"
  4907.           goto end_updateSCM
  4908.         endif
  4909.  
  4910.         ifstr(i) $(!RemoteComputer) == ""
  4911.           set NewSQLPath = $(!SQLPath)
  4912.           set NewMasterPath = $(!MasterDBPath)
  4913.         else
  4914.           LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(!SQLPath),"AFTER",":"
  4915.           LibraryProcedure NewSQLPath, $(!DLLSQL), AppendToString $(!LogicalSQLDrive),$(Temp)
  4916.           LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(!MasterDBPath),"AFTER",":"
  4917.           LibraryProcedure NewMasterPath, $(!DLLSQL), AppendToString $(!LogicalDBDrive),$(Temp)
  4918.         endif
  4919.  
  4920.         ifstr(i) $($0) == "TRUE"
  4921.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenParamKey),$(!RegValParameter)"0",$(!RegTypeString),"-d"$(NewMasterPath)"\"$(!MasterDBFileName),""
  4922.       LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenParamKey),$(!RegValParameter)"1",$(!RegTypeString),"-e"$(NewSQLPath)"\"$(!LogDir)"\"$(!ErrorLog),""
  4923.           LibraryProcedure Result, $(!DLLSQL), DoServiceOp "\\"$(!ComputerName),"SERVICE_REMOVE",$(!SQLMonitorService),"",""
  4924.           LibraryProcedure Result, $(!DLLSQL), DoServiceOp "\\"$(!ComputerName),"SERVICE_REMOVE",$(!SQLServerService),"",""
  4925.           set pollLoop = "1"
  4926.           ifstr(i) $(!AutoServerService) == "CHECKED"
  4927.             set StartType = "A"
  4928.           else
  4929.             set StartType = ""
  4930.           endif
  4931.    pollSvrCreate =+
  4932.           LibraryProcedure Result, $(!DLLSQL), DoServiceOp "\\"$(!ComputerName),"SERVICE_CREATE",$(!SQLServerService),$(NewSQLPath)"\"$(!Binaries)"\"$(!SQLServer),"","","",$(StartType)
  4933.           ifstr(i) $(Result) != ""
  4934.             ifint $(pollLoop) < "5"
  4935.               set-add pollLoop = $(pollLoop),1
  4936.               goto pollSvrCreate
  4937.             endif
  4938.             LibraryProcedure Err, $(!DLLSQL), GetLastSetupError
  4939.           set ErrorNumber = " #SCM2 - "$(Err)
  4940.             goto end_updateSCM
  4941.           endif
  4942.  
  4943.           set pollLoop = "1"
  4944.           ifstr(i) $(!AutoMonitorService) == "CHECKED"
  4945.             set StartType = "A"
  4946.           else
  4947.             set StartType = ""
  4948.           endif
  4949. add_monitor_svc =+
  4950.           LibraryProcedure Result, $(!DLLSQL), DoServiceOp "\\"$(!ComputerName),"SERVICE_CREATE",$(!SQLMonitorService),$(NewSQLPath)"\"$(!Binaries)"\"$(!SQLMonitorEXE),"","",$(!SQLServerService),$(StartType)
  4951.           ifstr(i) $(Result) != ""
  4952.             ifint $(pollLoop) < "5"
  4953.               set-add pollLoop = $(pollLoop),1
  4954.               goto add_monitor_svc
  4955.             endif
  4956.             LibraryProcedure Err, $(!DLLSQL), GetLastSetupError
  4957.             set ErrorNumber = " #SCM3 - "$(Err)
  4958.             goto end_updateSCM
  4959.           endif
  4960.         else
  4961.           shell "" DoExtractMasterAndErrorlog "\\"$(!ComputerName)
  4962.           set MasterEntry = $($R0)
  4963.           set ELogEntry = $($R1)
  4964.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenParamKey),$(MasterEntry),$(!RegTypeString),"-d"$(NewMasterPath)"\"$(!MasterDBFileName),""
  4965.           LibraryProcedure Result, $(!DLLSQL), RegSet $(OpenParamKey),$(ELogEntry),$(!RegTypeString),"-e"$(NewSQLPath)"\"$(!LogDir)"\"$(!ErrorLog),""
  4966.     endif
  4967.       set Status = STATUS_SUCCESSFUL
  4968.         LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenParamKey)
  4969. end_updateSCM =+
  4970.     ifstr(i) $(OpenSQLKey) != ""
  4971.       LibraryProcedure Result, $(!DLLSQL), RegClose $(OpenSQLKey)
  4972.     endif
  4973.         Return $(Status) $(ErrorNumber)
  4974.  
  4975.  
  4976.  
  4977. [StartService]
  4978.         set Status = STATUS_FAILED
  4979.         StartWait
  4980. restart_service =+
  4981.     LibraryProcedure Result, $(!DLLSQL), DoServiceOp "\\"$(!ComputerName),"SERVICE_START",$($0),"",""
  4982.       ifstr(i) $(Result) != ""
  4983.         goto endStartServ
  4984.       endif
  4985.       set PollTime = "0"
  4986.       pollstate =+
  4987.         LibraryProcedure Result, $(!DLLSQL), GetServiceState "\\"$(!ComputerName),$($0)
  4988.         ifstr(i) $(Result) == "SERVICE_LIMBO"
  4989.           ifint $(PollTime) > "120"
  4990.             goto endStartServ
  4991.           endif
  4992.           LibraryProcedure Result, $(!DLLSQL), Sleepy "3"
  4993.           set-add PollTime = $(PollTime),3
  4994.           goto pollstate
  4995.       endif
  4996.       ifstr(i) $(Result) == "SERVICE_RUNNING"
  4997.         set Status = STATUS_SUCCESSFUL
  4998.       endif
  4999. endStartServ =+
  5000.         ifstr(i) $(Status) != "STATUS_SUCCESSFUL"
  5001.           read-syms NetStartError$(!STF_LANGUAGE)
  5002.           LibraryProcedure Err, $(!DLLSQL), GetLastSetupError
  5003.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$($0)" - "$(!AddlText)" - "$(Err)
  5004.         endif
  5005.         EndWait
  5006.       Return $(Status)
  5007.  
  5008. [StopService]
  5009.         set Status = STATUS_FAILED
  5010.         StartWait
  5011.       LibraryProcedure Result, $(!DLLSQL), DoServiceOp "\\"$(!ComputerName),"SERVICE_STOP",$($0),"",""
  5012.       ifstr(i) $(Result) == "SERVICE_NOT_EXIST"
  5013.         set Status = STATUS_SUCCESSFUL
  5014.         goto endStopSQL
  5015.       else-ifstr(i) $(Result) != ""
  5016.         goto endStopSQL
  5017.       endif
  5018.       set PollTime = "0"
  5019.     pollstate =+
  5020.         LibraryProcedure Result, $(!DLLSQL), GetServiceState "\\"$(!ComputerName),$($0)
  5021.         ifstr(i) $(Result) == "SERVICE_LIMBO"
  5022.           ifint $(PollTime) > "120"
  5023.             goto endStopSQL
  5024.           endif
  5025.           LibraryProcedure Result, $(!DLLSQL), Sleepy "3"
  5026.           set-add PollTime = $(PollTime),3
  5027.         goto pollstate
  5028.       endif
  5029.       ifstr(i) $(Result) == "SERVICE_STOPPED"
  5030.         set Status = STATUS_SUCCESSFUL
  5031.       endif
  5032. endStopSQL =+
  5033.         ifstr(i) $(Status) != "STATUS_SUCCESSFUL"
  5034.           read-syms NetStopError$(!STF_LANGUAGE)
  5035.           LibraryProcedure Err, $(!DLLSQL), GetLastSetupError
  5036.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$($0)" - "$(!AddlText)" - "$(Err)
  5037.         endif
  5038.         ifstr(i) $(!RemoteComputer) == ""
  5039.           ifstr(i) $($0) == $(!SQLServerService)
  5040.             LibraryProcedure SemPresent, $(!DLLSQL), IsSQLSemaphoreActive ""
  5041.             ifstr(i) $(SemPresent) == "SEMAPHORE_PRESENT"
  5042.               LibraryProcedure Result, $(!DLLSQL), SQLLogin "0","1",$(!ServerName),$(!SALogin),$(!SAPassword)
  5043.               ifstr(i) $(Result) != "NO_SERVER"
  5044.                 LibraryProcedure Result, $(!DLLSQL), SQLExecute $(!SQLShutdown)
  5045.               endif
  5046.             endif
  5047.           endif
  5048.         endif
  5049.         EndWait
  5050.       Return $(Status)
  5051.  
  5052. [CheckInstalledScripts]
  5053.     set Status = STATUS_FAILED
  5054.     set TempList = $($0)
  5055.     LibraryProcedure Result, $(!DLLSQL), SQLLogin "0","4",$(!ServerName),$(!SALogin),$(!SAPassword)
  5056.         ifstr(i) $(Result) == "NO_SERVER"
  5057.       goto chkinstsp_end
  5058.         endif
  5059.  
  5060.         LibraryProcedure Result, $(!DLLSQL), SQLDBUse $(!Master)
  5061.     ForListDo $(!OptionalScriptList)
  5062.           LibraryProcedure Result, $(!DLLSQL), SQLAddtoCmdBuff $($)
  5063.         EndForListDo
  5064.  
  5065.         LibraryProcedure Result, $(!DLLSQL), SQLExecuteCmdBuff
  5066.         ifstr(i) $(Result) == "BAD_SQL_EXEC"
  5067.       goto chkinstsp_end
  5068.     endif
  5069.     set ListIdx = 0
  5070.     ForListDo $(!OptionalScriptRetList)
  5071.           LibraryProcedure Result, $(!DLLSQL), SQLGetNextResultSet
  5072.           ifstr(i) $(Result) == "BAD_RESULTS"
  5073.         goto chkinstsp_end
  5074.           endif
  5075.           LibraryProcedure Result, $(!DLLSQL), SQLBindColumn "STRINGBIND", "1"
  5076.           LibraryProcedure Result, $(!DLLSQL), SQLNextRow $(!OneNextRow)
  5077.           LibraryProcedure Data, $(!DLLSQL), SQLGetBindingData "1"
  5078.           LibraryProcedure Result, $(!DLLSQL), NonCaseSensSearch $(Data),$($)
  5079.       ifstr(i) $(Result) != "NOT_FOUND"
  5080.         ifstr(i) $(ListIdx) == "0"
  5081.           set TempList = >( $(TempList), $(!InstAdmin2))
  5082.           set !CheckInstList = >( $(!CheckInstList), $(!SQLAdmin1))
  5083.           set !CheckInstList = >( $(!CheckInstList), $(!SQLAdmin2))
  5084.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpAdminChk1))
  5085.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpAdminChk2))
  5086.         else-ifstr(i) $(ListIdx) == "1"
  5087.           set TempList = >( $(TempList), $(!InstObject))
  5088.           set !CheckInstList = >( $(!CheckInstList), $(!SQLObject1))
  5089.           set !CheckInstList = >( $(!CheckInstList), $(!SQLObject2))
  5090.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpObjectChk1))
  5091.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!SpObjectChk2))
  5092.         else
  5093.           set TempList = >( $(TempList), $(!HelpSQL))
  5094.           set !CheckInstList = >( $(!CheckInstList), $(!SQLHelpSQL))
  5095.           set !CheckInstRetList = >( $(!CheckInstRetList), $(!RetHelpSQL))
  5096.         endif
  5097.           endif
  5098.       LibraryProcedure Result, $(!DLLSQL), SQLNextRow $(!PurgeRows)
  5099.       set-add ListIdx = $(ListIdx),1
  5100.         EndForListDo
  5101.         LibraryProcedure Result, $(!DLLSQL), SQLLogout
  5102.         set Status = STATUS_SUCCESSFUL
  5103. chkinstsp_end =+
  5104.         LibraryProcedure Result, $(!DLLSQL), SQLLogout
  5105.     Return $(Status) $(TempList)
  5106.  
  5107. [CheckInstallSuccess]
  5108.      set Status = STATUS_FAILED
  5109.      set !NonCriticalScriptFailure = ""
  5110.         LibraryProcedure Result, $(!DLLSQL), SQLLogin "0","4",$(!ServerName),$(!SALogin),$(!SAPassword)
  5111.         ifstr(i) $(Result) == "NO_SERVER"
  5112.           read-syms NoLoginToSQLServer$(!STF_LANGUAGE)
  5113.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  5114.           goto chkinst_end
  5115.         endif
  5116.         set CheckNonCritList = $(!NonCriticalCheck)
  5117.         set CheckNonCritList = >( $(CheckNonCritList),$(!Pubs))
  5118.  
  5119.         LibraryProcedure Result, $(!DLLSQL), SQLDBUse $(!Master)
  5120.         ForListDo $(!CheckInstList)
  5121.           LibraryProcedure Result, $(!DLLSQL), SQLAddtoCmdBuff $($)
  5122.         EndForListDo
  5123.  
  5124.         LibraryProcedure Result, $(!DLLSQL), SQLExecuteCmdBuff
  5125.         ifstr(i) $(Result) == "BAD_SQL_EXEC"
  5126.        read-syms SQLExecError$(!STF_LANGUAGE)
  5127.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)" CKI #1"$(!LF)
  5128.           LibraryProcedure !AddlText, $(!DLLSQL), SQLGetErrorMsg
  5129.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  5130.           goto chkinst_end
  5131.         endif
  5132.      ForListDo $(!CheckInstRetList)
  5133.           LibraryProcedure Result, $(!DLLSQL), SQLGetNextResultSet
  5134.           ifstr(i) $(Result) == "BAD_RESULTS"
  5135.             read-syms SQLBadResults$(!STF_LANGUAGE)
  5136.             LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)$($)
  5137.             goto chkinst_end
  5138.           endif
  5139.           LibraryProcedure Result, $(!DLLSQL), SQLBindColumn "STRINGBIND", "1"
  5140.           LibraryProcedure Result, $(!DLLSQL), SQLNextRow $(!OneNextRow)
  5141.           LibraryProcedure Data, $(!DLLSQL), SQLGetBindingData "1"
  5142.           LibraryProcedure Result, $(!DLLSQL), NonCaseSensSearch $(Data),$($)
  5143.           ifstr(i) $(Result) == "NOT_FOUND"
  5144.             ifcontains(i) $($) in $(CheckNonCritList)
  5145.               set !NonCriticalScriptFailure = "1"
  5146.             else
  5147.               read-syms SQLBadResults$(!STF_LANGUAGE)
  5148.               LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)$($)
  5149.               goto chkinst_end
  5150.             endif
  5151.           endif
  5152.           LibraryProcedure Result, $(!DLLSQL), SQLNextRow $(!PurgeRows)
  5153.         EndForListDo
  5154.         LibraryProcedure Result, $(!DLLSQL), SQLLogout
  5155.  
  5156.         ifstr(i) $($0) != "TRUE"
  5157.           shell "" StopService $(!SQLServerService)
  5158.           ifstr(i) $($R0) != STATUS_SUCCESSFUL
  5159.             goto chkinst_end
  5160.           endif
  5161.         endif
  5162.         set Status = STATUS_SUCCESSFUL
  5163. chkinst_end =+
  5164.         LibraryProcedure Result, $(!DLLSQL), SQLLogout
  5165.         Return $(Status)
  5166.  
  5167. [CreateConfig]
  5168.     set Status = STATUS_FAILED
  5169.         LibraryProcedure ConfigFile, $(!DLLSQL), CreateNOpenFile $(!SQLPath)"\"$(!InstallDir)"\"$(!InstConfig)
  5170.         ifstr(i) $(Result) == "ERROR_FILE_OPEN"
  5171.           read-syms CannotCreateFile$(!STF_LANGUAGE)
  5172.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  5173.           goto crconfig_end
  5174.         endif
  5175.         LibraryProcedure ConfigMemory, $(!DLLSQL), CalcSQLReqMem $(!LogicalSystemMemory)
  5176.         ForListDo $(!ConfigList)
  5177.           LibraryProcedure Result, $(!DLLSQL), WriteToFile $(ConfigFile),$($)
  5178.         EndForListDo
  5179.         LibraryProcedure Temp, $(!DLLSQL), StrBeforeAndAfter $(!MasterDBPath),"AFTER",":"
  5180.         LibraryProcedure NewMasterPath, $(!DLLSQL), AppendToString $(!LogicalDBDrive),$(Temp)
  5181.         LibraryProcedure Result, $(!DLLSQL), WriteToFile $(ConfigFile),$(!SQLPhysName1)$(NewMasterPath)"\"$(!MasterDBFileName)$(!SQLPhysName2)$(!LF)
  5182.         LibraryProcedure Result, $(!DLLSQL), WriteToFile $(ConfigFile),$(!SQLGo)$(!LF)
  5183.       LibraryProcedure Result, $(!DLLSQL), WriteToFile $(ConfigFile),$(!SQLUserConns)$(!LF)
  5184.       LibraryProcedure Result, $(!DLLSQL), WriteToFile $(ConfigFile),$(!SQLGo)$(!LF)
  5185.     LibraryProcedure Result, $(!DLLSQL), WriteToFile $(ConfigFile),$(!SQLMemory)$(ConfigMemory)$(!LF)
  5186.     LibraryProcedure Result, $(!DLLSQL), WriteToFile $(ConfigFile),$(!SQLGo)$(!LF)
  5187.     LibraryProcedure Result, $(!DLLSQL), WriteToFile $(ConfigFile),$(!SQLAllowUpdatesOff)$(!LF)
  5188.     LibraryProcedure Result, $(!DLLSQL), WriteToFile $(ConfigFile),$(!SQLGo)$(!LF)
  5189.     LibraryProcedure Result, $(!DLLSQL), WriteToFile $(ConfigFile),$(!SQLReconfigure)$(!LF)
  5190.     LibraryProcedure Result, $(!DLLSQL), WriteToFile $(ConfigFile),$(!SQLGo)$(!LF)
  5191.         LibraryProcedure Result, $(!DLLSQL), WriteToFile $(ConfigFile),$(!SQLNameServer1)$(!ComputerName)$(!SQLNameServer2)$(!LF)
  5192.         LibraryProcedure Result, $(!DLLSQL), WriteToFile $(ConfigFile),$(!SQLGo)$(!LF)
  5193.         LibraryProcedure Result, $(!DLLSQL), CloseFile $(ConfigFile)
  5194.         ifstr(i) $(Result) == "DISK_FULL"
  5195.           read-syms DiskFull$(!STF_LANGUAGE)
  5196.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  5197.           goto crconfig_end
  5198.         endif
  5199.         set Status = STATUS_SUCCESSFUL
  5200. crconfig_end =+
  5201.         Return $(Status)
  5202.  
  5203. [InstallScripts]
  5204.     set Status = STATUS_FAILED
  5205.         ForListDo $(!InstScriptsList)
  5206.           StartWait
  5207.           LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $($),"BEFORE","."
  5208.           ProcessExecute Result,"WAIT",$(!SQLPath)"\"$(!Binaries)"\"$(!ISQL)" /S"$(!ServerName)" /Usa /i"$(!SQLPath)"\"$(!InstallDir)"\"$($)" /o"$(!SQLPath)"\"$(!InstallDir)"\"$(Before)".OUT /P"
  5209.           EndWait
  5210.           ifstr(i) $(Result) == "PROCESS_ERROR"
  5211.         read-syms ProcessExecError$(!STF_LANGUAGE)
  5212.         LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!ISQL)" "$(!AddlText)
  5213.         goto instscr_end
  5214.       endif
  5215.         EndForListDo
  5216.         ForListDo $(!AddlScripts)
  5217.           StartWait
  5218.           LibraryProcedure Before, $(!DLLSQL), StrBeforeAndAfter $($),"BEFORE","."
  5219.           ProcessExecute Result,"WAIT",$(!SQLPath)"\"$(!Binaries)"\"$(!ISQL)" /S"$(!ServerName)" /Usa /i"$(!SQLPath)"\"$(!InstallDir)"\"$($)" /o"$(!SQLPath)"\"$(!InstallDir)"\"$(Before)".OUT /P"
  5220.           EndWait
  5221.           ifstr(i) $(Result) == "PROCESS_ERROR"
  5222.         read-syms ProcessExecError$(!STF_LANGUAGE)
  5223.         LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!ISQL)" "$(!AddlText)
  5224.         goto instscr_end
  5225.           endif
  5226.         EndForListDo
  5227.         set Status = STATUS_SUCCESSFUL
  5228. instscr_end =+
  5229.         Return $(Status)
  5230.  
  5231. [ReIndexServer]
  5232.     set Status = STATUS_FAILED
  5233.     shell "" StartService $(!SQLServerService)
  5234.         LibraryProcedure Result, $(!DLLSQL), Sleepy "15"
  5235.         LibraryProcedure Result, $(!DLLSQL), SQLLogin "5","3",$(!ServerName),$(!SALogin),$(!SAPassword)
  5236.         ifstr(i) $(Result) == "NO_SERVER"
  5237.           shell "" StartService $(!SQLServerService)
  5238.           LibraryProcedure Result, $(!DLLSQL), Sleepy "10"
  5239.           LibraryProcedure Result, $(!DLLSQL), SQLLogin "5","5",$(!ServerName),$(!SALogin),$(!SAPassword)
  5240.           ifstr(i) $(Result) == "NO_SERVER"
  5241.             read-syms NoLoginToSQLServer$(!STF_LANGUAGE)
  5242.             LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  5243.             goto reindex_end
  5244.           endif
  5245.         endif
  5246.         set Status = STATUS_SUCCESSFUL
  5247.  
  5248.         LibraryProcedure Result, $(!DLLSQL), SQLLogout
  5249. reindex_end =+
  5250.         Return $(Status)
  5251.  
  5252. [UpdateSystemTables]
  5253.         set Status = STATUS_FAILED
  5254.         LibraryProcedure Result, $(!DLLSQL), SQLLogin "0","4",$(!ServerName),$(!SALogin),$(!SAPassword)
  5255.         ifstr(i) $(Result) == "NO_SERVER"
  5256.           read-syms NoLoginToSQLServer$(!STF_LANGUAGE)
  5257.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  5258.           goto update_end
  5259.         endif
  5260.         LibraryProcedure Result, $(!DLLSQL), SQLExecute $(!UpdateSortOrder1)$(!TheSortConfigValue)$(!UpdateSortOrder2)
  5261.         ifstr(i) $(Result) == "BAD_SQL_EXEC"
  5262.           read-syms SQLExecError$(!STF_LANGUAGE)
  5263.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)" UST #1"$(!LF)
  5264.           LibraryProcedure !AddlText, $(!DLLSQL), SQLGetErrorMsg
  5265.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  5266.           goto update_end
  5267.         endif
  5268.         LibraryProcedure Result, $(!DLLSQL), SQLExecute $(!SQLReconfigure)
  5269.         ifstr(i) $(Result) == "BAD_SQL_EXEC"
  5270.           read-syms SQLExecError$(!STF_LANGUAGE)
  5271.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)" UST #2"$(!LF)
  5272.           LibraryProcedure !AddlText, $(!DLLSQL), SQLGetErrorMsg
  5273.           LibraryProcedure !MsgText, $(!DLLSQL), AppendToString $(!MsgText),$(!AddlText)
  5274.           goto update_end
  5275.         endif
  5276.         set Status = STATUS_SUCCESSFUL
  5277. update_end =+
  5278.         LibraryProcedure Result, $(!DLLSQL), SQLLogout
  5279.         Return $(Status)
  5280.  
  5281.  
  5282. [DoNetLibPrompts]
  5283.     set Status = STATUS_FAILED
  5284.         set FirstUserDefined = 0
  5285.         set CurrentGeneric = 1
  5286.         set NewNetList = {}
  5287.         set NewNetAddresses = {}
  5288.         ForListDo $($0)
  5289.           ifstr(i) $($) == $(!NetLibPipes)
  5290.             set NewNetList = >($(NewNetList), $($))
  5291.           else-ifstr(i) $($) == $(!NetLibSPX)
  5292.             shell "" DoGetServiceName
  5293.             ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  5294.               set Status = $($R0)
  5295.               goto end_netlib_prompts
  5296.             endif
  5297.               set NewNetList = >($(NewNetList), $($))
  5298.           else-ifstr(i) $($) == $(!NetLibVines)
  5299.             shell "" DoGetStreetName
  5300.             ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  5301.               set Status = $($R0)
  5302.               goto end_netlib_prompts
  5303.             endif
  5304.             set NewNetList = >($(NewNetList), $($))
  5305.           else-ifstr(i) $($) == $(!NetLibTCPIP)
  5306.             shell "" DoGetTCPIPSocket
  5307.             ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  5308.               set Status = $($R0)
  5309.               goto end_netlib_prompts
  5310.             endif
  5311.             set NewNetList = >($(NewNetList), $($))
  5312.           else
  5313.             ifstr(i) $($) == $(!UserDefined)
  5314.               ifstr(i) $(FirstUserDefined) == "0"
  5315.                 shell "" DoGetSpaceSQLPath GetSQLPathDlg,$(InstallationReqSpace),$(SpaceCost),"1","","",$(!LogicalSQLDrive)
  5316.             ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  5317.               set Status = $($R0)
  5318.                   goto end_netlib_prompts
  5319.                 endif
  5320.             set !SQLPath = $($R1)$($R2)
  5321.             set !DefSQLPath = $(!SQLPath)
  5322.         set !CreateSQLPath = $(!SQLPath)
  5323.         ifstr(i) $(!RemoteComputer) == ""
  5324.             set !LogicalSQLDrive = $($R1)
  5325.         endif
  5326.         set FirstUserDefined = 1
  5327.               endif
  5328.               shell "" DoGetNetLibPath
  5329.               ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  5330.                 set Status = $($R0)
  5331.                 goto end_netlib_prompts
  5332.               endif
  5333.               set NewNetList = >($(NewNetList), $(!UserNetLib))
  5334.               set !UserDefinedName = $(!UserNetLib)
  5335.               set !NetAddress = ""
  5336.             else
  5337.               set NewNetList = >($(NewNetList), $($))
  5338.               set !UserDefinedName = $($)
  5339.               set !NetAddress = *($(!NetAddresses), $(CurrentGeneric))
  5340.               set-add CurrentGeneric = $(CurrentGeneric),1
  5341.             endif
  5342.             shell "" DoGetGenericNetAddress
  5343.             ifstr(i) $($R0) != "STATUS_SUCCESSFUL"
  5344.               set Status = $($R0)
  5345.               goto end_netlib_prompts
  5346.             endif
  5347.             set NewNetAddresses = >($(NewNetAddresses), $(!NetAddress))
  5348.           endif
  5349.         EndForListDo
  5350.         set Status = STATUS_SUCCESSFUL
  5351. end_netlib_prompts =+
  5352.         ifstr(i) $(Status) != "STATUS_SUCCESSFUL"
  5353.           set NewNetList = {}
  5354.           set NewNetAddresses = {}
  5355.         endif
  5356.         Return $(Status) $(NewNetList) $(NewNetAddresses)
  5357.  
  5358. [Popup]
  5359.     set tmpvar = $($0)
  5360.         read-syms PopupInfo
  5361.         ui start $(DlgTemplate)
  5362.         ui pop 1
  5363.         Return "STATUS_SUCCESSFUL"
  5364.  
  5365.  
  5366.  
  5367. [AllocateUnusedDrive]
  5368.     set Status = STATUS_FAILED
  5369.     set Drive  = ""
  5370.     ifstr(i) $(!STF_UNUSEDDRIVES) == {}
  5371.       goto finish_allocate
  5372.     else-ifstr(i) $(!STF_UNUSEDDRIVES) == ""
  5373.       goto finish_allocate
  5374.     else
  5375.       set NewDriveList = {}
  5376.       ForListDo $(!STF_UNUSEDDRIVES)
  5377.         ifstr(i) $(#) != 1
  5378.           set NewDriveList = >($(NewDriveList), $($))
  5379.         else
  5380.           set Drive  = $($)
  5381.           set Status = STATUS_SUCCESSFUL
  5382.         endif
  5383.       EndForListDo
  5384.       set !STF_UNUSEDDRIVES = $(NewDriveList)
  5385.     endif
  5386. finish_allocate = +
  5387.     Return $(Status) $(Drive)
  5388.  
  5389.  
  5390. [LoadSetupLibrary]
  5391.         LoadLibrary "x" $(!STF_WINDOWSSYSPATH)setupdll.dll !LIBHANDLE
  5392.         LoadLibrary "y" $(!STF_CWDDIR)sqlsetup.dll !DLLSQL
  5393.         exit
  5394.  
  5395. [FreeSetupLibrary]
  5396.         FreeLibrary $(!LIBHANDLE)
  5397.         FreeLibrary $(!DLLSQL)
  5398.         exit
  5399.  
  5400. [LoadPerfLibrary]
  5401.     LoadLibrary "w" $(!SQLPath)"\"$(!DLLs)"\"sqlctrs.dll !PERFHANDLE
  5402.     exit
  5403.  
  5404. [FreePerfLibrary]
  5405.         FreeLibrary $(!PERFHANDLE)
  5406.         exit
  5407.  
  5408. [Install-Shutdown]
  5409.     LibraryProcedure STATUS,$(!DLLSQL),ShutdownSystem "\\"$(!ComputerName)
  5410.     exit
  5411.  
  5412. [LanguageID]
  5413.        ENG
  5414.  
  5415. [LanguageTextENG]
  5416.        "English (American)"
  5417.  
  5418.  
  5419. [LanguageVar]
  5420.         STF_LANGUAGE       =     "" ? $(!LIBHANDLE) GetLanguage
  5421.         LanguageList       =     ^(LanguageID, 1)
  5422.  
  5423. [DriveTypeVar]
  5424.         DriveType     =     "" ? $(!LIBHANDLE) GetTypeOfDrive $(DriveToExamine)
  5425.  
  5426. [DetectDirectory]
  5427.        DirectoryThere     =     "-" ? $(!LIBHANDLE) DoesDirExist $(DEST)
  5428.  
  5429. [NETIsValidName]
  5430.     LibraryProcedure STATUS,$(!LIBHANDLE),NetNameCheck $(Name)
  5431.     exit
  5432.  
  5433. [CreateSQLDirectory]
  5434.         CreateDir $(!DestPath)
  5435.     exit
  5436.  
  5437. [InstallOneOffFileCopy]
  5438.         AddSectionFilesToCopyList "OneOffCopyFile", $(!SrcCopyPath), $(!DestCopyPath)
  5439.         CopyFilesInCopyList
  5440.       exit
  5441.  
  5442. [CopyLangFiles]
  5443.     CreateDir $(!DestPath)
  5444.     AddSectionFilesToCopyList "LocaleFile", $(!SrcPath), $(!DestPath)
  5445.     CopyFilesInCopyList
  5446.     exit
  5447.  
  5448. [InstallBaseInstallFiles]
  5449.         ifstr(i) $(GetCost) == ""
  5450.         CreateDir $(!MasterDBPath)
  5451.         CreateDir $(!SQLPath)
  5452.         CreateDir $(!SQLPath)"\"$(!Binaries)
  5453.         CreateDir $(!SQLPath)"\"$(!DOSBinaries)
  5454.         CreateDir $(!SQLPath)"\"$(!OS2Binaries)
  5455.         CreateDir $(!SQLPath)"\"$(!InstallDir)
  5456.         CreateDir $(!SQLPath)"\"$(!DLLs)
  5457.         CreateDir $(!SQLPath)"\"$(!CharSets)
  5458.         CreateDir $(!SQLPath)"\"$(!LogDir)
  5459.         CreateDir $(!SQLPath)"\"$(!CharSets)"\"$(!CP437Dir)
  5460.         CreateDir $(!SQLPath)"\"$(!CharSets)"\"$(!CP850Dir)
  5461.         CreateDir $(!SQLPath)"\"$(!CharSets)"\"$(!ISO1Dir)
  5462.       endif
  5463.       AddSectionFilesToCopyList "BaseInstallExes", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5464.       AddSectionFilesToCopyList "DOSInstallExes", $(!STF_CWDDIR), $(!SQLPath)"\"$(!DOSBinaries)
  5465.       AddSectionFilesToCopyList "OS2InstallExes", $(!STF_CWDDIR), $(!SQLPath)"\"$(!OS2Binaries)
  5466.       AddSectionFilesToCopyList "BaseInstallDLLs", $(!STF_CWDDIR), $(!SQLPath)"\"$(!DLLs)
  5467.       AddSectionFilesToCopyList "ClientDLLs", $(!STF_CWDDIR), $(!SQLPath)"\"$(!DLLs)
  5468.       AddSectionFilesToCopyList "ClientDLLs", $(!STF_CWDDIR), $(!SystemDirectory)
  5469.       AddSectionFilesToCopyList "InstallDLLs", $(!SQLPath)"\"$(!DLLs), $(!SystemDirectory)
  5470.       AddSectionFilesToCopyList "InstallExes", $(!SQLPath)"\"$(!Binaries), $(!SystemDirectory)
  5471.       AddSectionFilesToCopyList "BaseInstall", $(!STF_CWDDIR), $(!SQLPath)"\"$(!InstallDir)
  5472.       AddSectionFilesToCopyList "Charset437", $(!STF_CWDDIR), $(!SQLPath)"\"$(!CharSets)"\"$(!CP437Dir)
  5473.       AddSectionFilesToCopyList "Charset850", $(!STF_CWDDIR), $(!SQLPath)"\"$(!CharSets)"\"$(!CP850Dir)
  5474.       AddSectionFilesToCopyList "CharsetISO", $(!STF_CWDDIR), $(!SQLPath)"\"$(!CharSets)"\"$(!ISO1Dir)
  5475.       ifstr(i) $(!Locale) != ""
  5476.         ifstr(i) $(GetCost) == ""
  5477.           CreateDir $(!SQLPath)"\"$(!LocalesDir)"\"$(!Locale)
  5478.         endif
  5479.         AddSectionFilesToCopyList "LocaleFile", $(!STF_CWDDIR), $(!SQLPath)"\"$(!LocalesDir)"\"$(!Locale)
  5480.       endif
  5481.       AddSectionFilesToCopyList "Util1", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5482.       AddSectionFilesToCopyList "Util2", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5483.       AddSectionFilesToCopyList "Util3", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5484.       AddSectionFilesToCopyList "Util3Help", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5485.       AddSectionFilesToCopyList "Util4", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5486.       AddSectionFilesToCopyList "Util4Help", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5487.       AddSectionFilesToCopyList "Util5", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5488.       AddSectionFilesToCopyList "Util6", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5489.       ifstr(i) $(GetCost) == ""
  5490.         CopyFilesInCopyList
  5491.       else
  5492.         GetCopyListSize "SpaceCost","BYTES"
  5493.         ClearCopyList
  5494.       endif
  5495.       exit
  5496.  
  5497. [InstallUtilFiles]
  5498.         ifstr(i) $(GetCost) == ""
  5499.       CreateDir $(!SQLPath)
  5500.       CreateDir $(!SQLPath)"\"$(!DLLs)
  5501.       CreateDir $(!SQLPath)"\"$(!Binaries)
  5502.     endif
  5503.     ifcontains(i) $(!BCP) in $(!UtilFiles)
  5504.       AddSectionFilesToCopyList "Util1", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5505.     endif
  5506.     ifcontains(i) $(!ISQL) in $(!UtilFiles)
  5507.       AddSectionFilesToCopyList "Util2", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5508.     endif
  5509.         ifcontains(i) $(!SQLAdminEXE) in $(!UtilFiles)
  5510.       AddSectionFilesToCopyList "Util3", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5511.       AddSectionFilesToCopyList "Util3Help", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5512.     endif
  5513.         ifcontains(i) $(!SQLObjectEXE) in $(!UtilFiles)
  5514.       AddSectionFilesToCopyList "Util4", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5515.       AddSectionFilesToCopyList "Util4Help", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5516.     endif
  5517.         ifcontains(i) $(!SQLSecManEXE) in $(!UtilFiles)
  5518.       AddSectionFilesToCopyList "Util5", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5519.     endif
  5520.     ifcontains(i) $(!ReadPipe) in $(!UtilFiles)
  5521.       AddSectionFilesToCopyList "Util6", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5522.     endif
  5523.     AddSectionFilesToCopyList "UtilDLLs", $(!STF_CWDDIR), $(!SQLPath)"\"$(!DLLs)
  5524.     AddSectionFilesToCopyList "ClientDLLs", $(!STF_CWDDIR), $(!SQLPath)"\"$(!DLLs)
  5525.       AddSectionFilesToCopyList "ClientDLLs", $(!STF_CWDDIR), $(!SystemDirectory)
  5526.     AddSectionFilesToCopyList "UtilHelp", $(!STF_CWDDIR), $(!SQLPath)"\"$(!Binaries)
  5527.     ifstr(i) $(GetCost) == ""
  5528.       CopyFilesInCopyList
  5529.     else
  5530.         GetCopyListSize "SpaceCost","BYTES"
  5531.         ClearCopyList
  5532.       endif
  5533.         exit
  5534.  
  5535. [OneOffCopyFile]
  5536.     5, $(!OneOffFile)
  5537.  
  5538. [ReadUnusedDrives]
  5539.     !STF_UNUSEDDRIVES = {} ? $(!LIBHANDLE) GetUnusedDrives
  5540.  
  5541. [GeneralConstants]
  5542.         Radio1      = "1"
  5543.         Radio2      = "2"
  5544.         Radio3      = "3"
  5545.         Radio4      = "4"
  5546.         Radio5      = "5"
  5547.         Radio6      = "6"
  5548.         Radio7      = "7"
  5549.         Radio8      = "8"
  5550.     Radio9      = "9"
  5551.     Chosen        = "ON"
  5552.         NotChosen     = "OFF"
  5553.     InstallDefault    = $(Radio3)
  5554.     SetupOption        = $(InstallDefault)
  5555.  
  5556. [UiVars]
  5557.     SetupLang    = "ENG"
  5558.     BuildVersion       = "NT Release 1.0"
  5559.     ProductVersion    = "NT 4.2"
  5560.         OS2        = "OS/2"
  5561.         WindowsNT    = "WINDOWS/NT"
  5562.  
  5563.         PurgeRows    = "1"
  5564.         OneNextRow    = "2"
  5565.         LoginSleepPeriod= "5"
  5566.         LoginSleepRetrys= "5"
  5567.         Primary         = "C:"
  5568.         SQLServerService= "SQLServer"
  5569.         SQLMonitorService="SQLMonitor"
  5570.         TCPIPService    = "TCPIP"
  5571.         LANManService    = "LanmanServer"
  5572.         LANManWksta    = "LanmanWorkstation"
  5573.         AdministratorsGroup = {"SYSTEM","Administrators"}
  5574.         SystemGroup    = "SYSTEM"
  5575.         DefGuest    = "guest"
  5576.         DOSBinaries    = "BIN"
  5577.         OS2Binaries    = "BINP"
  5578.         Binaries    = "BINN"
  5579.         DataDir        = "DATA"
  5580.         DLLs        = "DLL"
  5581.         UpgradeDirPath  = "CHARSETS\CP850"
  5582.         CharSets    = "CHARSETS"
  5583.         InstallDir    = "INSTALL"
  5584.         LogDir        = "LOG"
  5585.         DataDir        = "DATA"
  5586.         SystemDir    = "SYSTEM32"
  5587.         ExtendedSpExDir = "EXTENDSP"
  5588.         IncludeDir    = "INCLUDE"
  5589.         LibDir        = "LIB"
  5590.         CP437Dir    = "CP437"
  5591.         CP850Dir    = "CP850"
  5592.         ISO1Dir        = "CPISO"
  5593.         LocalesDir    = "LOCALES"
  5594.         ErrorLog    = "ERRORLOG"
  5595.         BuildMaster    = "BLDMASTR.EXE"
  5596.         CharSet        = "CHARSET.EXE"
  5597.         BCP        = "BCP.EXE"
  5598.         SetupEXE    = "SETUP.EXE"
  5599.         ConsoleEXE    = "CONSOLE.EXE"
  5600.         StopLite    = "SQLMGR.EXE"
  5601.         NTWDBVer    = "NTWDBVER.EXE"
  5602.         ReadPipe    = "READPIPE.EXE"
  5603.         Upgrade        = "UPGRADE.EXE"
  5604.         LangInst    = "LANGINST.EXE"
  5605.         PerfMonEXE    = "PERFMON.EXE"
  5606.         SQLAdminEXE    = "SQLADMIN.EXE"
  5607.         SQLObjectEXE    = "SQLOBJ.EXE"
  5608.     SQLTransferEXE    = "SQLXFR.EXE"
  5609.         SQLSecManEXE    = "SQSECMGR.EXE"
  5610.         ISQLWEXE    = "ISQLW.EXE"
  5611.         SQLMonitorEXE    = "SQLMONTR.EXE"
  5612.         SQLTapeUtil    = "WTAPEDIR.EXE"
  5613.         SQLCtrsPMC    = "SQLCTRS.PMC"
  5614.         SQLCtrs        = "SQLCTRS"
  5615.         SQLCtrsDLL    = "SQLCTRS.DLL"
  5616.         DefLangFile    = "SERVER.LOC"
  5617.         EventCtrsDLL    = "EVNTCTRS.DLL"
  5618.         ISQL        = "ISQL.EXE"
  5619.         ISQLOut        = "ISQL.OUT"
  5620.         HelpSQLHLP    = "HELPSQL.HLP"
  5621.         HelpAdmin    = "SQLADMIN.HLP"
  5622.         HelpObject    = "SQLOBJ.HLP"
  5623.         HelpSQLNTSetup    = "SQLSETUP.HLP"
  5624.         WinHelpEXE    = "WINHLP32.EXE"
  5625.         SQLEventDLL    = "SQLEVENT.DLL"
  5626.         MasterDB    = "MASTER.DAT"
  5627.         DefMasterDB    = $(!MasterDB)
  5628.         SQLServer    = "SQLSERVR.EXE"
  5629.         SQLOut        = "SQLSERVR.OUT"
  5630.         UpgradeOut    = "UPGRADE.OUT"
  5631.         LangInstOut    = "LANGINST.OUT"
  5632.         CharSetOut    = "CHARSET.OUT"
  5633.         BuildMasterOut  = "BLDMASTR.OUT"
  5634.         InstConfig    = "CONFIG.SQL"
  5635.         InstNT        = "INSTNT.SQL"
  5636.     DropAll        = "DROPALL.SQL"
  5637.         InstMstr    = "INSTMSTR.SQL"
  5638.         InstModl    = "INSTMODL.SQL"
  5639.         InstAdmin2    = "ADMIN2.SQL"
  5640.     UnAdmin     = "UNADMIN.SQL"
  5641.     InstObject    = "OBJECT2.SQL"
  5642.     UnObject    = "UNOBJ.SQL"
  5643.     TempSp        = "TEMPSP.SQL"
  5644.         InstCat        = "INSTCAT.SQL"
  5645.         HelpSQL        = "HELPSQL.SQL"
  5646.         InstPubs    = "INSTPUBS.SQL"
  5647.         UpdateSortOrder1= "update master.dbo.sysconfigures set value = "
  5648.         UpdateSortOrder2= " where config = 123"
  5649.         SQLGo        = "go"
  5650.         SQLReconfigure    = "reconfigure with override"
  5651.         SQLShutdown    = "shutdown with nowait"
  5652.         SQLAddLogin    = "sp_addlogin "
  5653.         SQLAllowUpdatesOn= "sp_configure 'allow_updates', 1"
  5654.         SQLUseMaster    = "use master"
  5655.         SQLPhysName1    = "update master.dbo.sysdevices set phyname='"
  5656.         SQLPhysName2    = "' where name = 'master'"
  5657.         SQLRecoveryInterval="sp_configure 'recovery interval', 5"
  5658.         SQLAllowUpdatesOff= "sp_configure 'allow updates', 0"
  5659.         SQLUserConns    = "sp_configure 'user connections', 10"
  5660.         SQLMemory    = "sp_configure 'memory', "
  5661.         SQLOpenDBs    = "sp_configure 'open databases', 20"
  5662.         SQLLocks    = "sp_configure 'locks', 5000"
  5663.         SQLOpenObjs    = "sp_configure 'open objects', 500"
  5664.         SQLProcCache    = "sp_configure 'procedure cache', 20"
  5665.         SQLFillFactor    = "sp_configure 'fill factor', 0"
  5666.         SQLTimeSlice    = "sp_configure 'time slice', 100"
  5667.         SQLDBSize    = "sp_configure 'database size', 2"
  5668.         SQLMediaRetent    = "sp_configure 'media retention', 0"
  5669.         SQLRecoveryFlags= "sp_configure 'recovery flags', 0"
  5670.         SQLNameServer1    = "sp_addserver "
  5671.         SQLNameServer2  = ",local"
  5672.         SQLSetLang      = "sp_configure 'default language', 1"
  5673.         SQLspWho    = "select name from master.dbo.sysobjects where name like 'sp_who' "
  5674.         SQLSPTValues    = "select name from master.dbo.sysobjects where name like 'spt_values' "
  5675.         SQLAddXProc    = "select name from master.dbo.sysobjects where name like 'sp_addextendedproc' "
  5676.         SQLCtrsUsers    = "select name from master.dbo.sysobjects where name like 'MS_sqlctrs_users' "
  5677.         SQLInfoExt    = "select name from master.dbo.sysobjects where name like 'spt_datatype_info_ext' "
  5678.         SQLSpecCols    = "select name from master.dbo.sysobjects where name like 'sp_special_columns' "
  5679.         SQLAdmin1    = "select name from master.dbo.sysobjects where name like 'sp_MSdevice_list'"
  5680.         SQLAdmin2    = "select name from master.dbo.sysobjects where name like 'sp_MSAdmin_version'"
  5681.         SQLObject1    = "select name from master.dbo.sysobjects where name like 'sp_MSuser_info'"
  5682.         SQLObject2    = "select name from master.dbo.sysobjects where name like 'sp_MSOM_version'"
  5683.         SQLHelpSQL    = "select name from master.dbo.sysobjects where name like 'sp_helpsql'"
  5684.         SQLCheckVersion = "select value from master.dbo.sysconfigures where config = 122"
  5685.         SQLGetMasterOS  = "select name from master.dbo.spt_values where low = 2048"
  5686.         SQLCheckRO    = "select count(*) from master.dbo.sysdatabases where status & 1024 > 0"
  5687.         SQLCheckMasterSpace="declare @dbsize int "$(!LF)+
  5688.                   "declare @dbreserve int "$(!LF)+
  5689.                   "select @dbsize = (sum(size) * 2048) / 1024 from master.dbo.sysusages where dbid = 1 and (segmap = 7 or segmap = 3) "$(!LF)+
  5690.                   "select @dbreserve = (sum(reserved) * 2048) / 1024 from master.dbo.sysindexes where indid in (0, 1, 255) "$(!LF)+
  5691.                   "select @dbsize - @dbreserve"$(!LF)+
  5692.               "go "
  5693.     SQLCheckSuspect = "select count(*) from master.dbo.sysdatabases where status & 256 > 0"
  5694.     SQLGetConfOpen    = "select value from master.dbo.syscurconfigs where config=105"
  5695.     SQLGetNumDBs    = "select count(*) from master.dbo.sysdatabases"
  5696.     SQLUpgObjects    = "declare @needed int"$(!LF)+
  5697.               "declare @got int"$(!LF)+
  5698.               "declare @databases int"$(!LF)+
  5699.               "select @got = value from master..syscurconfigs where config=107"$(!LF)+
  5700.               "select @databases = count(*) from master..sysdatabases"$(!LF)+
  5701.               "select @needed = 13 + 13 * @databases +20"$(!LF)+
  5702.               "if(@needed > @got and @needed > 100)"$(!LF)+
  5703.               "begin exec sp_configure 'open objects',@needed"$(!LF)+
  5704.               "reconfigure with override end"
  5705.     SQLUpgConfigMem = "declare @cfgmem int"$(!LF)+
  5706.               "declare @numusers int"$(!LF)+
  5707.               "declare @opendb   float"$(!LF)+
  5708.               "declare @locks    float"$(!LF)+
  5709.               "declare @openobj  float"$(!LF)+
  5710.               "declare @memneed  int"$(!LF)+
  5711.               "select @cfgmem= value from master.dbo.sysconfigures where config=104"$(!LF)+
  5712.               "select @numusers= 19 * value from master.dbo.sysconfigures where config=103"$(!LF)+
  5713.               "select @opendb= .5 * value from master.dbo.sysconfigures where config=105"$(!LF)+
  5714.               "select @openobj= .04 * value from master.dbo.sysconfigures where config=107"$(!LF)+
  5715.               "select @locks=  .0156 * value from master.dbo.sysconfigures where config=106"$(!LF)+
  5716.               "select  @memneed =  2300 + @numusers + @opendb + @openobj + @locks"$(!LF)+
  5717.               "if @memneed < 2800 select @memneed = 2800"$(!LF)+
  5718.               "if @memneed > @cfgmem begin"$(!LF)+
  5719.                   "exec sp_configure 'memory',@memneed"$(!LF)+
  5720.                   "reconfigure with override end"
  5721.  
  5722.  
  5723.         InstallSetInstld= {"1","3"}
  5724.         InstallSet      = {"4","5","6","7","8","9","10"}
  5725.         CompleteInstSet = {"1","2","3","4","5","6","7","8","9","10"}
  5726.         SupportedRemoteShares = {"C","D","E","F","G","H","I","J","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}
  5727.         NetLibPipes    = "SSNMPNTW"
  5728.         NetLibSPX    = "SSMSSPXN"
  5729.         NetLibVines    = "SSMSVINN"
  5730.         NetLibTCPIP    = "SSMSSOCN"
  5731.         ClientLibPipes    = "DBNMPNTW"
  5732.         ClientLibSPX    = "DBMSSPXN"
  5733.         ClientLibVine    = "DBMSVINN"
  5734.     ClientLibTCPIP    = "DBMSSOCN"
  5735.         DBLibDLL    = "NTWDBLIB.DLL"
  5736.     DefTCPIPSocket    = "1433"
  5737.     DefMonTCPIPSocket = "1434"
  5738.         ConsolePipe    = "\\.\pipe\sql\console"
  5739.         MonitorPipe    = "\\.\pipe\winsql\backup"
  5740.         SvrPipe        = "\\.\pipe\sql\query"
  5741.     MonNetLibPipeCon= "?1:\\?1\pipe\winsql\backup"
  5742.     MonNetLibSPXCon = "?1:?1_mon"
  5743.     MonNetLibVineCon= "?1@?2:?1_mon?2"
  5744.     MonNetLibTCPIPCon= "?1,?2:?1,"$(!DefMonTCPIPSocket)
  5745.         DefSvcMgrServices={$(!SQLServerService),$(!SQLMonitorService)}
  5746.         DefScriptList    = {$(!InstPubs),$(!InstAdmin2),$(!InstObject),$(!HelpSQL)}
  5747.         NetLibDefList   = {$(NetLibPipes)}
  5748.         NetLibList      = {$(NetLibPipes)}
  5749.  
  5750.         AddlScripts    = {}
  5751.         NetSelList    = {}
  5752.     ConfigList     = {$(SQLAllowUpdatesOn)$(!LF),$(!SQLGo)$(!LF), +
  5753.                        $(!SQLReconfigure)$(!LF),$(!SQLGo)$(!LF), +
  5754.                        $(!SQLUseMaster)$(!LF),$(!SQLGo)$(!LF), +
  5755.                        $(!SQLRecoveryInterval)$(!LF),$(!SQLGo)$(!LF), +
  5756.                          $(!SQLOpenDBs)$(!LF),    $(!SQLGo)$(!LF), +
  5757.                          $(!SQLLocks)$(!LF),        $(!SQLGo)$(!LF), +
  5758.                          $(!SQLOpenObjs)$(!LF),    $(!SQLGo)$(!LF), +
  5759.                          $(!SQLProcCache)$(!LF),    $(!SQLGo)$(!LF), +
  5760.                          $(!SQLFillFactor)$(!LF),    $(!SQLGo)$(!LF), +
  5761.                          $(!SQLTimeSlice)$(!LF),    $(!SQLGo)$(!LF), +
  5762.                          $(!SQLDBSize)$(!LF),        $(!SQLGo)$(!LF), +
  5763.                          $(!SQLMediaRetent)$(!LF),    $(!SQLGo)$(!LF), +
  5764.                          $(!SQLRecoveryFlags)$(!LF),    $(!SQLGo)$(!LF)}
  5765.     DelDLLList    = {"opendsnt.dll","ssnmpntw.dll","ssmssocn.dll","sqlevent.dll","charset.exe"}
  5766.     ClientDLLList    = {$(!ClientLibPipes)".DLL",$(!ClientLibSPX)".DLL",$(!ClientLibVine)".DLL",$(!ClientLibTCPIP)".DLL",$(!DBLibDLL)}
  5767.  
  5768.     CheckInstDefList= {$(!SQLspWho),$(!SQLSPTValues),$(!SQLAddXProc),$(!SQLCtrsUsers),$(!SQLInfoExt),+
  5769.                    $(!SQLSpecCols)}
  5770.         CheckInstDefRetList= {"sp_who","spt_values","sp_addextendedproc","MS_sqlctrs_users",+
  5771.                       "spt_datatype_info_ext","sp_special_columns"}
  5772.         NonCriticalCheck= {"sp_MSdevice_list","sp_MSAdmin_version","sp_MSuser_info","sp_MSOM_version","sp_helpsql"}
  5773.     OptionalScriptRetList= {"sp_MSdevice_list","sp_MSuser_info","sp_helpsql"}
  5774.     OptionalScriptList={$(!SQLAdmin1),$(!SQLObject1),$(!SQLHelpSQL)}
  5775.     CheckInstList    = $(!CheckInstDefList)
  5776.         CheckInstRetList= $(!CheckInstDefRetList)
  5777.  
  5778.         SpAdminChk1     = "sp_MSdevice_list"
  5779.         SpAdminChk2    = "sp_MSAdmin_version"
  5780.         SpObjectChk1    = "sp_MSuser_info"
  5781.         SpObjectChk2    = "sp_MSOM_version"
  5782.         Master        = "master"
  5783.         RetHelpSQL    = "sp_helpsql"
  5784.  
  5785.         STF_WINDOWSSYSPATH = "" ? $(!LIBHANDLE) GetWindowsNtSysDir
  5786.         STF_UNUSEDDRIVES = {} ? $(!LIBHANDLE) GetUnusedDrives
  5787.  
  5788.         MsgText        =    ""
  5789.         InstallType    =    ""
  5790.         DlgHandle    =    ""
  5791.  
  5792.         TheCharSet    =    ""
  5793.         TheCharSetPath    =    ""
  5794.         TheSortFile    =    ""
  5795.         TheSortConfigValue=    ""
  5796.         ComputerName     =     ""
  5797.         Registration    =    ""
  5798.         Owner        =    ""
  5799.         SALogin        =    "sa"
  5800.         SAPassword      =    ""
  5801.     YesNoQ        =    ""
  5802.     CreateSQLPath    =    ""
  5803.         OrgName         =     ""
  5804.         FullName        =     ""
  5805.         SingleUserMode    =    "-m"
  5806.         MachineName    =    ""
  5807.         MasterDBPath    =     ""
  5808.         DefMasterPath   =     "DATA"
  5809.         CreateMasterPath=     "NO"
  5810.         UserDefined    =    "UU"
  5811.         UserProvided    =    "PP"
  5812.         DefSQLStub    =    "SQL"
  5813.         DefNETPath    =    "A:\"
  5814.         CreateSQLPath    =    "NO"
  5815.         MasterExistCheck=    "NO"
  5816.         DefMasterSize   =     "15"
  5817.         SQLMasterSize   =     ""
  5818.         DefMasterSize   =     "15"
  5819.         MinMasterSize    =    "15"
  5820.         NETPath         =     ""
  5821.         CreateNETPath   =    "NO"
  5822.         DefSocketNumber =     ""
  5823.         DefTapeDev    =    "\DEVICE\Tape0"
  5824.         DefSecMap1    =    "\"
  5825.         DefSecMap2    =    "-"
  5826.         DefSecMap3    =    " "
  5827.         SecTokDomainSep =      "\"
  5828.     SecTokSpace    =    " "
  5829.     CopyMailInfo    =    ""
  5830.  
  5831.         RegTypeString    =    "REG_SZ"
  5832.         RegTypeExpString=    "REG_EXPAND_SZ"
  5833.         RegTypeMulti    =       "REG_MULTI_SZ"
  5834.         RegTypeDWord    =    "REG_DWORD"
  5835.         RegValRegOwner  =    "RegisteredOwner"
  5836.         RegValRegOrg    =    "RegisteredOrganization"
  5837.         RegValSoftType    =    "SoftwareType"
  5838.         RegValSerialNumber=    "SerialNumber"
  5839.         RegValVersion    =    "CurrentVersion"
  5840.         RegValBuild    =    "CurrentBuild"
  5841.         RegValListenOn  =       "ListenOn"
  5842.         RegValConsole   =       "Console"
  5843.         RegValTapeWait    =    "Tapeloadwaittime"
  5844.         RegValParameter =     "SQLArg"
  5845.         RegValSQLPath    =    "SQLPath"
  5846.     RegValSvcMgrVerify=    "Action Verify"
  5847.         RegValSvcMgrSvcs=    "Services"
  5848.         RegValSvcMgrRemote=    "Remote"
  5849.     RegValSvcMgrDefSvc=    "DefaultSvc"
  5850.  
  5851.         RegSQLSysType    =    "System"
  5852.         RegSWMS        =    "SOFTWARE\Microsoft"
  5853.         RegEventAppLog    =    "SYSTEM\CurrentControlSet\Services\EventLog\Application"
  5854.         RegLMSvrParams  =    "SYSTEM\CurrentControlSet\Services\LanmanServer"
  5855.         RegTCPIPService =    "SYSTEM\CurrentControlSet\Services\Tcpip"
  5856.         RegSCMSQLServer =       "SYSTEM\CurrentControlSet\Services"
  5857.         RegSystemGrpOrder=    "SYSTEM\CurrentControlSet\Control\ServiceGroupOrder"
  5858.         RegSystemPaths  =    "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
  5859.         RegMManagement  =    "SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management"
  5860.         RegPriorityCtrl =    "SYSTEM\CurrentControlSet\Control\PriorityControl"
  5861.         RegLMSize    =    "Size"
  5862.         RegMMSystemCache=    "LargeSystemCache"
  5863.         RegUserPaths    =    "Environment"
  5864.         RegSysDOSDev    =    "DOS Devices"
  5865.         RegSysPriority     =    "Win32PrioritySeparation"
  5866.         RegValGrpOrderList=    "List"
  5867.         RegValTape0    =    "Tape0"
  5868.         RegValELogMsgFile=    "EventMessageFile"
  5869.         RegValELogTypes    =    "TypesSupported"
  5870.         RegValELogCMsgFile=    "CategoryMessageFile"
  5871.         RegValELogCCount=    "CategoryCount"
  5872.  
  5873.         RegValLMSvrAnno =    "Lmannounce"
  5874.     RegValSysPath    =    "Path"
  5875.         RegSQLServer    =    "SOFTWARE\Microsoft\SQLServer"
  5876.         RegSQLServerServer=    "SOFTWARE\Microsoft\SQLServer\Server"
  5877.         RegSQLClient    =    "SOFTWARE\Microsoft\SQLServer\Client"
  5878.         RegSQLMonitor   =    "SOFTWARE\Microsoft\SQLServer\SQLMonitor"
  5879.         RegSQLAdmin    =       "SQL Administrator"
  5880.         RegISQLW    =    "ISQL/w"
  5881.         RegSQLOM    =    "SQL Object Manager"
  5882.         RegSecMan    =    "SQL Security Manager"
  5883.         RegSQLSetup    =    "SOFTWARE\Microsoft\SQLServer\Setup"
  5884.         RegSQLSetupKey  =    "Setup"
  5885.         RegSecLoginMode    =    "LoginMode"
  5886.         RegValRealTime    =    "RealTime"
  5887.     RegValSMPStat    =    "SMPStat"
  5888.     RegValSqlMailPair =    "SQLMAPI,startmail"
  5889.     RegValMailEnabled =    "StartupHandlers"
  5890.     MSMailUser    =    ""
  5891.     MSMailPwd    =    ""
  5892.     RegValMSMailUser=    "MailAccountName"
  5893.     RegValMSMailPwd =    "MailPassword"
  5894.         RegSecDefAccount=    "DefaultLogin"
  5895.         RegSecDefDomain =    "DefaultDomain"
  5896.         RegSecAuditLevel=    "AuditLevel"
  5897.         RegSecHostname    =    "SetHostname"
  5898.         RegSecMap1    =    "Map_"
  5899.         RegSecMap2    =    "Map#"
  5900.         RegSecMap3    =    "Map$"
  5901.         RegNTPerfLib    =    "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib"
  5902.         RegSQLWinNT    =    "SOFTWARE\Microsoft\Windows NT\CurrentVersion"
  5903.         RegSQLSvcMgr    =    "SQL Service Manager"
  5904.         RegSQLDBLib    =    "DB-Lib"
  5905.         RegSQLConnectTo    =    "ConnectTo"
  5906.         RegSQLServerVer    =    "CurrentVersion"
  5907.         RegSQLServerSvr    =    "Server"
  5908.         RegSQLSvrParam  =    "Parameters"
  5909.         RegSQLPerformance=    "Performance"
  5910.         RegSvcStart      =    "Start"
  5911.         RegMonAutoRestart=    "AutoRestart"
  5912.         RegMonBackupTime=       "BackupTime"
  5913.         RegMonTime=        "MonitorTime"
  5914.         RegMonTableSize    =    "MonitorTableSize"
  5915.         RegMonMonitor    =    "Monitor"
  5916.         RegMonTimeout   =       "SqlTimeout"
  5917.         RegMonServer    =       "Server"
  5918.         RegMonPassword  =       "Password"
  5919.         RegMonBackup    =       "Backup"
  5920.     RegMonLogsize    =    "Logsize"
  5921.     RegMonBackupRetry =    "BackupRetryAttempts"
  5922.         RegValDSQUERY    =    "DSQUERY"
  5923.         RegValAutoStart =    "10"
  5924.     RegValBackupTime=    "15"
  5925.     RegValBackupRetry =    "3"
  5926.         RegValTime=        "60"
  5927.         RegValTableSize    =    "1000"
  5928.         RegValMntr    =    "OFF"
  5929.         RegValTimeout   =       "360"
  5930.         RegValServer    =       ""
  5931.         RegValBackup    =       "ON"
  5932.         RegValLogsize   =       "4096"
  5933.         RegValLibrary    =    "Library"
  5934.         RegValPerfSync    =    "Synchronous"
  5935.         RegValOpen    =    "Open"
  5936.         RegValCollect    =    "Collect"
  5937.         RegValClose    =    "Close"
  5938.         RegValFirstCntr =    "FirstCounter"
  5939.         RegValFirstHelp    =    "FirstHelp"
  5940.         RegValLastCntr    =    "Last Counter"
  5941.         RegValLastHelp    =    "Last Help"
  5942.         RegValLoginTO   =    "LoginTimeOut"
  5943.         RegValQueryTO    =    "QueryTimeOut"
  5944.         RegValCounters    =    "Counters"
  5945.         RegValHelp    =    "Help"
  5946.         RegValSystemRoot=    "SystemRoot"
  5947.         RegValANSIToOEM =    "AutoAnsiToOem"
  5948.         RegValTCPTries  =     "TcpKeepTries"
  5949.     RegValTCPCnt    =    "TcpKeepCnt"
  5950.         RegValUseIntl    =    "UseIntlSettings"
  5951.         DefPerfLangID    =    "009"
  5952.         SystemMemory    =     "" ? $(!LIBHANDLE) GetMemorySize
  5953.         MinSystemMemory =     12000
  5954.         MinOSVersion    =    "3.10.495.0"
  5955.         StandAloneRelease=    "20971545"
  5956.         SQLReleaseNumber=    "4227071"
  5957.  
  5958. ;*************************************************************************
  5959. ;*************************************************************************
  5960. ;* INTERNATIONALIZABLE CODE
  5961. ;* This file should be appended to setup.src to make setup.inf
  5962. ;*************************************************************************
  5963. ;*************************************************************************
  5964.         UpgMemNT42    = "750"
  5965.         UpgMem42    = "750"
  5966.     UpgMem11    = "3500"
  5967.     InstScriptsList = {$(!InstMstr),$(!InstNT),$(!InstModl),$(!InstCat),$(!InstConfig)}
  5968.     UpgScriptsNT42    = {$(!DropAll),$(!UnAdmin),$(!UnObject),$(!InstMstr),$(!InstNT),$(!InstCat)}
  5969.     UpgScripts42    = {$(!DropAll),$(!UnAdmin),$(!UnObject),$(!InstMstr),$(!InstNT),$(!InstCat)}
  5970.     UpgScripts11    = {$(!DropAll),$(!UnAdmin),$(!UnObject),$(!InstMstr),$(!InstNT),$(!InstModl),$(!InstCat)}
  5971.     ANSItoOEMDef    = "OFF"
  5972.     Setup_Title    = "SQL Server Setup for Windows NT"
  5973.         SQLProgmanGrpName="SQL Server for Windows NT"
  5974.     SQLUtilsGrpName = "SQL Server Utilities for Windows NT"
  5975.     SQLPubs        = "select name from master.dbo.sysdatabases where name like 'pubs'"
  5976.         Pubs        = "pubs"
  5977.     PleaseWait    = "You may continue with another task..."
  5978.  
  5979.         MasterDBSize    = " + master size"
  5980.         CharSetSelList  = {"850 Multilingual (Default)","cp850", +
  5981.                            "437 US English",        "cp437", +
  5982.                            "ISO Character Set",        "cpISO"}
  5983.         CharSetUserSelList = {"850 Multilingual (Default)","cp850", +
  5984.                               "437 US English","cp437", +
  5985.                               "ISO Character Set", "cpISO", +
  5986.                               "Custom",$(!UserDefined)}
  5987.         TCPIPName    = "TCP/IP Sockets"
  5988.  
  5989.         ValidNetLibs    = {$(!NetLibPipes),$(!NetLibSPX),$(!NetLibTCPIP),$(!NetLibVines),$(!UserDefined),$(!UserProvided)}
  5990.         DefNetworkSelList= {"NWLink IPX/SPX",$(!NetLibSPX),"0",$(!TCPIPName),$(!NetLibTCPIP),"1",+
  5991.                             "Banyan VINES",$(!NetLibVines),"2"}
  5992.  
  5993.         SecStrNotUsed    = "(not used)"
  5994.         SecStrDomSep    = "(domain separator '\')"
  5995.         SecStrSpace    = "(space)"
  5996.         DefSecurityTokens= {$(!SecStrNotUsed),$(!SecStrDomSep),$(!SecStrSpace),"-",".","'",+
  5997.                         "!","@","%","^","&"}
  5998.  
  5999.         UpgErrorMastSpace="There is insufficient space in the master database"$(!LF)
  6000.         UpgErrorROs    = "Read Only databases are present"$(!LF)
  6001.     UpgErrorSuspect = "There are suspect databases"$(!LF)
  6002.     UpgErrorNumDBs    = "There are too many databases"$(!LF)
  6003.  
  6004.         DefUserProvNet    =  {"User provided",$(!UserDefined),"3"}
  6005.         NetworkDefList    = {"Named Pipes",$(NetLibPipes),"0"}
  6006.         Sort850SelList    = {"Binary order","cp850bin.850","40", +
  6007.                    "Dictionary order, case-sensitive","diction.850","41",  +
  6008.                            "Dictionary order, case-insensitive","nocase.850","42",+
  6009.                            "Dictionary order, case-insensitive, uppercase preference","nocasepr.850","43", +
  6010.                            "Dictionary order, case-insensitive, accent-insensitive.","noaccent.850","44", +
  6011.                            "Strict compatibility with Version 1.x case-insensitive databases","nocase34.850","49", +
  6012.                            "Alternate dictionary order, case-sensitive","altdict.850","55",+
  6013.                            "Alternate dictionary order, case-insensitive","altnocs.850","61",+
  6014.                            "Alternate dictionary order, case-insensitive, uppercase preference","altnocsp.850","56",+
  6015.                            "Alternate dictionary order, case-insensitive, accent-insensitive","altnoacc.850","57",+
  6016.                            "Scandinavian dictionary order, case-sensitive","scandict.850","59",+
  6017.                            "Scandinavian dictionary order, case-insensitive, uppercase preference","scannocp.850","58",+
  6018.                            "Custom",$(!UserDefined),""}
  6019.         Sort437SelList= {"Binary order","cp437bin.437","30", +
  6020.                    "Dictionary order, case-sensitive","diction.437","31", +
  6021.                            "Dictionary order, case-insensitive","nocase.437","32", +
  6022.                            "Dictionary order, case-insensitive, uppercase preference","nocasepr.437","33", +
  6023.                            "Dictionary order, case-insensitive, accent-insensitive.","noaccent.437","34",+
  6024.                            "Custom",$(!UserDefined),""}
  6025.         SortISOSelList= {"Binary order","iso_1bin.iso","50", +
  6026.                    "Dictionary order, case-sensitive","diction.iso","51", +
  6027.                            "Dictionary order, case-insensitive","nocase.iso","52",+
  6028.                            "Dictionary order, case-insensitive, uppercase preference","nocasepr.iso","53", +
  6029.                            "Dictionary order, case-insensitive, accent-insensitive.","noaccent.iso","54",+
  6030.                            "Custom",$(!UserDefined),""}
  6031.  
  6032. [CreateSQLProgmanItems]
  6033.     set SQLGroup = $(!SQLProgmanGrpName)
  6034.         CreateProgManGroup $(SQLGroup),"","COMMON"
  6035.  
  6036.         RemoveProgmanItem $(SQLGroup),"SQL Setup","COMMON"
  6037.     RemoveProgmanItem $(SQLGroup),"SQL Service Manager","COMMON"
  6038.     RemoveProgmanItem $(SQLGroup),"ISQL/w","COMMON"
  6039.         RemoveProgmanItem $(SQLGroup),"SQL Tape Utility","COMMON"
  6040.         RemoveProgmanItem $(SQLGroup),"SQL Client Configuration Utility","COMMON"
  6041.         RemoveProgmanItem $(SQLGroup),"SQL Security Manager","COMMON"
  6042.     RemoveProgmanItem $(SQLGroup),"SQL Transfer Manager","COMMON"
  6043.         RemoveProgmanItem $(SQLGroup),"SQL Administrator Win32","COMMON"
  6044.         RemoveProgmanItem $(SQLGroup),"SQL Object Manager Win32","COMMON"
  6045.         RemoveProgmanItem $(SQLGroup),"SQL Performance","COMMON"
  6046.         RemoveProgmanItem $(SQLGroup),"SQL Help","COMMON"
  6047.         RemoveProgmanItem $(SQLGroup),"Release Notes","COMMON"
  6048.  
  6049.         CreateProgmanItem  $(SQLGroup),"SQL Setup",$(!SQLPath)"\"$(!Binaries)"\"$(!SetupEXE),$(!SQLPath)"\"$(!Binaries)"\"$(!SetupEXE),0,"COMMON"
  6050.        CreateProgmanItem  $(SQLGroup),"SQL Service Manager",$(!SQLPath)"\"$(!Binaries)"\"$(!StopLite),$(!SQLPath)"\"$(!Binaries)"\"$(!StopLite),0,"COMMON"
  6051.         CreateProgmanItem  $(SQLGroup),"SQL Tape Utility",$(!SQLPath)"\"$(!Binaries)"\"$(!SQLTapeUtil),$(!SQLPath)"\"$(!Binaries)"\"$(!SQLTapeUtil),0,"COMMON"
  6052.         CreateProgmanItem  $(SQLGroup),"ISQL/w",$(!SQLPath)"\"$(!Binaries)"\"$(!ISQLWEXE),$(!SQLPath)"\"$(!Binaries)"\"$(!ISQLWEXE),0,"COMMON"
  6053.         CreateProgmanItem  $(SQLGroup),"SQL Security Manager",$(!SQLPath)"\"$(!Binaries)"\"$(!SQLSecManEXE),$(!SQLPath)"\"$(!Binaries)"\"$(!SQLSecManEXE),0,"COMMON"
  6054.         CreateProgmanItem  $(SQLGroup),"SQL Client Configuration Utility",$(!SQLPath)"\"$(!Binaries)"\"$(!NTWDBVer),$(!SQLPath)"\"$(!Binaries)"\"$(!NTWDBVer),0,"COMMON"
  6055.     CreateProgmanItem  $(SQLGroup),"SQL Transfer Manager",$(!SQLPath)"\"$(!Binaries)"\"$(!SQLTransferEXE),$(!SQLPath)"\"$(!Binaries)"\"$(!SQLTransferEXE),0,"COMMON"
  6056.         CreateProgmanItem  $(SQLGroup),"SQL Administrator Win32",$(!SQLPath)"\"$(!Binaries)"\"$(!SQLAdminEXE),$(!SQLPath)"\"$(!Binaries)"\"$(!SQLAdminEXE),0,"COMMON"
  6057.         CreateProgmanItem  $(SQLGroup),"SQL Object Manager Win32",$(!SQLPath)"\"$(!Binaries)"\"$(!SQLObjectEXE),$(!SQLPath)"\"$(!Binaries)"\"$(!SQLObjectEXE),0,"COMMON"
  6058.         CreateProgmanItem  $(SQLGroup),"SQL Performance",$(!PerfMonEXE)" "$(!SQLPath)"\"$(!Binaries)"\"$(!SQLCtrsPMC),$(!PerfMonEXE),0,"COMMON"
  6059.         CreateProgmanItem  $(SQLGroup),"SQL Help",$(!STF_WINDOWSSYSPATH)"\"$(!WinHelpEXE)" "$(!SQLPath)"\"$(!Binaries)"\"$(!HelpSQLHLP),$(!STF_WINDOWSSYSPATH)"\"$(!WinHelpEXE),0,"COMMON"
  6060.     CreateProgmanItem  $(SQLGroup),"Release Notes","WINHELP.EXE "$(!SQLPath)"\"$(!InstallDir)"\README.HLP","PROGMAN.EXE",29,"COMMON"
  6061.         exit
  6062.  
  6063. [NukeSQLProgmanItems]
  6064.     set SQLGroup = $(!SQLProgmanGrpName)
  6065.         RemoveProgmanItem $(SQLGroup),"SQL Setup","COMMON"
  6066.     RemoveProgmanItem $(SQLGroup),"SQL Service Manager","COMMON"
  6067.     RemoveProgmanItem $(SQLGroup),"ISQL/w","COMMON"
  6068.         RemoveProgmanItem $(SQLGroup),"SQL Tape Utility","COMMON"
  6069.         RemoveProgmanItem $(SQLGroup),"SQL Security Manager","COMMON"
  6070.         RemoveProgmanItem $(SQLGroup),"SQL Client Configuration Utility","COMMON"
  6071.     RemoveProgmanItem $(SQLGroup),"SQL Transfer Manager","COMMON"
  6072.         RemoveProgmanItem $(SQLGroup),"SQL Administrator Win32","COMMON"
  6073.         RemoveProgmanItem $(SQLGroup),"SQL Object Manager Win32","COMMON"
  6074.         RemoveProgmanItem $(SQLGroup),"SQL Performance","COMMON"
  6075.         RemoveProgmanItem $(SQLGroup),"SQL Help","COMMON"
  6076.         RemoveProgmanItem $(SQLGroup),"Release Notes","COMMON"
  6077.         RemoveProgManGroup $(SQLGroup),"COMMON"
  6078.         exit
  6079.  
  6080. [CreateUtilProgmanItems]
  6081.         ifstr(i) $(!UserType) == "Admin"
  6082.           set SQLGroup = $(!SQLProgmanGrpName)
  6083.           set ProgmanType = "COMMON"
  6084.         else
  6085.        set SQLGroup = $(!SQLUtilsGrpName)
  6086.        set ProgmanType = "VITAL"
  6087.      endif
  6088.     CreateProgManGroup $(SQLGroup),"",$(ProgmanType)
  6089.     RemoveProgmanItem $(SQLGroup),"SQL Help",$(ProgmanType)
  6090.     CreateProgmanItem  $(SQLGroup),"SQL Help",$(!STF_WINDOWSSYSPATH)"\"$(!WinHelpEXE)" "$(!SQLPath)"\"$(!Binaries)"\"$(!HelpSQLHLP),$(!STF_WINDOWSSYSPATH)"\"$(!WinHelpEXE),0,$(ProgmanType)
  6091.     ifcontains(i) $(!ReadPipe) in $(!UtilFiles)
  6092.           CreateProgManGroup $(SQLGroup),"",$(ProgmanType)
  6093.           RemoveProgmanItem $(SQLGroup),"SQL Client Configuration Utility",$(ProgmanType)
  6094.          CreateProgmanItem  $(SQLGroup),"SQL Client Configuration Utility",$(!SQLPath)"\"$(!Binaries)"\"$(!NTWDBVer),$(!SQLPath)"\"$(!Binaries)"\"$(!NTWDBVer),0,$(ProgmanType)
  6095.     endif
  6096.     ifcontains(i) $(!ISQL) in $(!UtilFiles)
  6097.           CreateProgManGroup $(SQLGroup),"",$(ProgmanType)
  6098.           RemoveProgmanItem $(SQLGroup),"ISQL/w",$(ProgmanType)
  6099.          CreateProgmanItem  $(SQLGroup),"ISQL/w",$(!SQLPath)"\"$(!Binaries)"\"$(!ISQLWEXE),$(!SQLPath)"\"$(!Binaries)"\"$(!ISQLWEXE),0,$(ProgmanType)
  6100.     endif
  6101.     ifcontains(i) $(!SQLSecManEXE) in $(!UtilFiles)
  6102.           CreateProgManGroup $(SQLGroup),"",$(ProgmanType)
  6103.           RemoveProgmanItem $(SQLGroup),"SQL Security Manager",$(ProgmanType)
  6104.          CreateProgmanItem  $(SQLGroup),"SQL Security Manager",$(!SQLPath)"\"$(!Binaries)"\"$(!SQLSecManEXE),$(!SQLPath)"\"$(!Binaries)"\"$(!SQLSecManEXE),0,$(ProgmanType)
  6105.     endif
  6106.     ifcontains(i) $(!SQLAdminEXE) in $(!UtilFiles)
  6107.           CreateProgManGroup $(SQLGroup),"",$(ProgmanType)
  6108.           RemoveProgmanItem $(SQLGroup),"SQL Administrator Win32",$(ProgmanType)
  6109.           CreateProgmanItem  $(SQLGroup),"SQL Administrator Win32",$(!SQLPath)"\"$(!Binaries)"\"$(!SQLAdminEXE),$(!SQLPath)"\"$(!Binaries)"\"$(!SQLAdminEXE),0,$(ProgmanType)
  6110.     endif
  6111.     ifcontains(i) $(!SQLObjectEXE) in $(!UtilFiles)
  6112.           CreateProgManGroup $(SQLGroup),"",$(ProgmanType)
  6113.           RemoveProgmanItem $(SQLGroup),"SQL Object Manager Win32",$(ProgmanType)
  6114.           CreateProgmanItem  $(SQLGroup),"SQL Object Manager Win32",$(!SQLPath)"\"$(!Binaries)"\"$(!SQLObjectEXE),$(!SQLPath)"\"$(!Binaries)"\"$(!SQLObjectEXE),0,$(ProgmanType)
  6115.     endif
  6116.     exit
  6117.  
  6118. [Source Media Descriptions]
  6119.         1  = "SQL Server Diskette #1"  , TAGFILE = SRVDISK1
  6120.         2  = "SQL Server Diskette #2"  , TAGFILE = SRVDISK2
  6121.         3  = "SQL Server Diskette #3"  , TAGFILE = SRVDISK3
  6122.     4  = "SQL Server Diskette #4"  , TAGFILE = SRVDISK4
  6123.     5  = "SQL Server Diskette #5"
  6124.  
  6125.  
  6126. [QueryFullNameOrgNameDlgENG]
  6127.         DlgTemplate     =     "DLG_QUERY_FULLNAME_ORGNAME"
  6128.         !SQLDlgNames    =    {"@Caption",$(!Setup_Title), +
  6129.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6130.                      "@DlgText","Please type your full name in the box below.  "+
  6131.                            "You may also specify the name of your company if "+
  6132.                            "SQL Server will be used for business purposes."$(!LF)$(!LF)+
  6133.                            "Then choose Continue or press ENTER."$(!LF)$(!LF)+
  6134.                            "The information you enter will be used by Setup "+
  6135.                            "for subsequent installations of SQL Server.",+
  6136.                      "@Edit1Label","&Name:",+
  6137.                      "@Edit2Label","&Company:",+
  6138.                      "@Continue","C&ontinue",+
  6139.                      "@Exit","E&xit",+
  6140.                      "@EDITIN1",$(!FullName),+
  6141.                      "@EDITIN2",$(!OrgName),+
  6142.                      "@EDITLEN1","100",+
  6143.                      "@EDITLEN2","100"}
  6144.  
  6145. [VerifyFullNameOrgNameDlgENG]
  6146.         DlgTemplate      =     "DLG_VERIFY_FULLNAME_ORGNAME"
  6147.         !SQLDlgNames    =    {"@Caption",$(!Setup_Title), +
  6148.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6149.                      "@DlgText","Please verify that the information you typed is correct."$(!LF)$(!LF)+
  6150.                             "If you want to change the name or the company, "+
  6151.                             "choose Change. Otherwise, choose Continue.",+
  6152.                      "@Static1Label","Name:",+
  6153.                      "@Static1Text",$(!FullName),+
  6154.                      "@Static2Label","Company:",+
  6155.                      "@Static2Text",$(!OrgName),+
  6156.                      "@Continue","C&ontinue",+
  6157.                      "@Cancel","Chan&ge",+
  6158.                      "@Exit","E&xit"}
  6159.  
  6160. [WelcomeDlgENG]
  6161.         DlgTemplate     =     "DLG_WELCOME"
  6162.         !SQLDlgNames    =    {"@Caption","Welcome", +
  6163.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6164.                                  "@HELPID","100",+
  6165.                      "@DlgText","Welcome to Setup. "$(!LF)$(!LF)+
  6166.                            "The Setup program for Microsoft SQL Server ("+
  6167.                            $(!ProductVersion)") installs SQL Server on your "+
  6168.                            "computer.  Each Setup dialog box contains basic instructions for "+
  6169.                            "completing an installation.  If you want additional "+
  6170.                            "information and instructions about a dialog box or an option, "+
  6171.                            "press the Help key, F1."$(!LF)$(!LF)+
  6172.                            "To learn how to use SQL Server Setup, press F1."$(!LF)$(!LF)+
  6173.                            "To install SQL Server on your computer now, choose Continue "+
  6174.                            "or press ENTER."$(!LF)$(!LF)+
  6175.                            "To exit Setup without installing SQL Server, press F3.",+
  6176.                            "@ABOUT","",+
  6177.                      "@Continue","C&ontinue",+
  6178.                      "@Help","&Help",+
  6179.                      "@Exit","E&xit"}
  6180.  
  6181. [AlreadyInstalledDlgENG]
  6182.         DlgTemplate     =     "DLG_INSTALLED"
  6183.         !SQLDlgNames    =    {"@DlgText1","The Setup program has detected that SQL "+
  6184.                                  "Server has already been installed by:",+
  6185.                      "@RegInfo",$(!Registration),+
  6186.                      "@DlgText2","It is acceptable for the legal owner to"+
  6187.                                          " reinstall this product in order to update"+
  6188.                                              " an existing copy or to replace a corrupted"+
  6189.                                              " or missing version of the program.",+
  6190.                      "@DlgText3","You can continue to install the product, "+
  6191.                                              "but you should be aware that this product "+
  6192.                                              "is protected by copyright law and "+
  6193.                                              "international treaties.",+
  6194.                      "@DlgText4","Unauthorized reproduction or distribution of"+
  6195.                                              " this program or any portion of it may"+
  6196.                                              " result in severe civil and criminal penalties"+
  6197.                                              " and will be prosecuted to the maximum extent under the law.",+
  6198.                                  "@Continue","C&ontinue",+
  6199.                                  "@Cancel","E&xit"}
  6200.  
  6201. [SetupDoneDlgENG]
  6202.         DlgTemplate     =     "DLG_RESTART"
  6203.         !SQLDlgNames    =    {"@Caption",$(!Setup_Title),+
  6204.                      "@DlgText",$(!MsgText)$(!LF)$(!LF)$(!AddlText),+
  6205.                      "@WindowsText","Exit to Windows NT",+
  6206.                      "@Windows","E&xit to Windows NT"}
  6207.  
  6208. [PopupInfo]
  6209.         DlgType         =     "Info"
  6210.         DlgTemplate     =     "REBOOT"
  6211.         Caption         =     $(!Setup_Title)
  6212.         DlgText        =     $(tmpvar)
  6213.  
  6214. [InstallTypeChoicesDlgENG]
  6215.       DlgTemplate     =     "DLG_INSTALLTYPE"
  6216.       !SQLDlgNames    =    {"@Caption",$(!Setup_Title)" - Options",+
  6217.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6218.                                  "@HELPID","103",+
  6219.                    "@DEFRADIO",$(!DefRadio), +
  6220.                    "@DlgText1","Choose one of the following installation options:", +
  6221.                    "@DlgText2","When you are ready to proceed with the installation, "+
  6222.                                          "choose Continue. To cancel the installation, choose Exit.",+
  6223.                    "@RadioText1","&Install SQL Server and Utilities",+
  6224.                    "@RadioText2","&Upgrade SQL Server", +
  6225.                    "@RadioText3","Install U&tilities Only",+
  6226.                    "@RadioText4","Change &Network Support",+
  6227.                    "@RadioText5","Add &Language",+
  6228.                    "@RadioText6","Rebuild &Master Database",+
  6229.                    "@RadioText7","Set Server O&ptions",+
  6230.                    "@RadioText8","Set &Security Options",+
  6231.                    "@RadioText9","&Remove SQL Server", +
  6232.                                  "@Remote","R&emote",+
  6233.                    "@Continue","C&ontinue",+
  6234.                    "@Help","&Help",+
  6235.                    "@Exit","E&xit"}
  6236.  
  6237. [NewInstallOptionsDlgENG]
  6238.         DlgTemplate    =    "DLG_NEWINSTALL"
  6239.     !SQLDlgNames    =    {"@Caption",$(!Setup_Title)" Installation Options", +
  6240.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6241.                                  "@HELPID","104",+
  6242.                  "@DlgText1","Select or clear an option by clicking a check box.", +
  6243.                  "@DlgText2","Select individual characteristics for an option by choosing the appropriate button.", +
  6244.                  "@DlgCharSet","Character Set ...............................................................", +
  6245.                  "@DlgSortOrder","Sort Order ....................................................................", +
  6246.                  "@DlgSetText","Se&ts...", +
  6247.                  "@DlgOrdersText","O&rders...", +
  6248.                  "@DlgNetText","&Networks...", +
  6249.                  "@DlgScriptText","Scri&pts...", +
  6250.                  "@DlgSetupText","C&ontinue", +
  6251.                  "@DlgBackText","&Back", +
  6252.                  "@DlgExitText","E&xit", +
  6253.                  "@DlgHelpText","&Help",+
  6254.                      "@DlgAddlNets","Additional Network Support ...........................................", +
  6255.                  "@DlgOptScripts","Transact-SQL Scripts ....................................................", +
  6256.                  "@AutoStart","&Auto Start SQL Server at boot time",+
  6257.                  "@AutoStartMonitor","Auto Start SQL &Monitor at boot time",+
  6258.                  "@Realtime","Start SQL Server in Realtime priorit&y"}
  6259.  
  6260. [CharSetsDlgENG]
  6261.         DlgTemplate    =    "DLG_SINGLELIST"
  6262.     !SQLDlgNames    =    {"@Caption",$(!Setup_Title), +
  6263.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6264.                                  "@HELPID","105",+
  6265.                              "@OK","&OK","@Cancel","&Cancel","@Help","&Help",+
  6266.                              "@DEFLISTITEM",$(DefListItem),+
  6267.                              "@DlgText1","Select Character &Sets:"}
  6268. [SortOrderDlgENG]
  6269.         DlgTemplate    =    "DLG_SINGLELIST"
  6270.     !SQLDlgNames    =    {"@Caption",$(!Setup_Title), +
  6271.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6272.                                  "@HELPID","106",+
  6273.                              "@DEFLISTITEM",$(DefListItem),+
  6274.                              "@OK","&OK","@Cancel","&Cancel","@Help","&Help",+
  6275.                              "@DlgText1","Sort O&rders:"}
  6276.  
  6277. [NetworkDlgENG]
  6278.         DlgTemplate    =    "DLG_SINGLEMULTLIST"
  6279.     !SQLDlgNames    =    {"@Caption",$(!Setup_Title), +
  6280.                  "@Checks","ON",+
  6281.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6282.                                  "@HELPID","107",+
  6283.                              "@OK","&OK","@Cancel","&Cancel","@Help","&Help",+
  6284.                              "@DlgText1","Install/Uninstall &Networks:",+
  6285.                              "@DlgText2","The network(s) you select/cancel will be in addition to Named Pipes."}
  6286.  
  6287. [NetworkDlgExENG]
  6288.         DlgTemplate    =    "DLG_SINGLEMULTLISTBACK"
  6289.     !SQLDlgNames    =    {"@Caption",$(!Setup_Title),+
  6290.                  "@Checks","ON",+
  6291.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6292.                                  "@HELPID","107",+
  6293.                              "@OK","&OK","@Cancel","E&xit","@Help","&Help","@Back","&Back",+
  6294.                              "@DlgText1","Install/Uninstall &Networks:",+
  6295.                              "@DlgText2","The network(s) you select/cancel will be in addition to Named Pipes."}
  6296.  
  6297. [ScriptsDlgENG]
  6298.     DlgTemplate    =    "DLG_THREECHECK"
  6299.     !SQLDlgNames    =    {"@Caption",$(!Setup_Title), +
  6300.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6301.                                  "@HELPID","109",+
  6302.                  "@DlgText1","Install Transact-SQL Scripts:",+
  6303.                  "@Check1","&Pubs Database", +
  6304.                  "@Check2","SQL &Tools",+
  6305.                  "@Check3","SQL He&lp",+
  6306.                  "@Continue","&OK",+
  6307.                    "@Help","&Help",+
  6308.                     "@Exit","&Cancel"}
  6309.  
  6310. [InstallCompletedENG]
  6311.         DlgTemplate     =     "DLG_REBREST"
  6312.         !SQLDlgNames    =    {"@Caption",$(!Setup_Title), +
  6313.                      "@DlgText",$(!RebootType)$(!LF)$(!LF)+
  6314.                                  "The system paths have been updated and will become effective "+
  6315.                  "when the system is rebooted. Be sure to remove any floppy disks from "+
  6316.                  "the computer before you reboot."$(!LF)$(!AddlText),+
  6317.                      "@WindowsText","Exit to Windows NT",+
  6318.                      "@Windows","E&xit to Windows NT",+
  6319.                      "@RebootText",$(!RebootText),+
  6320.                      "@Reboot","&Reboot"}
  6321.  
  6322. [InstallCompletedLocalENG]
  6323.     !RebootText    =    "Reboot"
  6324.  
  6325. [InstallCompletedRemoteENG]
  6326.     !RebootText    =    "Remote Reboot"
  6327.  
  6328. [UpgradeWarning1ENG]
  6329.         !DlgTemplate    =    "DLG_THREEBUTS"
  6330.     !SQLDlgNames    =    {"@Caption","Upgrade SQL Server",+
  6331.                                  "@DlgText1","It is advisable that you back up all your databases (including the master database) before upgrading your installation of Microsoft SQL Server.", +
  6332.                                  "@DlgText2","If you want to terminate the upgrade, choose Exit.",+
  6333.                                  "@DlgText3","To proceed with the upgrade, choose Resume.",+
  6334.                                  "@Continue","&Resume",+
  6335.                                  "@Back","&Back",+
  6336.                                  "@Exit","E&xit"}
  6337.  
  6338. [UpgradeWarning2ENG]
  6339.         !DlgTemplate    =    "DLG_TWOBUTS"
  6340.     !SQLDlgNames    =    {"@Caption","Upgrade SQL Server",+
  6341.                                  "@DlgText1","Are you sure you want to continue with upgrading SQL Server?", +
  6342.                                  "@DlgText2","If you want to terminate the upgrade, choose Exit.",+
  6343.                                  "@DlgText3","To proceed with the upgrade, choose Resume.",+
  6344.                                  "@Continue","&Resume",+
  6345.                                  "@Exit","E&xit"}
  6346.  
  6347. [RebuildOptionsDlg]
  6348.         DlgTemplate    =    "DLG_REBUILD"
  6349.     !SQLDlgNames    =    {"@Caption",$(!Setup_Title)" Rebuild Options", +
  6350.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6351.                                  "@HELPID","130",+
  6352.                  "@DlgText1","Select the options you want to use for rebuilding the MASTER device by selecting "+
  6353.                              "the appropriate button.",+
  6354.                  "@DlgCharSet","Character Set ...............................................................", +
  6355.                  "@DlgSortOrder","Sort Order ....................................................................", +
  6356.                  "@DlgOptScripts","Transact-SQL Scripts ....................................................",+
  6357.                  "@DlgSetText","Se&ts...", +
  6358.                  "@DlgOrdersText","O&rders...", +
  6359.                  "@DlgScriptText","Scri&pts...", +
  6360.                  "@DlgSetupText","C&ontinue", +
  6361.                  "@DlgBackText","&Back", +
  6362.                  "@DlgExitText","E&xit", +
  6363.                  "@DlgHelpText","&Help"}
  6364.  
  6365. [RebuildDlgENG]
  6366.     DlgTemplate    =    "DLG_THREEBUTS"
  6367.     !SQLDlgNames    =    {"@Caption","Rebuild MASTER Database",+
  6368.                                  "@DlgText1","Rebuilding the master database will result in the "+
  6369.                                              "loss of previously created databases.", +
  6370.                                  "@DlgText2","If you want to terminate the rebuild, choose Exit.",+
  6371.                                  "@DlgText3","To proceed with the rebuild, choose Resume.",+
  6372.                                  "@Continue","&Resume",+
  6373.                                  "@Back","&Back",+
  6374.                                  "@Exit","E&xit"}
  6375.  
  6376. [NukeDlgENG]
  6377.     DlgTemplate    =    "DLG_NUKE"
  6378.     !SQLDlgNames    =    {"@Caption","Remove SQL Server",+
  6379.                                  "@DlgText1","Selecting this option will remove SQL Server from this computer. If you choose to "+
  6380.                                              "remove the SQL Server files from "$(!SQLPath)", all information will be lost and cannot be recovered.", +
  6381.                                  "@DlgText2","If you want to terminate the operation, choose Exit.",+
  6382.                                  "@DlgText3","To proceed with removing SQL Server, choose Resume.",+
  6383.                                  "@Check1","Re&move files from: "$(!SQLPath),+
  6384.                                  "@Continue","&Resume",+
  6385.                                  "@Back","&Back",+
  6386.                                  "@Exit","E&xit"}
  6387.  
  6388. [ServerParamsDlgENG]
  6389.     DlgTemplate    =    "DLG_SVR_PARAMS"
  6390.     !SQLDlgNames    =    {"@Caption","Server Parameters",+
  6391.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6392.                              "@HELPID","108",+
  6393.                                  "@DlgText1","&Parameter:",+
  6394.                                  "@DlgText2","&Existing Parameters:",+
  6395.                                  "@Continue","&OK",+
  6396.                                  "@Cancel","&Cancel",+
  6397.                                  "@Help","&Help",+
  6398.                                  "@Add","&Add",+
  6399.                                  "LISTBOX_NOTIFY","",+
  6400.                                  "@Remove","&Remove",+
  6401.                                  "@Exit","E&xit"}
  6402.  
  6403. [GetPathDlgENG]
  6404.     DlgTemplate    =    $(!Template)
  6405.     !SQLDlgNames    =    {"@Caption",$(!Setup_Title),+
  6406.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6407.                                  "@HELPID",$(!HelpID),+
  6408.                  "@DlgText1",$(!Text1),+
  6409.                  "@DlgText2",$(!Text2),+
  6410.                  "@Edit1Label",$(!EditLabel),+
  6411.                  "@Edit2Label",$(!Edit2Label),+
  6412.                  "@EDITIN1",$(!EditIn),+
  6413.                  "@EDITLEN1","256",+
  6414.                  "@Continue","C&ontinue",+
  6415.                    "@Help","&Help",+
  6416.                    "@Back","&Back",+
  6417.                    "@Exit",$(!Ex)}
  6418.  
  6419. [GetSpaceSQLPathDlgENG]
  6420.     DlgTemplate    =    "DLG_SPACESQLPATH"
  6421.     !DefInPath    =    $(!DefSQLPath)
  6422.     !SQLDlgNames    =    {"@Caption","SQL Server Installation Path",+
  6423.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6424.                                  "@HELPID","112",+
  6425.                  "@DlgText1","The Setup program will copy the SQL Server files into the "+
  6426.                           "following drive and directory:",+
  6427.                  "@DlgText2","To copy the SQL Server files to a different directory on the "+
  6428.                              "selected drive, use the BACKSPACE key to delete characters, and then "+
  6429.                              " type the directory where you want the Setup program to copy the SQL Server files.",+
  6430.                  "@DlgText3","To copy the SQL Server files to a different drive, in the Drive box, "+
  6431.                           "select a drive letter from the list of available drives.",+
  6432.                  "@DlgText4","Dri&ve:",+
  6433.                  "@DlgText5","&Directory:",+
  6434.                  "@DlgSpaceReq","Required Space:",+
  6435.                  "@DlgSpaceAvail","Available Space:",+
  6436.                  "@EDITIN1","",+
  6437.                  "@EDITLEN1","256",+
  6438.                  "@Continue","C&ontinue",+
  6439.                    "@Help","&Help",+
  6440.                    "@Back","&Back",+
  6441.                    "@Exit","E&xit"}
  6442.  
  6443. [GetSQLPathDlg]
  6444.     DlgTemplate    =    "DLG_NEWSQLPATH"
  6445.     !DefInPath    =    $(!DefSQLPath)
  6446.     !SQLDlgNames    =    {"@Caption","SQL Server Installation Path",+
  6447.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6448.                                  "@HELPID","101",+
  6449.                  "@DlgText1","Please specify where the Setup program can find the existing SQL Server "+
  6450.                           "installation.",+
  6451.                  "@DlgText2","To instruct Setup to use the SQL Server system files in a different directory on the "+
  6452.                              "selected drive, use the BACKSPACE key to delete characters, and then "+
  6453.                              "type the directory containing SQL Server system files you want Setup to use.",+
  6454.                  "@DlgText3","To instruct Setup to use the SQL Server system files on a different drive, in the "+
  6455.                           " Drive box, select a drive letter from the list of available drives.",+
  6456.                  "@DlgText4","Dri&ve:",+
  6457.                  "@DlgText5","&Directory:",+
  6458.                  "@EDITIN1","",+
  6459.                  "@EDITLEN1","256",+
  6460.                  "@Continue","C&ontinue",+
  6461.                    "@Help","&Help",+
  6462.                    "@Back","&Back",+
  6463.                    "@Exit","E&xit"}
  6464.  
  6465. [GetSpaceMasterPathDlg]
  6466.     DlgTemplate    =    "DLG_SPACEMASTERPATH"
  6467.     !SQLDlgNames    =    {"@Caption","MASTER Device Creation",+
  6468.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6469.                                  "@HELPID","102",+
  6470.                  "@DlgText1","The Setup program will create the MASTER device using the following filename and drive:",+
  6471.                  "@DlgText2","To create the MASTER device in a different location, use the BACKSPACE "+
  6472.                              "key to delete characters, and then type the filename that you want the "+
  6473.                              "Setup program to give to the MASTER device.",+
  6474.                  "@DlgText3","To create the MASTER device on a different drive, in the Drive box, "+
  6475.                           "select a drive letter from the list of available drives.",+
  6476.                  "@DlgText4","The minimum MASTER device size is 15 MB, but it's a good idea to "+
  6477.                           "specify extra room for future use. To change the size, use the BACKSPACE "+
  6478.                           "key to delete characters, and then type a new size.",+
  6479.                  "@DlgText5","Dri&ve:",+
  6480.                  "@DlgText6","&Directory:",+
  6481.                  "@DlgText7","Master device Si&ze (MB):",+
  6482.                  "@DlgSpaceReq","Required Space:",+
  6483.                  "@DlgSpaceAvail","Available Space:",+
  6484.                  "@EDITIN1","",+
  6485.                  "@EDITLEN1","256",+
  6486.                  "@EDITIN2",$(!DefMasterSize),+
  6487.                  "@EDITLEN2","5",+
  6488.                  "@EDITRESTRICT2","NUMBERS",+
  6489.                  "@Continue","C&ontinue",+
  6490.                    "@Help","&Help",+
  6491.                    "@Back","&Back",+
  6492.                    "@Exit","E&xit"}
  6493.  
  6494. [GetMasterPathDlg]
  6495.     DlgTemplate    =    "DLG_MASTERPATH"
  6496.     !SQLDlgNames    =    {"@Caption","Rebuild MASTER Device",+
  6497.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6498.                                  "@HELPID","113",+
  6499.                  "@DlgText1","The Setup program will rebuild the MASTER device using the following filename and drive:",+
  6500.                  "@DlgText2","To create the MASTER device in a different location, use the BACKSPACE "+
  6501.                              "key to delete characters, and then type the filename that you want the "+
  6502.                              "Setup program to give to the MASTER device.",+
  6503.                  "@DlgText3","To create the MASTER device on a different drive, in the Drive box, "+
  6504.                           "select a drive letter from the list of available drives.",+
  6505.                  "@DlgText4","The minimum master device size is 15 MB, but it's a good idea to "+
  6506.                           "specify extra room for future use. To change the size, use the BACKSPACE "+
  6507.                           "key to delete characters, and then type a new size.",+
  6508.                  "@DlgText5","Dri&ve:",+
  6509.                  "@DlgText6","&Directory:",+
  6510.                  "@DlgText7","Master device Si&ze (MB):",+
  6511.                  "@EDITIN1","",+
  6512.                  "@EDITLEN1","256",+
  6513.                  "@EDITIN2",$(!DefMasterSize),+
  6514.                  "@EDITLEN2","5",+
  6515.                  "@EDITRESTRICT2","NUMBERS",+
  6516.                  "@Continue","C&ontinue",+
  6517.                    "@Help","&Help",+
  6518.                    "@Back","&Back",+
  6519.                    "@Exit","E&xit"}
  6520.  
  6521. [GetUpgradeSQLPathDlgENG]
  6522.     DlgTemplate    =    "DLG_NEWSQLPATH"
  6523.     !DefInPath    =    $(!DefSQLPath)
  6524.     !SQLDlgNames    =    {"@Caption","SQL Server Upgrade Path",+
  6525.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6526.                                  "@HELPID","117",+
  6527.                  "@DlgText1","The Setup program will copy the SQL Server files into the "+
  6528.                           "following drive and directory:",+
  6529.                  "@DlgText2","To copy the SQL Server files to a different directory on the "+
  6530.                              "selected drive, use the BACKSPACE key to delete characters, and then "+
  6531.                              " type the directory where you want the Setup program to copy the SQL Server files.",+
  6532.                  "@DlgText3","To copy the SQL Server files to a different drive, in the "+
  6533.                           " Drive box, select a drive letter from the list of available drives.",+
  6534.                  "@DlgText4","Dri&ve:",+
  6535.                  "@DlgText5","&Directory:",+
  6536.                  "@EDITIN1","",+
  6537.                  "@EDITLEN1","256",+
  6538.                  "@Continue","C&ontinue",+
  6539.                    "@Help","&Help",+
  6540.                    "@Back","&Back",+
  6541.                    "@Exit","E&xit"}
  6542.  
  6543. [GetUpgradeSQLMasterPathDlg]
  6544.     DlgTemplate    =    "DLG_NEWSQLPATH"
  6545.     !DefInPath    =    $(!DefMasterPath)
  6546.     !SQLDlgNames    =    {"@Caption","SQL Server Upgrade MASTER Device Path",+
  6547.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6548.                                  "@HELPID","127",+
  6549.                  "@DlgText1","The Setup program will upgrade the MASTER device file "+
  6550.                           "contained in the following drive and directory:",+
  6551.                  "@DlgText2","To upgrade the MASTER device within in a different directory on the "+
  6552.                              "selected drive, use the BACKSPACE key to delete characters, and then "+
  6553.                              " type the filename of the MASTER device that the Setup program will upgrade.",+
  6554.                  "@DlgText3","To upgrade the MASTER device on a different drive, in the "+
  6555.                           " Drive box, select a drive letter from the list of available drives.",+
  6556.                  "@DlgText4","Dri&ve:",+
  6557.                  "@DlgText5","&Directory:",+
  6558.                  "@EDITIN1","",+
  6559.                  "@EDITLEN1","256",+
  6560.                  "@Continue","C&ontinue",+
  6561.                    "@Help","&Help",+
  6562.                    "@Back","&Back",+
  6563.                    "@Exit","E&xit"}
  6564.  
  6565.  
  6566. [GetSpaceUtilOptsDlg]
  6567.     DlgTemplate    =    "DLG_CLIENT_UTILS"
  6568.     !DefInPath    =    $(!DefSQLPath)
  6569.     !SQLDlgNames    =    {"@Caption","Install Client Utilities",+
  6570.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6571.                                  "@HELPID","110",+
  6572.                  "@DlgText1","The Setup program will copy the SQL Server utility files into the "+
  6573.                           "following drive and directory:",+
  6574.                  "@DlgText2","To copy the SQL Server utility files to a different directory on the "+
  6575.                              "selected drive, use the BACKSPACE key to delete characters, and then "+
  6576.                              " type the directory where you want the Setup program to copy the SQL Server utility files.",+
  6577.                  "@DlgText3","To copy the SQL Server utility files to a different drive, in the "+
  6578.                           " Drive box, select a drive letter from the list of available drives.",+
  6579.                  "@DlgText4","Dri&ve:",+
  6580.                  "@DlgText5","&Directory:",+
  6581.                  "@DlgText6","Utilities to be installed:",+
  6582.                  "@Chk1","BCP",+
  6583.                  "@Chk2","ISQL",+
  6584.                  "@Chk3","SQL Administrator",+
  6585.                  "@Chk4","SQL Object Manager",+
  6586.                  "@Chk5","SQL Security Manager",+
  6587.                  "@Chk6","Configuration Diagnostics",+
  6588.                  "@DlgSpaceReq","Required Space:",+
  6589.                  "@DlgSpaceAvail","Available Space:",+
  6590.                  "@EDITIN1","",+
  6591.                  "@EDITLEN1","256",+
  6592.                  "@Continue","C&ontinue",+
  6593.                    "@Help","&Help",+
  6594.                    "@Back","&Back",+
  6595.                    "@Exit","E&xit"}
  6596.  
  6597. [GetNetLibPathDlgENG]
  6598.     !Template    =    "DLG_SQLPATHBACK"
  6599.     !NoNameText    =     DBNoPathENG
  6600.     !PermitNullName =    "NO"
  6601.     !CreatePathPrompt=    "NO"
  6602.     !AutoPopoff    =    "NO"
  6603.     !ExtraEdit    =    ""
  6604.     !Text1        =    "The Setup program will copy the following user-defined Net-Library "+
  6605.                 "to the hard disk."
  6606.     !Text2         =    "To copy the Net-Library file from a different "+
  6607.                 "location, use the BACKSPACE key to delete "+
  6608.                 "characters, and then type the drive, path and filename "+
  6609.                 "from which you want the Setup program to copy the Net-Library file."
  6610.         !EditIn        =    $(!DefNETPath)
  6611.         !EditLabel    =    "&Path:"
  6612.     !HelpID        =    "114"
  6613.         !Ex        =    "E&xit"
  6614.  
  6615. [GetSortFileDlgENG]
  6616.     !Template    =    "DLG_SQLLONGEDITEXTRA"
  6617.     !NoNameText    =     DBNoPathENG
  6618.     !PermitNullName =    "NO"
  6619.     !CreatePathPrompt=    "NO"
  6620.     !AutoPopoff    =    "NO"
  6621.     !ExtraEdit    =    "EDIT2"
  6622.     !ExtraEditFail    =    "Please supply the sort order ID."
  6623.     !Text1        =    "The Setup program will copy the following character set "+
  6624.                 "file to the hard disk:"
  6625.     !Text2         =    "To copy the character set file from a different "+
  6626.                 "location, use the BACKSPACE key to delete "+
  6627.                 "characters, and then type the drive, path and filename "+
  6628.                 "from which you want the Setup program to copy the character set file."
  6629.         !EditIn        =    $(!DefNETPath)
  6630.     !HelpID        =    "115"
  6631.         !EditLabel    =    "Sort &Filename:"
  6632.         !Edit2Label    =    "Sort &Order Number:"
  6633.         !Ex        =    "E&xit"
  6634.  
  6635. [GetLangFileDlgENG]
  6636.     !Template    =    "DLG_SQLLONGEDIT"
  6637.     !PermitNullName =    "NO"
  6638.     !CreatePathPrompt=    "NO"
  6639.     !AutoPopoff    =    "YES"
  6640.     !Text1        =    "The Setup program will copy the following language file "+
  6641.                 "to the hard disk:"
  6642.     !Text2         =    "To copy the language file from a different "+
  6643.                 "location, use the BACKSPACE key to delete "+
  6644.                 "characters, and then type the drive, path and filename "+
  6645.                 "from which you want the Setup program to copy the language files."
  6646.         !EditIn        =    $(!DefNETPath)
  6647.     !HelpID        =    "116"
  6648.         !EditLabel    =    "&Path:"
  6649.         !Ex        =    "E&xit"
  6650.  
  6651. [GetSAPasswordDlgENG]
  6652.     DlgTemplate    =    "DLG_SQLPASSWORDEDIT"
  6653.     !PermitNullName =    "YES"
  6654.     !CreatePathPrompt=    "NO"
  6655.     !AutoPopoff    =    "YES"
  6656.     !Text1        =    "Please enter and confirm the SA password that the upgrade "+
  6657.                 "will use to log in to the SQL Server."
  6658.     !Text2         =    "To enter a different SA password, "+
  6659.                 "use the BACKSPACE key to delete "+
  6660.                 "characters, and then type the password "+
  6661.                 "you want the Setup program to use when upgrading."
  6662.     !SQLDlgNames    =    {"@Caption",$(!Setup_Title),+
  6663.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6664.                  "@HELPID",118,+
  6665.                  "@DlgText1",$(!Text1),+
  6666.                  "@DlgText2",$(!Text2),+
  6667.                  "@Edit1Label","&SA Password:",+
  6668.                  "@Edit2Label","&Confirm Password:",+
  6669.                  "@EDITIN1","",+
  6670.                  "@EDITLEN1","256",+
  6671.                  "@EDITIN2","",+
  6672.                  "@EDITLEN2","256",+
  6673.                  "@Continue","C&ontinue",+
  6674.                    "@Help","&Help",+
  6675.                    "@Back","&Back",+
  6676.                  "@Exit","E&xit"}
  6677.  
  6678. [GetMailInfoDlgENG]
  6679.     DlgTemplate    =    "DLG_MAILINFOEDIT"
  6680.     !PermitNullName =    "YES"
  6681.     !CreatePathPrompt=    "NO"
  6682.     !AutoPopoff    =    "YES"
  6683.     !Text1        =    "In order to auto start the mail client, a valid mail login name "+
  6684.                 "and password must be entered. "
  6685.     !SQLDlgNames    =    {"@Caption",$(!Setup_Title),+
  6686.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6687.                  "@HELPID",132,+
  6688.                  "@DlgText1",$(!Text1),+
  6689.                  "@Edit1Label","&Mail Login Name:",+
  6690.                  "@Edit2Label","Mail &Password:",+
  6691.                  "@Edit3Label","&Confirm Password:",+
  6692.                  "@Chk1","Copy &SQLMail configuration from current user account",+
  6693.                  "@EDITIN1","",+
  6694.                  "@EDITLEN1","256",+
  6695.                  "@EDITIN2","",+
  6696.                  "@EDITLEN2","256",+
  6697.                  "@EDITIN2","",+
  6698.                  "@EDITLEN2","256",+
  6699.                  "@Continue","C&ontinue",+
  6700.                    "@Help","&Help",+
  6701.                    "@Back","&Back",+
  6702.                  "@Exit","E&xit"}
  6703.  
  6704. [GetStreetNameDlgENG]
  6705.     !Template    =    "DLG_SQLLONGEDIT"
  6706.     !NoNameText    =     NoStreetENG
  6707.     !PermitNullName =    "NO"
  6708.     !CreatePathPrompt=    "NO"
  6709.     !AutoPopoff    =    "YES"
  6710.     !Text1        =    "SQL Server will use the following StreetTalk PC-based service name:"
  6711.     !Text2         =    "To enter a different PC-based service name, "+
  6712.                 "use the BACKSPACE key to delete "+
  6713.                 "characters, and then type the PC-based service name "+
  6714.                 "you want SQL Server to use."
  6715.         !EditIn        =    $(!StreetName)
  6716.         !EditLabel    =    "&Service Name:"
  6717.     !HelpID        =    "119"
  6718.         !Ex        =    "E&xit"
  6719.  
  6720. [GetTCPIPSocketDlgENG]
  6721.     !Template    =    "DLG_SQLLONGEDIT"
  6722.     !PermitNullName =    "NO"
  6723.     !CreatePathPrompt=    "NO"
  6724.     !AutoPopoff    =    "YES"
  6725.     !NoNameText    =     NoTCPIPSocketENG
  6726.     !Text1        =    "SQL Server will listen on the following TCP/IP port number: "
  6727.     !Text2         =    "To enter a different TCP/IP port number, "+
  6728.                 "use the BACKSPACE key to delete "+
  6729.                 "characters, and then type the TCP/IP port number "+
  6730.                 "you want SQL Server to listen on."
  6731.         !EditLabel    =    "&Port Number:"
  6732.         !EditIn        =    $(!TCPIPSocketNumber)
  6733.     !HelpID        =    "121"
  6734.         !Ex        =    "E&xit"
  6735.  
  6736. [GetServiceNameDlgENG]
  6737.     !Template    =    "DLG_SQLLONGEDIT"
  6738.     !NoNameText    =     NoServiceENG
  6739.     !PermitNullName =    "NO"
  6740.     !CreatePathPrompt=    "NO"
  6741.     !AutoPopoff    =    "YES"
  6742.     !Text1        =    "SQL Server will use the following Novell Bindery service name:"
  6743.     !Text2         =    "To enter a different Novell Bindery Service name, "+
  6744.                 "use the BACKSPACE key to delete "+
  6745.                 "characters, and then type the Novell Bindery service name "+
  6746.                 "you want the SQL Server to use."
  6747.         !EditIn        =    $(!ServiceName)
  6748.         !EditLabel    =    "&Service Name:"
  6749.     !HelpID        =    "122"
  6750.         !Ex        =    "E&xit"
  6751.  
  6752. [GetNetAddressDlgENG]
  6753.     !Template    =    "DLG_SQLLONGEDIT"
  6754.     !NoNameText    =     NoNetENG
  6755.     !PermitNullName =    "NO"
  6756.     !CreatePathPrompt=    "NO"
  6757.     !AutoPopoff    =    "YES"
  6758.     !Text1        =    "The Setup program will enter the following network "+
  6759.                 "address associated with the "$(!UserDefinedName)" Net-Library in the Windows NT Registry:"
  6760.     !Text2         =    "To enter a different network address, "+
  6761.                 "use the BACKSPACE key to delete "+
  6762.                 "characters, and then type the network address "+
  6763.                 "you want the Setup program to enter in the Windows NT Registry."
  6764.         !EditIn        =    $(!NetAddress)
  6765.         !EditLabel    =    "&Network Address:"
  6766.     !HelpID        =    "123"
  6767.         !Ex        =    "E&xit"
  6768.  
  6769. [GetLangInfoDlgENG]
  6770.     DlgTemplate    =    "DLG_DUALEDIT"
  6771.     !SQLDlgNames    =    {"@Caption",$(!Setup_Title),+
  6772.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6773.                                  "@HELPID","124",+
  6774.                                  "@DlgText1","To install a language, specify the "+
  6775.                              "official language name and the SQL Server SA password. ",+
  6776.                                  "@DlgText2","To change the language name or the SA password, "+
  6777.                  "use the BACKSPACE key to delete characters, and "+
  6778.                  "then type the information you want the Setup program to use.",+
  6779.                  "@EditLabel1","Language &Name:",+
  6780.                  "@EDITLEN1","30",+
  6781.                  "@EditLabel2","SA &Password:",+
  6782.                  "@EDITLEN2","30",+
  6783.                  "@Chk1","&Default Language",+
  6784.                                  "@Continue","C&ontinue",+
  6785.                                  "@Exit","E&xit",+
  6786.                                  "@Back","&Back",+
  6787.                                  "@Help","&Help"}
  6788.  
  6789. [ServerOptsDlgENG]
  6790.     DlgTemplate    =    "DLG_SERVEROPTIONS"
  6791.     !SQLDlgNames    =    {"@Caption",$(!Setup_Title),+
  6792.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6793.                                  "@HELPID","125",+
  6794.                                  "@DlgText1","Startup",+
  6795.                                  "@DlgText2","&Root Directory:",+
  6796.                                  "@DlgText3","Master &Database Path:",+
  6797.                                  "@DlgText4","&Errorlog Path:",+
  6798.                                  "@Chk1","&Auto Start Server At Boot Time",+
  6799.                  "@Chk2","Auto Start &Monitor At Boot Time",+
  6800.                  "@Chk7","A&uto Start Mail Client",+
  6801.                                  "@Chk3","Boo&st SQL Server Priority",+
  6802.                  "@Chk6","Dedicated Multiprocessor Per&formance",+
  6803.                                  "@Chk4","&Windows NT Event Logging",+
  6804.                                  "@Chk5","S&QL PerfMon Integration",+
  6805.                                  "@Radio1","D&irect Response Mode",+
  6806.                                  "@Radio2","&On Demand Mode",+
  6807.                                  "@EDITLEN1","256",+
  6808.                                  "@EDITLEN2","256",+
  6809.                                  "@EDITLEN3","256",+
  6810.                                  "@Connect","Co&nnect",+
  6811.                                  "@Continue","&Change Options",+
  6812.                                  "@Exit","E&xit",+
  6813.                                  "@Params","&Parameters",+
  6814.                  "@TapeSup","&Tape Support",+
  6815.                  "@MailLog","Mail &Login", +
  6816.                                  "@Back","&Back",+
  6817.                                  "@Help","&Help"}
  6818.  
  6819. [RemoteDlgENG]
  6820.     DlgTemplate    =    "DLG_REMOTE"
  6821.     !SQLDlgNames    =    {"@Caption","Remote Setup",+
  6822.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6823.                                  "@HELPID","126",+
  6824.                                  "@DlgText1","Setup permits operations to be performed on remote computers. To perform a remote setup, you must specify a computer name "+
  6825.                                              "and select the logical drive letters that setup requires.",+
  6826.                                  "@DlgText2","The Windows NT and MASTER installation drives default initially to the SQL installation drive.",+
  6827.                                  "@Check1","&Remote Installation",+
  6828.                                  "@Radio1","&SQL Installation Drive",+
  6829.                                  "@Radio2","Windows N&T Installation Drive",+
  6830.                                  "@Radio3","&Master Database Installation Drive",+
  6831.                                  "@DlgText3","Remote Server &Name:",+
  6832.                                  "@DlgText4","Remote Logical &Drive:",+
  6833.                                  "@DEFBTNRADIO","2",+
  6834.                                  "@EDITIN1",$(!Remote),+
  6835.                                  "@EDITLEN1","30",+
  6836.                                  "@Continue","&OK",+
  6837.                                  "@Cancel",$(!ExitButton),+
  6838.                                  "@Help","&Help"}
  6839.  
  6840. [TapeTimeDlgENG]
  6841.     DlgTemplate    =    "DLG_TAPETIME"
  6842.     !SQLDlgNames    =    {"@Caption","Tape Support",+
  6843.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6844.                                  "@HELPID","128",+
  6845.                                  "@DlgText1","SQL Server can be configured to wait a specified amount of "+
  6846.                                           "time while trying to read a tape that has not been loaded in "+
  6847.                                           "the drive. Select the appropriate tape timeout mode.",+
  6848.                                  "@DlgText2","minutes",+
  6849.                                  "@Radio1","&Wait Indefinitely",+
  6850.                                  "@Radio2","T&ry Once and Quit",+
  6851.                                  "@Radio3","Try &for ",+
  6852.                                  "@DEFBTNRADIO",$(!DefRadio),+
  6853.                                  "@EDITIN1",$(!TapeTO),+
  6854.                                  "@EDITLEN1","5",+
  6855.                                  "@EDITRESTRICT1","NUMBERS",+
  6856.                                  "@Continue","&OK",+
  6857.                                  "@Cancel","&Cancel",+
  6858.                                  "@Help","&Help"}
  6859.  
  6860. [SecurityDlgENG]
  6861.     DlgTemplate    =    "DLG_SECURITY"
  6862.     !SQLDlgNames    =    {"@Caption","Set Security Options",+
  6863.                                  "@HELPFILE",$(!HelpSQLNTSetup),+
  6864.                                  "@HELPID","129",+
  6865.                                  "@DlgText1","Login Security Mode",+
  6866.                                  "@DlgText2","Default &Login:",+
  6867.                                  "@DlgText3","Default &Domain:",+
  6868.                                  "@DlgText4","Audit Level",+
  6869.                                  "@DlgText5","Mappings",+
  6870.                                  "@Radio1","&Standard",+
  6871.                                  "@Radio2","Windows NT &Integrated",+
  6872.                                  "@Radio3","&Mixed",+
  6873.                                  "@Check1","Su&ccessful Logins",+
  6874.                                  "@Check2","&Failed Logins",+
  6875.                                  "@Check3","Set Hostname to &User Name",+
  6876.                                  "@Map1","Map _:",+
  6877.                                  "@Map2","Map #:",+
  6878.                                  "@Map3","Map $:",+
  6879.                                  "@DEFBTNRADIO",$(!DefRadio),+
  6880.                                  "@CALLCOMBOLEN1","1",+
  6881.                                  "@CALLCOMBOLEN2","1",+
  6882.                                  "@CALLCOMBOLEN3","1",+
  6883.                                  "@Continue","&OK",+
  6884.                                  "@Back","&Back",+
  6885.                                  "@Cancel","E&xit",+
  6886.                                  "@Help","&Help"}
  6887.  
  6888.  
  6889. [RemoteExitENG]
  6890.     !ExitButton    =    "E&xit"
  6891.  
  6892. [RemoteCancelENG]
  6893.     !ExitButton    =    "&Cancel"
  6894.  
  6895.  
  6896. [YesNoDlgENG]
  6897.     DlgTemplate      =     "SetupMessage"
  6898.         DlgType          =     "MessageBox"
  6899.         STF_MB_TITLE     =     $(!Setup_Title)
  6900.         STF_MB_TEXT      =     $(!YesNoQ)
  6901.     STF_MB_TYPE      =     3
  6902.         STF_MB_ICON      =     4
  6903.         STF_MB_DEF       =     1
  6904.  
  6905. [InfoMessageENG]
  6906.     DlgTemplate      =     "SetupMessage"
  6907.         DlgType          =     "MessageBox"
  6908.         STF_MB_TITLE     =     $(!Setup_Title)
  6909.         STF_MB_TEXT      =     $(!AddlText)
  6910.     STF_MB_TYPE      =     1
  6911.         STF_MB_ICON      =     2
  6912.         STF_MB_DEF       =     1
  6913.  
  6914. [ExitWarningDlgENG]
  6915.         DlgType          =     "MessageBox"
  6916.         STF_MB_TITLE     =     "Exit SQL Server Setup"
  6917.         STF_MB_TEXT      =     "Are you sure you want to exit SQL Server Setup?"
  6918.         STF_MB_TYPE      =     3
  6919.         STF_MB_ICON      =     5
  6920.         STF_MB_DEF       =     2
  6921.  
  6922. [InstallingDlgENG]
  6923.     DlgTemplate    =    "DLG_BILLBOARD"
  6924.     DlgType        =    "Billboard"
  6925.     !SQLDlgNames    =    {"@BillyBoy","Setup is now running BLDMASTER to create the master database. "+
  6926.                 "This can take up to 10 minutes, depending on the database size you chose. "$(!LF)$(!LF)$(!PleaseWait)}
  6927.  
  6928. [MailManDlgENG]
  6929.     DlgTemplate    =    "DLG_MAILMAIN"
  6930.     DlgType        =    "Billboard"
  6931.     !SQLDlgNames    =    {"MAILPEOPLE","",+
  6932.                  "@Bill1","Now is a great time to fill out your registration card. "+
  6933.                                    "When you send it in, Microsoft will ...",+
  6934.                              "@Bill2","- Inform you of product updates.",+
  6935.                              "@Bill3","- Offer you customer support.",+
  6936.                              "@Bill4","- Provide you with information about related Microsoft products."}
  6937.  
  6938. [DLG_BillboardSearchRename]
  6939.         DlgTemplate    =    "DLG_BILLBOARD"
  6940.     DlgType        =    "Billboard"
  6941.     !SQLDlgNames    =    {"@BillyBoy","Setup is searching for existing SQL Server DLLs "+
  6942.                               "in your path, and will rename them if any DLLs are "+
  6943.                               "found."$(!LF)$(!LF)$(!PleaseWait)}
  6944.  
  6945. [InstLangingDlgENG]
  6946.     DlgTemplate    =    "DLG_BILLBOARD"
  6947.     DlgType        =    "Billboard"
  6948.     !SQLDlgNames    =    {"@BillyBoy","Setup is now installing your chosen language options."$(!LF)$(!LF)$(!PleaseWait)}
  6949.  
  6950. [ProgressCopyVars]
  6951.       ProCaption       =     "File copy in progress"
  6952.       ProCancel        =     "&Cancel"
  6953.       ProCancelMsg     =     "Setup cannot run correctly until this operation is"$(!LF)+
  6954.                          "complete.  Are you sure you want to cancel?"
  6955.       ProCancelCap     =     "SQL Server for Windows NT Setup Warning"
  6956.       ProText1         =     "Copying "
  6957.       ProText2         =     "         to "
  6958.  
  6959. [BillboardRunningNConnSQLENG]
  6960.     !BillName    =    "Setup is now starting SQL Server and verifying its state."$(!LF)$(!LF)$(!PleaseWait)
  6961.  
  6962. [BillboardCharsetENG]
  6963.      !BillName    =    "Setup is now installing your chosen character set and sort order."$(!LF)$(!LF)$(!PleaseWait)
  6964.  
  6965. [BillboardIndexingENG]
  6966.      !BillName    =    "SQL Server is now re-indexing its system tables."$(!LF)$(!LF)$(!PleaseWait)
  6967.  
  6968. [BillboardInstScriptsENG]
  6969.      !BillName    =    "Setup is now installing the initial SQL Server configuration."$(!LF)$(!LF)$(!PleaseWait)
  6970.  
  6971. [BillboardSCMENG]
  6972.     !BillName    =    "Setup is now updating the Service Control Manager."$(!LF)$(!LF)$(!PleaseWait)
  6973.  
  6974. [BillboardUpgradingENG]
  6975.     !BillName    =    "Setup is now upgrading SQL Server."$(!LF)$(!LF)$(!PleaseWait)
  6976.  
  6977. [STR_BillboardPrepUpgrade]
  6978.     !BillName    =    "Setup is now preparing to upgrade SQL Server."$(!LF)$(!LF)$(!PleaseWait)
  6979.  
  6980.  
  6981. [InsufficientPriv]
  6982.         !AddlText    =     "You have insufficient privileges to perform these operations."
  6983.  
  6984. [STR_InferiorOS]
  6985.     !AddlText    =    $(!Setup_Title)" requires a more recent release of the Windows NT operating system."
  6986.  
  6987. [STR_InvalidSystemAdmin]
  6988.     !AddlText     =    "Setup does not have access to the SQL Server Registry key. You must be logged in to Windows NT as a valid System Administrator of SQL Server in order to access this key. "+
  6989.                  $(!LF)$(!LF)"This permission defaults to the local Administrators group and can be changed using SQL Security Manager."
  6990.  
  6991. [InsufficientMemENG]
  6992.     !AddlText    =     "This computer has insufficient memory to run SQL Server for Windows NT. You cannot proceed with the installation."
  6993.  
  6994. [ErrorUpdatingRegistryENG]
  6995.     !AddlText    =     "An error occurred while updating the Windows NT Registry."
  6996.  
  6997. [FileCouldNotBeCopiedENG]
  6998.     !AddlText     =     "The files could not be copied."
  6999.  
  7000. [FileDoesntExistENG]
  7001.     !AddlText     =     "The file you specified does not exist."
  7002.  
  7003. [DBNoPathENG]
  7004.     !AddlText     =     "You must specify a path."
  7005.  
  7006. [NoSizeENG]
  7007.     !AddlText     =     "You must enter a database size."
  7008.  
  7009. [ServiceErrorENG]
  7010.     !AddlText     =     "An error occurred while accessing the Service Control Manager."
  7011.  
  7012. [DBSizeInvalidENG]
  7013.     !AddlText     =     "The value you entered for the database size is too small or is not a valid number."
  7014.  
  7015. [MasterMustExistENG]
  7016.     !AddlText     =     "The master database file must be present for an upgrade."
  7017.  
  7018. [STR_DuplicateMap]
  7019.     !AddlText     =     "All map values must be unique."
  7020.  
  7021. [DBNoNameNOrgENG]
  7022.     !AddlText     =     "You must enter a name and an organization."
  7023.  
  7024. [DBNoNameENG]
  7025.     !AddlText     =     "You must enter a name."
  7026.  
  7027. [DBNoDatENG]
  7028.     !AddlText     =     "You must specify a .DAT file."
  7029.  
  7030. [NoNetsENG]
  7031.     !AddlText     =     "You have not selected any networks."
  7032.  
  7033. [NoUtilsENG]
  7034.     !AddlText     =     "You have not selected any utilities."
  7035.  
  7036. [NoSQLServerENG]
  7037.     !AddlText     =     "The SQL Server could not be found. Please check the error/event log to ensure that the server is running."
  7038.  
  7039. [NoServerNameENG]
  7040.     !AddlText     =     "You must enter a SQL Server name."
  7041.  
  7042. [NoStreetENG]
  7043.     !AddlText     =     "You must enter a StreetTalk name."
  7044.  
  7045. [NoServiceENG]
  7046.     !AddlText     =     "You must enter a Novell Bindery service name."
  7047.  
  7048. [NoNetENG]
  7049.     !AddlText     =     "You must enter a network address."
  7050.  
  7051. [NoLangInfoENG]
  7052.     !AddlText     =     "You must enter the language information requested."
  7053.  
  7054. [CannotAllocUnusedDriveENG]
  7055.     !AddlText     =     "Setup cannot allocate a free logical drive."
  7056.  
  7057. [InsertDiskENG]
  7058.     !AddlText     =     "Insert the disk in drive "$(!TmpDrive)
  7059.  
  7060. [STR_InsufficientDiskSpace]
  7061.     !AddlText     =     "There is insufficient disk space on this drive."
  7062.  
  7063. [RegistryIntegrityENG]
  7064.     !AddlText     =     "The SQL Server Registry key integrity is suspect."
  7065.  
  7066. [ErrorReadRegistryENG]
  7067.     !AddlText     =     "An error occurred while reading the Windows NT Registry."
  7068.  
  7069. [STR_CompletionNetworks]
  7070.     !MsgText     =     "The SQL Server ("$(!ProductVersion)") Net-Libraries are now updated."$(!LF)$(!LF)+
  7071.                 "The changes will become effective the next time SQL Server is started."
  7072.  
  7073. [CompletionNewCharSortENG]
  7074.     !MsgText     =     "The SQL Server ("$(!ProductVersion)") character sets and sort orders are now updated."
  7075.  
  7076. [CompletionReBuildENG]
  7077.     !MsgText     =     "SQL Server ("$(!ProductVersion)") is now rebuilt."
  7078.  
  7079. [CompletionNukedENG]
  7080.     !MsgText     =     "SQL Server ("$(!ProductVersion)") has been removed from this computer."$(!LF)$(!LF)"The files used by SETUP.EXE must be removed manually."
  7081.  
  7082. [CompletionNukedRemoteENG]
  7083.     !MsgText     =     "SQL Server ("$(!ProductVersion)") has been removed from \\"$(!ComputerName)$(!LF)$(!LF)"."
  7084.  
  7085. [CompletionLangInstENG]
  7086.     !MsgText     =     "The new language has been successfully added."
  7087.  
  7088. [CompletionOptionsENG]
  7089.     !MsgText     =     "The SQL Server options have been successfully updated."
  7090.  
  7091. [STR_CompletionSecurity]
  7092.     !MsgText     =     "The SQL Server security options have been successfully updated."$(!LF)$(!LF)+
  7093.                 "The changes will become effective the next time SQL Server is started."
  7094.  
  7095. [FailedUserSetupQuitENG]
  7096.     !MsgText     =     "Setup has been terminated."$(!LF)$(!LF)
  7097.  
  7098. [FailedUserQuitENG]
  7099.     !AddlText     =     "Setup has been terminated."$(!LF)$(!LF)
  7100.  
  7101. [UserQuitMsgENG]
  7102.     !AddlText     =     "Setup has been terminated."$(!LF)$(!LF)
  7103.  
  7104. [CannotUpgradeENG]
  7105.     !MsgText     =     "SQL Server ("$(!ProductVersion)") cannot be upgraded because: "$(!LF)$(!LF)
  7106.  
  7107. [SQLExecErrorENG]
  7108.     !AddlText     =     "An error occurred while executing a SQL statement:"
  7109.  
  7110. [UpgradeErrorENG]
  7111.     !MsgText     =     "The SQL Server upgrade could not be successfully completed."$(!LF)$(!LF)
  7112.  
  7113. [UpgradeExecErrorENG]
  7114.     !AddlText     =     "UPGRADE.EXE could not be successfully executed. Please check UPGRADE.OUT."
  7115.  
  7116. [InstallErrorENG]
  7117.     !MsgText     =     "The SQL Server installation could not be successfully completed."$(!LF)$(!LF)
  7118.  
  7119. [NukeErrorENG]
  7120.     !MsgText     =     "SQL Server could not be successfully removed."$(!LF)$(!LF)
  7121.  
  7122. [SetSecErrorENG]
  7123.     !MsgText     =     "The SQL Server security options could not be successfully set."$(!LF)$(!LF)
  7124.  
  7125. [SCMErrorENG]
  7126.     !AddlText     =     "A Service Control Manager error occurred."
  7127.  
  7128. [SetupInitENG]
  7129.     !MsgText     =     "Setup initilization could not be successfully completed."$(!LF)$(!LF)
  7130.  
  7131. [NetInstallErrorENG]
  7132.     !MsgText     =     "The network could not be successfully installed."$(!LF)$(!LF)
  7133.  
  7134. [UtilInstallErrorENG]
  7135.     !MsgText     =     "The SQL Server utilities could not be successfully installed."$(!LF)$(!LF)
  7136.  
  7137. [LangErrorENG]
  7138.     !MsgText     =     "The language could not be successfully installed."$(!LF)$(!LF)
  7139.  
  7140. [ServerOptsErrorENG]
  7141.     !MsgText     =     "The server options could not be updated successfully."$(!LF)$(!LF)
  7142.  
  7143. [RebuildErrorENG]
  7144.     !MsgText     =     "The master database could not be successfully rebuilt."$(!LF)$(!LF)
  7145.  
  7146. [NetStartErrorENG]
  7147.     !AddlText     =     " The service could not be started. Please check the error/event log to determine the cause."
  7148.  
  7149. [NetStopErrorENG]
  7150.     !AddlText     =     " The service could not be stopped."
  7151.  
  7152. [NetworkDriveConnectErrorENG]
  7153.     !AddlText     =    "Setup could not connect to the remote "
  7154.  
  7155. [NetworkDriveConnectSQLInstENG]
  7156.     !AddlText    =     "SQL Server installation share - "
  7157.  
  7158. [NetworkDriveConnectNTInstENG]
  7159.     !AddlText    =     "Windows NT installation share - "
  7160.  
  7161. [NetworkDriveConnectDBInstENG]
  7162.     !AddlText    =     "master database share - "
  7163.  
  7164. [STR_Plenty]
  7165.     !AddlText    =     "Sufficient space"
  7166.  
  7167. [ProcessExecErrorENG]
  7168.     !AddlText     =     "could not be executed. Please check the relevant .OUT file."$(!LF)
  7169.  
  7170. [ProcessRetErrorENG]
  7171.     !AddlText     =     "An error was reported: "
  7172.  
  7173. [CannotCreateFileENG]
  7174.     !AddlText     =     "The CONFIG file could not be created."
  7175.  
  7176. [DiskFullENG]
  7177.     !AddlText     =     "There is insufficient disk space for the CONFIG file."
  7178.  
  7179. [DirCreateErrorENG]
  7180.     !AddlText     =     "The following directory could not be created: "
  7181.  
  7182. [SQLBadResultsENG]
  7183.     !AddlText     =     "Install verification failed because at least one SQL script did not install correctly. Please check the script .OUT files. The verification check failed with the following item not being found: "
  7184.  
  7185. [NoServerNameENG]
  7186.     !AddlText     =     "You must specify a Windows NT-based SQL Server."
  7187.  
  7188. [NoServerPathENG]
  7189.     !AddlText     =     "You must specify a SQL Server path."
  7190.  
  7191. [NoMasterPathENG]
  7192.     !AddlText     =     "You must specify a master database path."
  7193.  
  7194. [NoTCPIPSocketENG]
  7195.     !AddlText     =     "You must specify a TCP/IP socket number."
  7196.  
  7197. [MasterExistsENG]
  7198.     !YesNoQ     =     "The master database already exists in this path."$(!LF)"Are you sure you want to overwrite it?"
  7199.  
  7200. [TCPIPNotRunningENG]
  7201.     !YesNoQ        =    "The TCP/IP service is not currently running."$(!LF)"Do you still want to select this Net-Library?"
  7202.  
  7203. [STR_NWLinkNotRunning]
  7204.     !YesNoQ        =    "The NWLink service is not currently running."$(!LF)"Do you still want to select this Net-Library?"
  7205.  
  7206. [NoRemoteSpecENG]
  7207.     !AddlText     =     "You must specify a remote computer name."
  7208.  
  7209. [NoLoginToSQLServerENG]
  7210.     !AddlText     =     "Setup could not connect to the SQL Server."
  7211.  
  7212. [InstalledTagENG]
  7213.     !RebootType    =    "SQL Server ("$(!ProductVersion)") is now installed."
  7214.  
  7215. [UpgradedTagENG]
  7216.     !RebootType    =    "SQL Server ("$(!ProductVersion)") is now upgraded."
  7217.  
  7218. [UtilInstallTagENG]
  7219.     !RebootType     =     "SQL Server ("$(!ProductVersion)") utilities are now installed."
  7220.  
  7221. [STR_DLLRenameError]
  7222.     !AddlText    =    "Setup cannot rename "$(!OneOffFile)". Ensure that you are not running any other applications that use this file, and then restart setup."
  7223.  
  7224. [STR_SpacedComputerName]
  7225.     !AddlText    =    "The computer name "$(!ComputerName)" contains at least one whitespace character. The SQL Server computer name cannot contain whitespace characters, therefore you will need use a name without whitespace."
  7226.  
  7227. [STR_NonCriticalScriptFail]
  7228.     !AddlText    =    $(!LF)"At least one non-critical SQL script failed to install correctly. Please check the Install .OUT files."
  7229.  
  7230. [PasswordsDontMatchENG]
  7231.     !AddlText    =    $(!LF)"The password was not correctly confirmed. Please be sure that the confirmation password exacly matches the password."
  7232.  
  7233. [DeleteEventLogENG]
  7234.     !YesNoQ     =    "In order to disable event logging, the Application event log must be cleared with no backup created. If SQL Server is running it will be stopped and restarted. Do you wish to continue?"
  7235.  
  7236. [NoNetChangeIntSec]
  7237.     !AddlText    =    "You cannot change the network support options because your login security mode is set to 'Windows NT Integrated' in the Set Security Options dialog."$(!LF)$(!LF)+
  7238.      "If you need to support protocols other than named pipes, you must first change the security mode to 'Standard' or 'Mixed'."
  7239.  
  7240. [NoNetChangeDevVer]
  7241.     !AddlText    =    "You cannot change the network support options because you are using the SQL Server Desktop System, which only supports local named pipes connections."
  7242.  
  7243. [InternationalSetup]
  7244.     !Locale        =    ""
  7245.  
  7246. [LocaleFile]
  7247.     1, common.loc
  7248.     1, server.loc
  7249.  
  7250. [BaseInstallExes]
  7251.         1, setup.exe,SIZE=336896
  7252.         1, setup.inf,SIZE=318953
  7253.         1, sqlsetup.hlp,SIZE=77385
  7254.         1, sqlsetup.dll,SIZE=164352
  7255.         1, bldmastr.ex@, RENAME=bldmastr.exe, SIZE=553472
  7256.         1, sqlservr.ex@, RENAME=sqlservr.exe, SIZE=2634240
  7257.         1, charset.ex@,  RENAME=charset.exe, SIZE=132608
  7258.         1, langinst.ex@, RENAME=langinst.exe,SIZE=111616
  7259.         1, upgrade.ex@,  RENAME=upgrade.exe,SIZE=177152
  7260.         1, sqlmontr.ex@, RENAME=sqlmontr.exe,SIZE=146944
  7261.         1, netsql.ex@    RENAME=netsql.exe,SIZE=75264
  7262.         1, wtapedir.ex@  RENAME=wtapedir.exe, SIZE=135168
  7263.         1, sqlctrs.pm@,  RENAME=sqlctrs.pmc,SIZE=1164
  7264.     1, console.ex@,     RENAME=console.exe,SIZE=71680
  7265.         1, helpsql.hl@,  RENAME=helpsql.hlp,SIZE=190073
  7266.         1, tapeutil.hl@,  RENAME=tapeutil.hlp,SIZE=18679
  7267.     1, ntwdbver.ex@, RENAME=ntwdbver.exe,SIZE=65536
  7268.         1, sqlxfr.ex@, RENAME=sqlxfr.exe,SIZE=241664
  7269.         1, sqlxfr.hl@, RENAME=sqlxfr.hlp,SIZE=23466
  7270.  
  7271. [DOSInstallExes]
  7272.         1, dbnmp3.dl@,   RENAME=dbnmp3.dll,SIZE=10704
  7273.         1, dbmsspx3.dl@, RENAME=dbmsspx3.dll,SIZE=10848
  7274.         1, dbmsvin3.dl@, RENAME=dbmsvin3.dll,SIZE=18150
  7275.     1, dbmssoc3.dl@, RENAME=dbmssoc3.dll,SIZE=5000
  7276.         1, dbnmpipe.ex@, RENAME=dbnmpipe.exe,SIZE=10013
  7277.     1, dbmsspx.ex@,  RENAME=dbmsspx.exe,SIZE=24565
  7278.         1, dbmsvine.ex@, RENAME=dbmsvine.exe,SIZE=22554
  7279.     1, dbmssoc.ex@, RENAME=dbmssoc.exe,SIZE=27000
  7280.  
  7281. [OS2InstallExes]
  7282.         1, dbmsspxp.dl@,   RENAME=dbmsspxp.dll,SIZE=8800
  7283.         1, dbmsvinp.dl@,   RENAME=dbmsvinp.dll,SIZE=13830
  7284.         1, dbnmpp.dl@, RENAME=dbnmpp.dll,SIZE=8300
  7285.         1, pdbver.ex@, RENAME=pdbver.exe,SIZE=8300
  7286.  
  7287. [BaseInstallDLLs]
  7288.         1, opendsnt.dl@, RENAME=opendsnt.dll,SIZE=154624
  7289.         1, ssnmpntw.dl@, RENAME=ssnmpntw.dll,SIZE=19456
  7290.         1, xpsql.dl@,    RENAME=xpsql.dll,SIZE=13824
  7291.         1, sqlperf.dl@,  RENAME=sqlperf.dll,SIZE=32768
  7292.         1, ssmssocn.dl@, RENAME=ssmssocn.dll,SIZE=30208
  7293.         1, sqlevent.dl@, RENAME=sqlevent.dll,SIZE=46080
  7294.     1, sqltl32.dl@,  RENAME=sqltl32.dll,SIZE=416768,CHECKVERSION=*($(!SetupFileVersion), 1)^*($(!SetupFileVersion),2)
  7295.         1, sqlctrs.dl@,  RENAME=sqlctrs.dll,SIZE=38400
  7296.         1, evntctrs.dl@, RENAME=evntctrs.dll,SIZE=8192
  7297.         1, xplogin.dl@, RENAME=xplogin.dll, SIZE=50688
  7298.     1, ssmsspxn.dl@, RENAME=ssmsspxn.dll,SIZE=42496
  7299.         1, dbmsspxn.dl@, RENAME=dbmsspxn.dll,SIZE=42496,CHECKVERSION=*($(!SetupFileVersion), 1)^*($(!SetupFileVersion),2)
  7300.         1, dbmssocn.dl@, RENAME=dbmssocn.dll,SIZE=30208,CHECKVERSION=*($(!SetupFileVersion), 1)^*($(!SetupFileVersion),2)
  7301.         1, sqlmapi.dl@,RENAME=sqlmapi.dll,SIZE=47616
  7302.  
  7303. [ClientDLLs]
  7304.     1, dbnmpntw.dll,SIZE=29696,CHECKVERSION=*($(!SetupFileVersion), 1)^*($(!SetupFileVersion),2)
  7305.         1, ntwdblib.dll,SIZE=342528,CHECKVERSION=*($(!SetupFileVersion), 1)^*($(!SetupFileVersion),2)
  7306.  
  7307. [InstallExes]
  7308.         1, charset.exe, SIZE=132608
  7309.  
  7310. [InstallDLLs]
  7311.         1, opendsnt.dll,SIZE=154624
  7312.         1, ssnmpntw.dll,SIZE=19456
  7313.         1, sqlevent.dll,SIZE=46080
  7314.  
  7315. [BaseInstall]
  7316.     1, dropall.sq@, RENAME=dropall.sql,SIZE=11084
  7317.         1, instmstr.sq@, RENAME=instmstr.sql,SIZE=331983
  7318.         1, instmodl.sq@, RENAME=instmodl.sql,SIZE=1460
  7319.         1, admin2.sq@,   RENAME=admin2.sql,SIZE=126205
  7320.         1, object2.sq@,  RENAME=object2.sql,SIZE=43930
  7321.         1, unadmin.sq@,  RENAME=unadmin.sql,SIZE=5706
  7322.     1, tempsp.sql,SIZE=746
  7323.         1, unobj.sql,SIZE=2241
  7324.         1, instpubs.sq@, RENAME=instpubs.sql,SIZE=23902
  7325.         1, instcat.sq@,  RENAME=instcat.sql,SIZE=105868
  7326.         1, helpsql.sq@,  RENAME=helpsql.sql,SIZE=129492
  7327.         1, instlang.sq@, RENAME=instlang.sql,SIZE=2551
  7328.         1, instnt.sq@, RENAME=instnt.sql,SIZE=68768
  7329.         1, mstrfree.sql,SIZE=637
  7330.         1, dnnt42.sql,SIZE=11807
  7331.         1, instsupl.sq@, RENAME=instsupl.sql,SIZE=4411
  7332.         1, sqlcommn.lo@, RENAME=sqlcommn.loc,SIZE=12000
  7333.         1, readme.txt,SIZE=4098
  7334.     1, readme.hl@, RENAME=readme.hlp,SIZE=18035
  7335.  
  7336. [Charset437]
  7337.         1, CP437BIN.437,SIZE=800
  7338.         1, DICTION.437,SIZE=8500
  7339.         1, NOACCENT.437,SIZE=8500
  7340.         1, NOCASE.437,SIZE=8500
  7341.         1, NOCASEPR.437,SIZE=9000
  7342.  
  7343. [Charset850]
  7344.         1, CP850BIN.850,SIZE=800
  7345.         1, DICTION.850,SIZE=8500
  7346.         1, NOACCENT.850,SIZE=8500
  7347.         1, NOCASE.850,SIZE=8500
  7348.         1, NOCASE34.850,SIZE=6000
  7349.         1, NOCASEPR.850,SIZE=9100
  7350.         1, ALTDICT.850,SIZE=8600
  7351.         1, ALTNOACC.850,SIZE=8500
  7352.         1, ALTNOCSP.850,SIZE=9400
  7353.         1, ALTNOCS.850,SIZE=9400
  7354.         1, SCANDICT.850,SIZE=8300
  7355.         1, SCANNOCP.850,SIZE=9200
  7356.         1, SCANNOCS.850,SIZE=9200
  7357.  
  7358. [CharsetISO]
  7359.         1, ISO_1BIN.ISO,SIZE=800
  7360.         1, DICTION.ISO,SIZE=8700
  7361.         1, NOACCENT.ISO,SIZE=8800
  7362.         1, NOCASE.ISO,SIZE=8700
  7363.         1, NOCASEPR.ISO,SIZE=9400
  7364.  
  7365. [Util1]
  7366.         1, BCP.EX@, RENAME=bcp.exe,SIZE=117760
  7367.  
  7368. [Util2]
  7369.         1, isql.ex@,     RENAME=isql.exe,SIZE=132608
  7370.         1, isqlw.ex@,    RENAME=isqlw.exe,SIZE=116736
  7371.         1, isqlw.hl@, RENAME=isqlw.hlp,SIZE=63522
  7372.  
  7373. [Util3]
  7374.     1, sqladmin.ex@  RENAME=sqladmin.exe,SIZE=958464
  7375.         1, sqlmgr.ex@,   RENAME=sqlmgr.exe,SIZE=94720
  7376.  
  7377. [Util3Help]
  7378.     1, sqladmin.hl@, RENAME=sqladmin.hlp,SIZE=194972
  7379.  
  7380. [Util4]
  7381.     1, sqlobj.ex@    RENAME=sqlobj.exe,SIZE=1078272
  7382.  
  7383. [Util4Help]
  7384.     1, sqlobj.hl@, RENAME=sqlobj.hlp,SIZE=208069
  7385.  
  7386. [Util5]
  7387.         1, SQSECMGR.EX@  RENAME=SQSECMGR.exe,SIZE=175616
  7388.         1, sqsecmgr.hl@,  RENAME=sqsecmgr.hlp,SIZE=60317
  7389.  
  7390. [Util6]
  7391.         1, READPIPE.EX@  RENAME=readpipe.exe,SIZE=64000
  7392.         1, makepipe.ex@  RENAME=makepipe.exe,SIZE=60928
  7393.     1, ntwdbver.ex@  RENAME=ntwdbver.exe,SIZE=65536
  7394.  
  7395. [UtilDLLs]
  7396.     1, sqltl32.dl@,  RENAME=sqltl32.dll,SIZE=416768,CHECKVERSION=*($(!SetupFileVersion), 1)^*($(!SetupFileVersion),2)
  7397.         1, dbmsspxn.dl@, RENAME=dbmsspxn.dll,SIZE=42496,CHECKVERSION=*($(!SetupFileVersion), 1)^*($(!SetupFileVersion),2)
  7398.         1, dbmssocn.dl@, RENAME=dbmssocn.dll,SIZE=30208,CHECKVERSION=*($(!SetupFileVersion), 1)^*($(!SetupFileVersion),2)
  7399.  
  7400. [UtilHelp]
  7401.         3, helpsql.hl@,  RENAME=helpsql.hlp,SIZE=190073
  7402.