home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 February / PCWK0297.iso / lotus / english / winagent / install.dsk / MAIN.LSS < prev    next >
Text File  |  1995-01-25  |  33KB  |  1,620 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324. OPTION DECLARE
  325.  
  326. USE "CALLBACK"
  327.  
  328. DECLARE FUNCTION DoDatalens(BYVAL direction$) AS STRING
  329. DECLARE FUNCTION NumberOfBytesPerBillbd() AS LONG
  330. DECLARE FUNCTION IsLotusappPromptNeeded() AS INTEGER
  331.  
  332. DECLARE SUB      SetTheBaseSymbol()
  333. DECLARE SUB      InitInstall()
  334. DECLARE SUB      ConfigureAUTOEXEC()
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346. SUB INITIALIZE
  347.    DIM network$, notused%, notused1$, nProducts%,prodIndex%, nDirs%, app_flag%, rc$,i%, cwd$
  348.    DIM inifile$, inf$, curcursor%, grouptitle$, dirSym$, lSize&, destdir$
  349.    DIM direction$, nbytes&, lic$, SameFlag$, netLotusapp$, installini$
  350.    DIM newnetpath$, automation$
  351.  
  352.    
  353.    ON Error STFQUIT    GOTO MAINERROR
  354.    ON Error STFERR     GOTO STFERR_
  355.    ON Error STFTOGGLE  GOTO STFTOGGLEERR
  356.  
  357.    InitInstall
  358.    nProducts% = Reg_GetNumberOfProducts()
  359.  
  360.    
  361.    
  362.    
  363.  
  364.  
  365.    IF GetSymbolValue(SYM_AUTOMATIONINST$) = gTRUE$ THEN
  366.       SetListItem "IDC_BMP", 1, STR$(IDD_TKT_PROD_BMP)
  367.       notused1$ = PopupModelessDlg(DB_AUTOINSTWAIT, DB_AUTOINSTWAIT)
  368.    ELSE
  369.    
  370.    
  371.       notused1$  = Lot_CallOneProductFunction (1, "DefaultUserReg", gNEXT, TRUE, "")
  372.    END IF
  373.    notused%   = Lot_ReadSerialNumber()
  374.  
  375.  
  376. WELCOME:             
  377.    direction$ = gNEXT
  378.    
  379.    notused1$  = Lot_CallProductFunctions ("ProductReg", gNEXT, TRUE, gALLPRODUCTS$, "")
  380.  
  381.    
  382.    
  383.    IF GetSymbolValue(SYM_AUTOMATIONINST$) <> gTRUE$ THEN
  384.      IF GetSymbolValue(SYM_NETWORK$) = gNODE$ THEN
  385.       notused% = RegisterCallback("CALLBACK", "WELCOMECB")
  386.           rc$ = PopupModalDlg(DB_WELCOME_NODE, DB_WELCOME_NODE)
  387.      ELSE
  388.         notused% = RegisterCallback("CALLBACK", "WELCOMECB")
  389.         IF Reg_GetProdSupportForSrv(1)  OR _
  390.       Reg_GetProdSupportForDist(1) <> FALSE THEN
  391.       rc$ = PopupModalDlg(DB_WELCOME, DB_WELCOME)
  392.         ELSE
  393.       rc$ = PopupModalDlg(DB_WELCOMENOSRV, DB_WELCOMENOSRV)
  394.         END IF
  395.       END IF
  396.       direction$ = Lot_ConfirmNamesDlg ()
  397.       IF direction$ = gBACK$ THEN  GOTO WELCOME
  398.    ELSE
  399.     notused% = Lot_AutoGetUserInfo()
  400.    END IF
  401.  
  402.  
  403. SERVER_DISTRIBUTION: 
  404.    network$ = GetSymbolValue(SYM_NETWORK$)
  405.    IF network$ = gSERVER$ OR network$ = gDISTRIBUTION$ THEN
  406.       IF Reg_GetProdSupportforSrv(1) <> FALSE THEN
  407.  
  408.      notused%   = RegisterCallback("CALLBACK","DISKCOPYMETHODCB")
  409.      
  410.      
  411.      
  412.      
  413.      direction$ = PopupModalDlg (DB_DISKCOPYMETHOD, DB_DISKCOPYMETHOD )
  414.       END IF
  415.    END IF
  416.    IF direction$ = gBACK$ GOTO WELCOME
  417.  
  418.  
  419.    SetTheBaseSymbol
  420.  
  421. LAUNCHNAG:
  422.    network$ = GetSymbolValue(SYM_NETWORK$)
  423.    IF network$ = gSERVER$ THEN
  424.       notused% = RegisterCallback("CALLBACK","LAUNCHNAGCB")
  425.       
  426.       direction$ = PopupModalDlg (DB_LAUNCHNAG, DB_LAUNCHNAG )
  427.    END IF
  428.    IF direction$ = gBACK$ GOTO SERVER_DISTRIBUTION
  429.  
  430.  
  431. SMARTSUITE_BASEDIR: 
  432.    network$ = GetSymbolValue(SYM_NETWORK$)
  433.    IF network$ <> gDISTRIBUTION$ AND GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSMARTSUITE$ THEN
  434.       notused% = RegisterCallback("SUIT", "SUITEDIRCB")
  435.       
  436.       
  437.       direction$ = PopupModalDlg(DB_SUITEDIR, DB_SUITEDIR)
  438.    END IF
  439.    IF direction$ = gBACK$ THEN GOTO LAUNCHNAG
  440.    
  441.    
  442.    
  443.  
  444.    
  445.    SetSymbolValue SYM_SIZEOFINSTALL$, gCOMPLETE$
  446.    FOR i% = 1 to nProducts%
  447.       Reg_SetSelectedInstallType i%, gCOMPLETE$
  448.    NEXT
  449.  
  450.    automation$ = GetSymbolValue(SYM_AUTOMATIONINST$)
  451.    network$ = GetSymbolValue(SYM_NETWORK$)
  452.    cwd$     = GetSymbolValue(SYM_STF_CWDDIR$)
  453.    inifile$ = MakePath(cwd$,gINSTALLINI$)
  454.  
  455.    SELECT CASE network$
  456.  
  457.    
  458.    
  459.    
  460.  
  461.    CASE gSTANDARD$
  462.  
  463.       
  464.       inf$ = GetIniKeyString (inifile$, "TOOLKIT", "STDINFFILE")
  465.       ReadInfFile inf$
  466.       notused% = Lot_CallSharedTool("InitSHARE()")
  467.  
  468.       
  469.       direction$ = Lot_CallProductFunctions("Init", direction$, TRUE, gALLPRODUCTS$, "GetSymbolValue(SYM_BASEDIR$)")
  470.       IF direction$ = gBACK$ GOTO SMARTSUITE_BASEDIR
  471.  
  472.  
  473.       IF automation$ = gTRUE$ THEN
  474.      notused% = Lot_AutoGetProductDestDirSymbol ()
  475.       ELSE
  476.     IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSMARTSUITE$ THEN
  477.        direction$  = Lot_CallOneProductFunction (1, "PrevVersions", gNEXT, TRUE, "")
  478.      IF direction$ = gBACK$ GOTO SMARTSUITE_BASEDIR
  479.     END IF
  480.       END IF
  481.  
  482. STDSUITPROMPTLOTUSAPP:  
  483.       IF IsLotusappPromptNeeded() = 1 AND _
  484.      GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSMARTSUITE$ THEN
  485.  
  486.      notused% = RegisterCallback ("CALLBACK", "GETLOTUSAPPDIRCB")
  487.      
  488.      
  489.      
  490.      direction$ = PopupModalDlg (DBM_SPECIFY_LOTUSAPPDIR, DBM_SPECIFY_LOTUSAPPDIR)
  491.       END IF
  492.       IF direction$ = gBACK$ GOTO SMARTSUITE_BASEDIR
  493.  
  494.  
  495.  
  496. STDSSAPPSEL:
  497.         
  498.         
  499.         IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSMARTSUITE$ THEN
  500.            IF automation$ <> gTRUE$ THEN
  501.             notused% = RegisterCallback("SUIT", "APPSELCB")
  502.             
  503.             
  504.             direction$ = PopupModalDlg (DBSUIT_APPSEL, DBSUIT_APPSEL)
  505.            ELSE
  506.             notused% = Lot_AutoSuiteAppSelect()
  507.            END IF    
  508.         END IF
  509.       IF direction$ = gBACK$ GOTO STDSUITPROMPTLOTUSAPP
  510.     
  511.  
  512.       
  513.       IF Lot_CallSharedTool("PreConfigSHARE()") = 2 THEN
  514.      direction$ = gBACK$
  515.       END IF
  516.       IF direction$ = gBACK$  GOTO STDSSAPPSEL
  517.  
  518.  
  519. STDSIZEOFINSTALL:   
  520.      
  521.      
  522.      
  523.      
  524.      
  525.      
  526.      
  527.       nProducts% = Reg_GetNumberOfProducts() :  app_flag% = FALSE
  528.       FOR prodIndex% = 1 to nProducts%
  529.       If Reg_GetUIInOrOut (prodIndex%) <> FALSE  AND _
  530.          Reg_GetAllowUserToPickInSuite(prodIndex%) <> FALSE Then
  531.          app_flag% = TRUE
  532.       End If
  533.       NEXT
  534.       If app_flag% <> FALSE  Then
  535.     If automation$ = gTRUE$ Then
  536.       notused% = Lot_AutoGetSizeOfInstall()
  537.     Else
  538.       direction$ = Lot_GetSizeOfInstall()
  539.       IF direction$ = gBACK$ GOTO STDSSAPPSEL
  540.     End If
  541.       End If
  542.  
  543.       ResetCopyList    
  544.  
  545. STDINITIALIZECOPYLST:  
  546.       direction$ = Lot_CallProductFunctions("InitCopyList", direction$, FALSE, gALLPRODUCTS$, "")
  547.       IF direction$ = gBACK$ GOTO STDSIZEOFINSTALL
  548.  
  549.       Lot_SetCurrentProduct(1) 
  550.  
  551. STDPROMPTLOTUSAPP:  
  552.       IF IsLotusappPromptNeeded() = 1 AND _
  553.      GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
  554.  
  555.      notused% = RegisterCallback ("CALLBACK", "GETLOTUSAPPDIRCB")
  556.      
  557.      
  558.      
  559.      direction$ = PopupModalDlg (DBM_SPECIFY_LOTUSAPPDIR, DBM_SPECIFY_LOTUSAPPDIR)
  560.       END IF
  561.       IF direction$ = gBACK$ GOTO STDINITIALIZECOPYLST
  562.  
  563. STDCUSTOM:
  564.       IF GetSymbolValue(SYM_SIZEOFINSTALL$) = gCUSTOM$ THEN
  565.      IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
  566.         notused% = RegisterCallback("CALLBACK","CUSTOM1CB")
  567.         direction$ = PopupModalDlg (DBM_CUSTOMIZEBASESINGLEPROD, _
  568.                   DBM_CUSTOMIZEBASESINGLEPROD)
  569.      ELSE
  570.          If app_flag% <> FALSE  Then
  571.          notused% = RegisterCallback("SUIT","CUSTOMIZEAPPSCB")
  572.          direction$ = PopupModalDlg (DBSUIT_CUSTOMIZEAPPS,_
  573.                        DBSUIT_CUSTOMIZEAPPS)
  574.          End If
  575.      END IF
  576.       END IF
  577.  
  578.       IF direction$ = gBACK$ GOTO STDPROMPTLOTUSAPP
  579.  
  580.  
  581. STDDATALENS:   
  582.       direction$ = DoDatalens(direction$) 
  583.       IF direction = gBACK$ GOTO STDPROMPTLOTUSAPP
  584.  
  585. IF  automation$ <> gTRUE$ THEN
  586. STDUSERUI:  
  587.      
  588.       direction$ = Lot_CallProductFunctions("UI", direction$, FALSE, g1PRODUCT, "")
  589.       IF direction$ = gBACK$ GOTO STDDATALENS
  590. END IF
  591.  
  592.  
  593. IF  automation$ <> gTRUE$ THEN
  594. STDPROGMAN: 
  595.       notused% = RegisterCallback("CALLBACK","PROGMANGROUPCB")
  596.      
  597.      
  598.       direction$ = PopupModalDlg (DBM_PROGMANGROUP, DBM_PROGMANGROUP)
  599.       IF direction$ = gBACK$ GOTO STDUSERUI
  600. ELSE
  601.       notused% = Lot_AutoGetProgramGroup()
  602. END IF
  603.       
  604.      UIPOP 1     
  605.       
  606.       
  607.  
  608.       notused% = Lot_AutoWriteOutDebugFile()
  609.  
  610.       direction$ = PopupModalDlg (DB_BEGINCOPYING, DB_BEGINCOPYING)
  611.       IF direction$ = gBACK$ GOTO STDPROGMAN
  612.  
  613.       
  614.       
  615.  
  616.       
  617.       notused1$ = Lot_CallProductFunctions("PreCopyConfig", direction$, FALSE, gALLPRODUCTS, "FALSE")
  618.  
  619.       
  620.       IF automation$ = gTRUE$ THEN
  621.     notused% = AutoCheckForSpace()
  622.       ELSE      
  623.     SELECT CASE GetSymbolValue(SYM_SIZEOFINSTALL$)
  624.  
  625.      CASE gCOMPLETE$
  626.         IF CheckForSpace(DB_INSUFDISKSPACE)     = FAILURE GOTO STDSIZEOFINSTALL
  627.      CASE gLAPTOP$
  628.         IF CheckForSpace(DB_INSUFDISKSPACEMIN)  = FAILURE GOTO STDSIZEOFINSTALL
  629.      CASE gCUSTOM$
  630.         IF CheckForSpace(DB_INSUFDISKSPACECUST) = FAILURE GOTO STDCUSTOM
  631.      END SELECT
  632.       END IF
  633.       
  634.     notused% = SetSizeCheckMode(0)
  635.       IF GetSymbolValue(SYM_LOGFILE$) <> "" THEN 
  636.      DumpCopyList GetSymbolValue(SYM_LOGFILE$)
  637.       END IF
  638.       nbytes& = NumberOfBytesPerBillbd()
  639.       notused1$ = Lot_CallOneProductFunction(1,"AddTheBillBoards", gNEXT, FALSE, CSTR(nbytes&))
  640.       CopyFilesInCopyList
  641.  
  642.       
  643.       curcursor% = ShowWaitCursor()
  644.       SetListItem "IDC_BMP", 1, STR$(IDD_PLEASEWAIT_BMP) 
  645.       notused1$ = PopupModelessDlg(DB_PLEASEWAIT, DB_PLEASEWAIT)
  646.       notused% = Lot_SaveFeaturesInstaledInInstallIni()
  647.       
  648.       
  649.       notused1$ = Lot_CallProductFunctions("PostCopyConfig", gNEXT, FALSE, gALLPRODUCTS, |"|+grouptitle$+|"|)
  650.       
  651.       UIPOP 1     
  652.  
  653.       
  654.       grouptitle$ = Reg_GetProgManagerGroupName(1)
  655.  
  656.       CreateProgmanGroup CHR$(34) + grouptitle$ + CHR$(34), "", cmoVital
  657.       notused1$ = Lot_CallProductFunctions("AddIcons", gNEXT, FALSE, gALLPRODUCTS, |"|+grouptitle$+|"|)
  658.  
  659.       
  660.       SetListItem "IDC_BMP", 1, STR$(IDD_PLEASEWAIT_BMP) 
  661.       notused1$ = PopupModelessDlg(DB_PLEASEWAIT, DB_PLEASEWAIT)
  662.       
  663.       notused% = Lot_CallSharedTool("ConfigSHARE()")
  664.       notused% = Lot_CallSharedTool("AddSHAREIcons()")
  665.  
  666.       UIPOP 1     
  667.       RestoreCursor curcursor%
  668.  
  669.       ConfigureAUTOEXEC
  670.  
  671.       notused1$ = Lot_CallProductFunctions("PostSuccessReg", gNEXT, FALSE, gALLPRODUCTS,"")
  672.       
  673.       
  674.       
  675.    
  676.    
  677.    
  678.  
  679.    CASE gSERVER$
  680.  
  681.       
  682.       inf$ = GetIniKeyString (inifile$, "TOOLKIT", "SRVINFFILE")
  683.       ReadInfFile inf$
  684.       notused% = Lot_CallSharedTool("InitSHARE()")
  685.  
  686.  
  687. SMARTSUITE_LOTUSAPPDIR:
  688.       IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSMARTSUITE$  AND _
  689.      Reg_GetProdSupportforShare(1) = 1 THEN
  690.  
  691.      notused% = RegisterCallback ("CALLBACK", "GETLOTUSAPPDIRCB")
  692.      
  693.      
  694.      
  695.           direction$ = PopupModalDlg (DBM_SPECIFY_SRVLOTUSAPPDIR, DBM_SPECIFY_SRVLOTUSAPPDIR)
  696.       END IF
  697.       IF direction$ = gBACK$ THEN  GOTO SMARTSUITE_BASEDIR
  698.  
  699.       
  700.       direction$ = Lot_CallProductFunctions("Init", direction$, TRUE, gALLPRODUCTS$, "GetSymbolValue(SYM_BASEDIR$)")
  701.       IF direction$ = gBACK$ GOTO WELCOME
  702.  
  703.  
  704.       IF automation$ = gTRUE$ THEN
  705.      notused% = Lot_AutoGetProductDestDirSymbol ()
  706.       END IF
  707.       
  708.       
  709.       ResetWinWinsysSymbols
  710.  
  711. SRVSSAPPSEL: 
  712.          
  713.         IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSMARTSUITE$ THEN
  714.            IF automation$ <> gTRUE$ THEN
  715.             notused% = RegisterCallback("SUIT", "APPSELCB")
  716.             
  717.             
  718.             direction$ = PopupModalDlg (DBSUIT_SAPPSEL, DBSUIT_SAPPSEL)
  719.            ELSE
  720.             notused% = Lot_AutoSuiteAppSelect()
  721.            END IF    
  722.         END IF
  723.       IF direction$ = gBACK$ GOTO SMARTSUITE_LOTUSAPPDIR
  724.  
  725. SRVSIZEOFINSTALL:  
  726.      
  727.      
  728.      
  729.      
  730.      
  731.      
  732.      
  733.       nProducts% = Reg_GetNumberOfProducts() :  app_flag% = FALSE
  734.       FOR prodIndex% = 1 to nProducts%
  735.       If Reg_GetUIInOrOut (prodIndex%) <> FALSE  AND _
  736.          Reg_GetAllowUserToPickInSuite(prodIndex%) <> FALSE Then
  737.          app_flag% = TRUE
  738.       End If
  739.       NEXT
  740.       If app_flag% <> FALSE  Then
  741.     If automation$ = gTRUE$ Then
  742.       notused% = Lot_AutoGetSizeOfInstall()
  743.     Else
  744.       direction$ = Lot_GetSizeOfInstall ()
  745.             IF direction$ = gBACK$ GOTO SRVSSAPPSEL
  746.     End If
  747.       End If
  748.  
  749.       ResetCopyList    
  750.  
  751.       
  752.       direction$ = Lot_CallProductFunctions("InitCopyList", direction$, FALSE, gALLPRODUCTS$, "")
  753.       IF direction$ = gBACK$ GOTO SRVSIZEOFINSTALL
  754.  
  755.       Lot_SetCurrentProduct(1) 
  756.  
  757. SRVCUSTOM:
  758.       IF GetSymbolValue(SYM_SIZEOFINSTALL$) = gCUSTOM$ THEN
  759.      IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
  760.         notused% = RegisterCallback("CALLBACK","CUSTOM1CB")
  761.         direction$ = PopupModalDlg (DBM_CUSTOMIZEBASESINGLEPROD, _
  762.                   DBM_CUSTOMIZEBASESINGLEPROD)
  763.      ELSE
  764.         If app_flag% <> FALSE  Then
  765.           notused% = RegisterCallback("SUIT","CUSTOMIZEAPPSCB")
  766.           direction$ = PopupModalDlg (DBSUIT_CUSTOMIZEAPPS,_
  767.                     DBSUIT_CUSTOMIZEAPPS)
  768.         End If
  769.      END IF
  770.       END IF
  771.       IF direction$ = gBACK$ GOTO SRVSIZEOFINSTALL
  772.  
  773. SRVDATALENS: 
  774.       direction$ = DoDatalens(direction$) 
  775.       if direction$ = gBACK$ GOTO SRVCUSTOM
  776.  
  777. SRVNODEOPTIONS: 
  778.       IF GetSymbolValue(SYM_SIZEOFINSTALL$) = gCUSTOM$ AND _
  779.      Lot_AreAnyNodeOptAvailToSrv() <> 0 AND _
  780.      app_flag% <> FALSE THEN
  781.      notused% = RegisterCallback("CALLBACK", "SRVNODEOPTIONSCB")
  782.      
  783.      direction$ = PopupModalDlg (DB_SRV_NODEOPTIONS, _
  784.                   DB_SRV_NODEOPTIONS)
  785.       END IF
  786.       IF direction$ = gBACK$ GOTO SRVDATALENS
  787.  
  788. SRVUI:  
  789.      
  790.  
  791.       IF automation$ <> gTRUE$ THEN  
  792.  
  793.       direction$ = Lot_CallProductFunctions("UI", direction$, FALSE, g1PRODUCT, "")
  794.       IF direction$ = gBACK$ GOTO SRVNODEOPTIONS
  795.  
  796.       ELSE
  797.  
  798.       notused% = Lot_AutoGetSetLicenserInfo()
  799.  
  800.       END IF  
  801.  
  802.  
  803. IF  automation$ <> gTRUE$ THEN
  804. SRVPROGMAN: 
  805.       notused% = RegisterCallback("CALLBACK","PROGMANGROUPCB")
  806.      
  807.      
  808.       direction$ = PopupModalDlg (DBM_PROGMANGROUP, DBM_PROGMANGROUP)
  809.       IF direction$ = gBACK$ GOTO SRVUI
  810. ELSE
  811.       notused% = Lot_AutoGetProgramGroup()
  812. END IF
  813.  
  814.      UIPOP 1     
  815.  
  816.       notused% = Lot_AutoWriteOutDebugFile()
  817.  
  818.       direction$ = PopupModalDlg (DB_BEGINCOPYING, DB_BEGINCOPYING)
  819.       IF direction$ = gBACK$ GOTO SRVPROGMAN
  820.  
  821.       
  822.       
  823.  
  824.       
  825.       
  826.       
  827.       lic$ = CSTR(FALSE)
  828.       FOR i% = 1 to nProducts%
  829.      IF Reg_GetProdSupportForLicense (i%) <> FALSE   AND _
  830.         Reg_IsLicenseSelected (i%)        <> FALSE   THEN
  831.            lic$ = CSTR(TRUE)
  832.            EXIT FOR
  833.      END IF
  834.       NEXT
  835.       notused1$ = Lot_CallProductFunctions("PreCopyConfig", direction$, FALSE, gALLPRODUCTS, lic$)
  836.  
  837.       
  838.       IF automation$ = gTRUE$ THEN
  839.     notused% = AutoCheckForSpace()
  840.       ELSE      
  841.     IF GetSymbolValue(SYM_SIZEOFINSTALL$) = gCOMPLETE$ THEN
  842.      IF CheckForSpace(DB_INSUFDISKSPACE)     = FAILURE GOTO SRVSIZEOFINSTALL
  843.         ELSE
  844.      IF CheckForSpace(DB_INSUFDISKSPACECUST) = FAILURE GOTO SRVCUSTOM
  845.         END IF
  846.       END IF
  847.  
  848.       
  849.       notused% = SetSizeCheckMode(FALSE)
  850.       IF GetSymbolValue(SYM_LOGFILE$) <> "" THEN
  851.      DumpCopyList GetSymbolValue(SYM_LOGFILE$)
  852.       END IF
  853.       nbytes& = NumberOfBytesPerBillbd()
  854.       notused1$ = Lot_CallOneProductFunction(1,"AddTheBillBoards", gNEXT, FALSE, CSTR(nbytes&))
  855.       CopyFilesInCopyList
  856.  
  857.       
  858.       curcursor% = ShowWaitCursor()
  859.       SetListItem "IDC_BMP", 1, STR$(IDD_PLEASEWAIT_BMP) 
  860.       notused1$  = PopupModelessDlg(DB_PLEASEWAIT, DB_PLEASEWAIT)
  861.       notused%   = Lot_SaveFeaturesInstaledInInstallIni()
  862.  
  863.       
  864.       IF Lot_AreAnyNodeOptAvailToSrv() <> 0 THEN
  865.      notused% = Lot_SaveTheNodeOptionsInInstallIni()
  866.       END IF
  867.  
  868.       
  869.       notused1$ = Lot_CallProductFunctions("PostCopyConfig", gNEXT, FALSE, gALLPRODUCTS,|"|+grouptitle$+|"|)
  870.       
  871.       UIPOP 1 
  872.  
  873.       
  874.       grouptitle$ = Reg_GetProgManagerGroupName(1)
  875.  
  876.       CreateProgmanGroup CHR$(34) + grouptitle$ + CHR$(34), "", cmoVital
  877.       notused1$ = Lot_CallProductFunctions("AddIcons", gNEXT, FALSE, gALLPRODUCTS, |"|+grouptitle$+|"|)
  878.  
  879.       SetListItem "IDC_BMP", 1, STR$(IDD_PLEASEWAIT_BMP) 
  880.       notused1$  = PopupModelessDlg(DB_PLEASEWAIT, DB_PLEASEWAIT)
  881.       
  882.       notused% = Lot_CallSharedTool("ConfigSHARE()")
  883.       notused% = Lot_CallSharedTool("AddSHAREIcons()")
  884.  
  885.       
  886.       IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
  887.      dirSym$ = Reg_GetDirSymbolList(1)
  888.      If GetListLength(dirSym$) <= 0 Then
  889.         ErrorMsg SID_ERR_SRV_MUST_HAVE_MAINDIR, "" 
  890.         ERROR STFQUIT
  891.      End If
  892.      dirSym$ = GetListItem(dirSym$, 1)
  893.       ELSE
  894.      dirSym$ = SYM_BASEDIR$
  895.       END IF
  896.       CreateIniKeyValue GetSymbolValue(dirSym$) + "install.lst", _
  897.             "Params", "CmdLine",                     _
  898.             "lsirun.exe start /S %s %s /N", cmoOverwrite
  899.       
  900.       UIPOP 1 
  901.       RestoreCursor curcursor%
  902.  
  903.       
  904.       
  905.       notused% = RegisterCallback("CALLBACK","SRV_SUCCESSCB")
  906.       IF FIsKeywordInCopyList("LICTOP") <> FALSE AND _
  907.      Reg_IsLicenseSelected (1) <> FALSE THEN
  908.      rc$ = PopupModalDlg (DB_SRV_SUCCESS_LIC, DB_SUCCESS)
  909.       ELSE
  910.      rc$ = PopupModalDlg (DB_SRV_SUCCESS, DB_SUCCESS)
  911.       END IF
  912.  
  913.       notused1$ = Lot_CallProductFunctions("PostSuccessReg", gNEXT, FALSE, gALLPRODUCTS,"")
  914.  
  915.    
  916.    
  917.    
  918.  
  919.    CASE gNODE$
  920.  
  921.       
  922.       inf$ = GetIniKeyString (inifile$, "TOOLKIT", "NODEINFFILE")
  923.       ReadInfFile inf$
  924.       notused% = Lot_CallSharedTool("InitSHARE()")
  925.  
  926.       
  927.       direction$ = Lot_CallProductFunctions("Init", direction$, TRUE, gALLPRODUCTS$, "GetSymbolValue(SYM_BASEDIR$)")
  928.       IF direction$ = gBACK$ GOTO SMARTSUITE_BASEDIR
  929.  
  930.  
  931.       IF automation$ = gTRUE$ THEN
  932.      notused% = Lot_AutoGetProductDestDirSymbol ()
  933.       ELSE
  934.         IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSMARTSUITE$ THEN
  935.             direction$  = Lot_CallOneProductFunction (1, "PrevVersions", gNEXT, TRUE, "")
  936.      IF direction$ = gBACK$ GOTO SMARTSUITE_BASEDIR
  937.     END IF
  938.       END IF
  939.  
  940.       
  941. NODESSAPPSEL:
  942.         
  943.         
  944.         IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSMARTSUITE$ THEN
  945.            IF automation$ <> gTRUE$ THEN
  946.             notused% = RegisterCallback("SUIT", "APPSELCB")
  947.             
  948.             
  949.             direction$ = PopupModalDlg (DBSUIT_APPSEL, DBSUIT_APPSEL)
  950.            ELSE
  951.             notused% = Lot_AutoSuiteAppSelect()
  952.            END IF    
  953.         END IF
  954.       IF direction$ = gBACK$ GOTO SMARTSUITE_BASEDIR
  955.  
  956.       ResetCopyList    
  957.  
  958.       
  959.       direction$ = Lot_CallProductFunctions("InitCopyList", direction$, FALSE, gALLPRODUCTS$, "")
  960.       IF direction$ = gBACK$ GOTO NODESSAPPSEL
  961.  
  962.       
  963.       IF Lot_CallSharedTool("PreConfigSHARE()") = 2 THEN
  964.      direction$ = gBACK$
  965.       END IF
  966.       IF direction$ = gBACK$  GOTO NODESSAPPSEL
  967.  
  968.  
  969.       
  970. CHANGE_NODE_PATH:
  971.       IF direction$ = gBACK$ GOTO NODESSAPPSEL
  972.  
  973. NODESIGLEPDIRNOPT:
  974.       IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
  975.      dirSym$ = Reg_GetDirSymbolList(1)
  976.      
  977.      
  978.      
  979.      
  980.      
  981.      
  982.      
  983.      If GetListLength(dirSym$) >= 1  Then  
  984.         IF Lot_IsAnyNodeOptAvailToNode() <> 0 THEN
  985.            IF automation$ <> gTRUE$ THEN    
  986.                notused% = RegisterCallback("CALLBACK", "NODENODEOPTIONSCB")
  987.                direction$ = PopupModalDlg (DB_NODE_PERSONALDIRNODEOPT, _
  988.                   DB_NODE_PERSONALDIRNODEOPT)
  989.            ELSE
  990.         notused% = Lot_AutoProcessNodeoptions()
  991.            END IF    
  992.         ELSE
  993.            
  994.            If GetListLength(dirSym$) >= 1   Then
  995.            dirSym$ = GetListItem(dirSym$, 1)
  996.           If GetSymbolValue(dirSym$)<> "" Then
  997.             notused% = RegisterCallback("CALLBACK", "NODENODEOPTIONSCB")
  998.             direction$ = PopupModalDlg (DB_NODE_PERSONALDIR, _
  999.                    DB_NODE_PERSONALDIR)
  1000.           End If
  1001.            End If
  1002.         END IF
  1003.      End If
  1004.        END IF
  1005.        IF direction$ = gBACK$ GOTO CHANGE_NODE_PATH
  1006.  
  1007.  
  1008. NODELOTUSAPP:  
  1009.       installini$ = Lot_GetInstallDir()+gINSTALLINI$
  1010.       
  1011.       
  1012.       netLotusapp$ = GetSymbolValue(SYM_NETLOTUSAPP$)
  1013.       SameFlag$ = GetIniKeyString(installini$, _
  1014.              "Server Configuration of Shared Tools", _
  1015.              "SameDriveFlag")
  1016.  
  1017.       If  SameFlag$ = "1"  Then
  1018.      If  DoesDirExist(netLotusapp$) <> 1  Then
  1019.         newnetpath$ = TrimNetlotusapp$(netLotusapp$)
  1020.         If newnetpath$ <> "" Then  
  1021.            netLotusapp$ = newnetpath$
  1022.            SetSymbolValue SYM_NETLOTUSAPP$, LCASE$(netLotusapp$)
  1023.         End If
  1024.      End If
  1025.       Else
  1026.     If  DoesDirExist(netLotusapp$) <> 1 AND netLotusapp$ <> "" Then
  1027.         newnetpath$ = TrimNetlotusapp$(netLotusapp$)
  1028.         If newnetpath$ <> "" Then  
  1029.            netLotusapp$ = newnetpath$
  1030.            SetSymbolValue SYM_NETLOTUSAPP$, LCASE$(netLotusapp$)
  1031.         Else
  1032.            notused% = RegisterCallback("CALLBACK","NODELOTUSAPPCB")
  1033.            
  1034.            
  1035.            
  1036.            
  1037.            direction$ = PopupModalDlg (DB_NODELOTUSAPP, DB_NODELOTUSAPP)
  1038.         End If
  1039.     End If
  1040.       End If
  1041.       
  1042.       
  1043.       
  1044.  
  1045.  
  1046.       IF direction$ = gBACK$ GOTO NODESIGLEPDIRNOPT
  1047.  
  1048.  
  1049. NODEPROMPTLOTUSAPP:  
  1050.       IF IsLotusappPromptNeeded() = 1 THEN
  1051.  
  1052.      notused% = RegisterCallback ("CALLBACK", "GETLOTUSAPPDIRCB")
  1053.      
  1054.      
  1055.      
  1056.      direction$ = PopupModalDlg (DBM_SPECIFY_LOTUSAPPDIR, DBM_SPECIFY_LOTUSAPPDIR)
  1057.       END IF
  1058.       IF direction$ = gBACK$ GOTO NODELOTUSAPP
  1059.  
  1060. NODENODEOPTIONS:
  1061.       
  1062.       IF GetSymbolValue(SYM_SINGLESMARTSUITE$) =  gSMARTSUITE$ THEN
  1063.      IF Lot_IsAnyNodeOptAvailToNode() <> 0 THEN
  1064.         notused% = RegisterCallback("CALLBACK", "NODENODEOPTIONSCB")
  1065.         
  1066.         direction$ = PopupModalDlg (DB_NODE_NODEOPTIONS, _
  1067.                   DB_NODE_NODEOPTIONS)
  1068.       END IF
  1069.       END IF
  1070.       IF direction$ = gBACK$ GOTO NODEPROMPTLOTUSAPP
  1071.  
  1072. IF  automation$ <> gTRUE$ THEN
  1073. NODEUI:  
  1074.       direction$ = Lot_CallProductFunctions("UI", direction$, FALSE, g1PRODUCT, "")
  1075.       IF direction$ = gBACK$ GOTO NODENODEOPTIONS:
  1076. END IF
  1077.  
  1078.  
  1079. IF  automation$ <> gTRUE$ THEN
  1080. NODEPROGMAN:  
  1081.       notused% = RegisterCallback("CALLBACK","PROGMANGROUPCB")
  1082.      
  1083.      
  1084.       direction$ = PopupModalDlg (DBM_PROGMANGROUP, DBM_PROGMANGROUP)
  1085.       IF direction$ = gBACK$ GOTO NODEUI
  1086. ELSE
  1087.       notused% = Lot_AutoGetProgramGroup()
  1088. END IF
  1089.  
  1090.      UIPOP 1     
  1091.  
  1092.       notused% = Lot_AutoWriteOutDebugFile()
  1093.  
  1094.       direction$ = PopupModalDlg (DB_BEGINCOPYING,DB_BEGINCOPYING)
  1095.       IF direction$ = gBACK$ GOTO NODEPROGMAN
  1096.  
  1097.       
  1098.       
  1099.  
  1100.       
  1101.       notused1$ = Lot_CallProductFunctions("PreCopyConfig", direction$, FALSE, gALLPRODUCTS, "FALSE")
  1102.  
  1103.  
  1104.       curcursor% = ShowWaitCursor()
  1105.       
  1106.       notused% = SetSizeCheckMode(FALSE)
  1107.       notused% = Lot_CallSharedTool ("Lot_RefreshLocalLotusapp()")
  1108.  
  1109.       RestoreCursor curcursor%
  1110.       
  1111.       IF automation$ = gTRUE$ THEN
  1112.     notused% = AutoCheckForSpace()
  1113.       ELSE      
  1114.         IF CheckForSpace(DB_INSUFDISKSPACE) = FAILURE GOTO CHANGE_NODE_PATH
  1115.       END IF
  1116.       
  1117.       curcursor% = ShowWaitCursor()
  1118.       IF GetSymbolValue(SYM_LOGFILE$) <> "" THEN
  1119.      DumpCopyList GetSymbolValue(SYM_LOGFILE$)
  1120.       END IF
  1121.  
  1122.       nbytes& = NumberOfBytesPerBillbd()
  1123.       notused1$ = Lot_CallOneProductFunction(1,"AddTheBillBoards", gNEXT, FALSE, CSTR(nbytes&))
  1124.       CopyFilesInCopyList
  1125.  
  1126.       SetListItem "IDC_BMP", 1, STR$(IDD_PLEASEWAIT_BMP) 
  1127.       notused1$  = PopupModelessDlg(DB_PLEASEWAIT, DB_PLEASEWAIT)
  1128.  
  1129.       notused1$ = Lot_CallProductFunctions("PostCopyConfig", gNEXT, FALSE, gALLPRODUCTS,|"|+grouptitle$+|"|)
  1130.       
  1131.       UIPOP 1 
  1132.       
  1133.       
  1134.       grouptitle$ = Reg_GetProgManagerGroupName(1)
  1135.  
  1136.       CreateProgmanGroup CHR$(34) + grouptitle$ + CHR$(34), "", cmoVital
  1137.       notused1$ = Lot_CallProductFunctions("AddIcons", gNEXT, FALSE, gALLPRODUCTS, |"|+grouptitle$+|"|)
  1138.  
  1139.       SetListItem "IDC_BMP", 1, STR$(IDD_PLEASEWAIT_BMP) 
  1140.       notused1$  = PopupModelessDlg(DB_PLEASEWAIT, DB_PLEASEWAIT)
  1141.       
  1142.       
  1143.       notused% = Lot_CallSharedTool("ConfigSHARE()")
  1144.       notused% = Lot_CallSharedTool("AddSHAREIcons()")
  1145.  
  1146.       
  1147.       UIPOP 1 
  1148.       RestoreCursor curcursor%
  1149.       
  1150.       ConfigureAUTOEXEC
  1151.  
  1152.       notused1$ = Lot_CallProductFunctions("PostSuccessReg", gNEXT, FALSE, gALLPRODUCTS,"")
  1153.       
  1154.       
  1155.       
  1156.  
  1157.  
  1158.    
  1159.    
  1160.    
  1161.  
  1162.    CASE gDISTRIBUTION$
  1163.  
  1164.       
  1165.       inf$ = GetIniKeyString (inifile$, "TOOLKIT", "BYWIREINFFILE")
  1166.       ReadInfFile inf$
  1167.  
  1168.       
  1169.       direction$ = Lot_CallProductFunctions("Init", direction$, TRUE, gALLPRODUCTS$, "GetSymbolValue(SYM_BASEDIR$)")
  1170.       IF direction$ = gBACK$ GOTO WELCOME
  1171.  
  1172.  
  1173. IF automation$ = gTRUE$ THEN
  1174.       notused% = Lot_AutoGetProductDestDirSymbol ()
  1175. ELSE
  1176.  
  1177.       
  1178.  
  1179. ChangeDistPath:
  1180.  
  1181.       lSize& = Lot_GetInfSectionSize(gDISTRIBUTIONFILES$) \ 1024
  1182.       SetListItem "IDC_TEXT", 1, STR$(lSize&) + gStrK$
  1183.  
  1184.       notused% = RegisterCallback("CALLBACK","DISTSIZEINSTALLCB")
  1185.       
  1186.       
  1187.       
  1188.       
  1189.       
  1190.       
  1191.       direction$ = PopupModalDlg (DB_CHOOSEPATHDIST, DB_CHOOSEPATHDIST)
  1192.  
  1193.  
  1194.       IF direction$ = gBACK$ GOTO SERVER_DISTRIBUTION
  1195. END IF
  1196.       
  1197.       dirSym$ = Reg_GetDirSymbolList(1)
  1198.       nDirs% = GetListLength(dirSym$)
  1199.       IF nDirs% > 0 THEN
  1200.      dirSym$  = GetListItem(dirSym$, 1)
  1201.      destdir$ = GetSymbolValue(dirSym$)
  1202.      AddSectionFilesToCopyList gDISTRIBUTIONFILES$,_
  1203.                     GetSymbolValue(SYM_STF_SRCDIR$),_
  1204.                     destdir$
  1205.       END IF
  1206.  
  1207.      UIPOP 1     
  1208.  
  1209.  
  1210.       IF automation$ = gTRUE$ THEN
  1211.     notused% = AutoCheckForSpace()
  1212.       ELSE      
  1213.         IF CheckForSpace(DB_INSUFDISKSPACE) = FAILURE GOTO ChangeDistPath
  1214.       END IF
  1215.  
  1216.       
  1217.       
  1218.  
  1219.       
  1220.       notused% = Lot_AutoWriteOutDebugFile()
  1221.  
  1222.       direction$ = PopupModalDlg (DB_BEGINCOPYING,DB_BEGINCOPYING)
  1223.       IF direction$ = gBACK$ GOTO ChangeDistPath
  1224.  
  1225.       
  1226.       
  1227.  
  1228.       
  1229.       notused1$ = Lot_CallProductFunctions("PreCopyConfig", direction$, FALSE, gALLPRODUCTS, "FALSE")
  1230.  
  1231.       
  1232.       notused% = SetSizeCheckMode(0)
  1233.       IF GetSymbolValue(SYM_LOGFILE$) <> "" THEN
  1234.      DumpCopyList GetSymbolValue(SYM_LOGFILE$)
  1235.       END IF
  1236.  
  1237.       nbytes& = NumberOfBytesPerBillbd()
  1238.       notused1$ = Lot_CallOneProductFunction(1,"AddTheBillBoards", gNEXT, FALSE, CSTR(nbytes&))
  1239.       CopyFilesInCopyList
  1240.  
  1241.       
  1242.       rc$ = PopupModalDlg (DB_SUCCESS, DB_SUCCESS)
  1243.    
  1244.       notused1$ = Lot_CallProductFunctions("PostSuccessReg", gNEXT, FALSE, gALLPRODUCTS,"")
  1245.  
  1246.    
  1247.  
  1248.    
  1249.    CASE ELSE
  1250.       
  1251.       ERROR STFQUIT
  1252.  
  1253.    END SELECT
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260. MAINERROR:
  1261.    
  1262.    UIPopAll
  1263.    END
  1264.  
  1265.  
  1266. STFERR_:
  1267.    RESUME NEXT
  1268.  
  1269. STFTOGGLEERR:
  1270.    RESUME NEXT
  1271.  
  1272. END SUB
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288. FUNCTION DoDatalens(BYVAL direction$) AS STRING
  1289.  
  1290.      DIM notused%, rc$, chptname$ 
  1291.    If direction$ = gBACK Then GOTO PARADOXUI
  1292.  
  1293.    
  1294.  
  1295. SQLUI:
  1296.  
  1297.    IF Lot_CallSharedTool("Lot_IsSQLSelected()") <> FALSE THEN
  1298.  
  1299.      
  1300.  
  1301.      notused% = RegisterCallback("SHARE", "SQLSERVERNAMECB")
  1302.      
  1303.          IF GetSymbolValue(SYM_AUTOMATIONINST$) = gTRUE$ THEN
  1304.             SetSymbolValue SYM_SQLSERVERNAME$, GetSymbolValue(SYM_AUTO_SQLSERVER)
  1305.          END IF
  1306.         direction$ = PopupModalDlg (DBM_SQL_SERVER_NAME, DBM_SQL_SERVER_NAME)
  1307.  
  1308.      IF direction$ = gBACK$ THEN
  1309.         DoDatalens = direction$
  1310.         EXIT FUNCTION
  1311.      END IF
  1312.    END IF
  1313.  
  1314.    
  1315. PARADOXUI:
  1316.  
  1317.    IF Lot_CallSharedTool("Lot_IsParadoxSelected()") <> FALSE THEN
  1318.  
  1319.      
  1320.       
  1321.      notused% = RegisterCallback("SHARE", "PARADOXNETWORKINFOCB")
  1322.      
  1323.          IF GetSymbolValue(SYM_AUTOMATIONINST$) = gTRUE$ THEN
  1324.         SetSymbolValue SYM_PARADOXNETWORKINFO$, GetSymbolValue(SYM_AUTO_PARADOXINFO$)
  1325.          END IF
  1326.  
  1327.      direction$ = PopupModalDlg (DBM_PARADOX_NETWORK_INFORMATION, DBM_PARADOX_NETWORK_INFORMATION )
  1328.  
  1329.      
  1330.  
  1331.      IF direction$ = gBACK$ THEN
  1332.         IF Lot_CallSharedTool("Lot_IsSQLSelected()") <> FALSE GOTO SQLUI
  1333.         DoDatalens = gBACK$
  1334.         EXIT FUNCTION
  1335.      END IF
  1336.    END IF
  1337.  
  1338.    DoDatalens = direction$
  1339.    
  1340. END FUNCTION
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355. FUNCTION NumberOfBytesPerBillbd() AS LONG
  1356.    DIM   n%, i%, costs&, nBillboards%, nProducts%
  1357.  
  1358.    
  1359.    costs& = LcbGetChapterCost("", "", SYM_COST$, "")
  1360.    n% = GetListLength(SYM_COST$)
  1361.    costs& = 0
  1362.    for i% = 1 to n%
  1363.       costs& = costs& + CLNG(GetListItem(SYM_COST$, i%))
  1364.    next
  1365.    nProducts% = Reg_GetNumberOfProducts()
  1366.    nBillboards% = Reg_GetBillboardNumber(1)
  1367.    If nBillboards% = 0 Then
  1368.       NumberOfBytesPerBillbd = 0
  1369.    Else
  1370.       NumberOfBytesPerBillbd = costs&\nBillboards%
  1371.    End If
  1372.  
  1373. END FUNCTION
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382. FUNCTION IsLotusappPromptNeeded() AS INTEGER
  1383. DIM dirWin$,dirLotusapp$,toPrompt%
  1384.    toPrompt% = 0
  1385.    
  1386.    dirWin$ = GetSymbolValue(SYM_WINDIR$)
  1387.    IF Reg_GetProdSupportforShare(Lot_GetCurrentProduct()) = 1 _
  1388.       AND DoesFileExist(dirWin$ + gLOTUSINI$, femExists) = 1 THEN
  1389.       dirLotusapp$ = GetIniKeyString(dirWin$ + gLOTUSINI$, "Lotus Applications", "Common Directory")
  1390.       IF dirLotusapp$ <> "" AND Lot_CheckPath(dirLotusapp$) <> 0 THEN
  1391.      IF DoesDirExist(dirLotusapp$) = 1 THEN
  1392.         toPrompt% = 0
  1393.      ELSE
  1394.         toPrompt% = 1
  1395.      END IF
  1396.       ELSE
  1397.      toPrompt% = 1
  1398.       END IF
  1399.    ELSEIF Reg_GetProdSupportforShare(Lot_GetCurrentProduct()) = 1 THEN
  1400.       toPrompt% = 1
  1401.    END IF
  1402.    IsLotusappPromptNeeded = toPrompt%
  1403. END FUNCTION
  1404.  
  1405.  
  1406. SUB SetTheBaseSymbol()
  1407.  
  1408.  
  1409. DIM network$, defBase$, lcbSpace&, defDir$, i%, nProducts%, spaceneeded&
  1410. DIM autobase$
  1411.    network$ = GetSymbolValue(SYM_NETWORK$)
  1412.    IF network$ = gSERVER$ THEN
  1413.       defBase$ = "lotus\"
  1414.    ELSEIF network$ = gDISTRIBUTION$ THEN
  1415.       defBase$ = "lotusdis\"
  1416.    ELSE
  1417.       IF GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
  1418.      defBase$ = ""
  1419.       ELSE
  1420.      defBase$ = "lotsuite\"
  1421.       END IF
  1422.    END IF
  1423.  
  1424.    
  1425.    lcbSpace& = 0
  1426.    nProducts% = Reg_GetNumberOfProducts()
  1427.    FOR i% = 1 to nProducts%
  1428.       lcbSpace& = lcbSpace& + Reg_GetProdMinSize(i%)
  1429.    NEXT
  1430.    defDir$ = Lot_GetAllHardDrive(spaceneeded&, defBase$)
  1431.    IF defDir$ = "" THEN 
  1432.       defDir$ = LCASE$(GetListItem(SYM_LOCALHARDDRIVES$, 1)) + ":\" + defBase$
  1433.    END IF
  1434.  
  1435.    
  1436.    IF GetSymbolValue(SYM_AUTOMATIONINST$) = gTRUE$ AND _
  1437.       GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSMARTSUITE$ THEN
  1438.       autobase$ = Lot_AutoGetBaseDirSymbol()
  1439.       IF autobase$ <> "" THEN
  1440.        defDir$ = autobase$
  1441.       ELSE    
  1442.        
  1443.        ErrorMsg SID_ERR_SETSYMBOLVALUE,"Base Directory entry Invalid" 
  1444.        ERROR STFQUIT
  1445.       END IF
  1446.    END IF    
  1447.     
  1448.    SetSymbolValue SYM_BASEDIR$, defDir$
  1449. END SUB
  1450.  
  1451. SUB InitInstall
  1452.    DIM hUser%, notused%
  1453.    DIM buf1 AS STRING : buf1$ = String$(80,0)
  1454.    DIM buf2 AS STRING : buf2$ = String$(80,0)
  1455.    DIM count%, network$
  1456.  
  1457.    
  1458.    SetUpAPI
  1459.  
  1460.    
  1461.    
  1462.    
  1463.  
  1464.    
  1465.    
  1466.    SetSymbolValue SYM_SINGLESMARTSUITE, gSINGLE$
  1467.  
  1468.    
  1469.    IF ENVIRON$(gLOTUS_COPYLIST$) <> "" THEN
  1470.       SetSymbolValue SYM_LOGFILE$, GetWindowsDir() + gCOPYLISTLOG$
  1471.    END IF
  1472.  
  1473.    
  1474.    Lot_InitializeWinWinsysSym
  1475.  
  1476.    
  1477.    SetSymbolValue SYM_DOSMAXPATHDIFF$,"20"
  1478.  
  1479.    
  1480.    
  1481.    Lot_InitializeEXTRA 
  1482.  
  1483.    
  1484.    hUser% = GetModuleHandle(gUSER$)
  1485.    notused% = LoadString (hUser%, USERNAME,    buf1$, 80)
  1486.    notused% = LoadString (hUser%, COMPANYNAME, buf2$, 80)
  1487.  
  1488.    FOR count% = (INSTR(buf1$, CHR$(0)) - 1) TO 1
  1489.        IF RIGHT$(buf1$, 1) <> CHR$(20) THEN
  1490.            EXIT FOR
  1491.        END IF
  1492.    NEXT
  1493.    IF count% < 0 THEN
  1494.        count% = 1
  1495.    END IF
  1496.    SetSymbolValue SYM_NAME$,    LEFT$(buf1$, count%)
  1497.    FOR count% = (INSTR(buf2$, CHR$(0)) - 1) TO 1
  1498.        IF RIGHT$(buf2$, 1) <> CHR$(20) THEN
  1499.            EXIT FOR
  1500.        END IF
  1501.    NEXT
  1502.    IF count% < 0 THEN
  1503.        count% = 1
  1504.    END IF
  1505.    SetSymbolValue SYM_COMPANY$, LEFT$(buf2$, count%)
  1506.  
  1507.  
  1508.  
  1509.    IF GetSymbolValue(SYM_AUTOMATIONINST$) = "1" THEN
  1510.        SetSymbolValue SYM_AUTOMATIONINST$, gTRUE$
  1511.    ELSE
  1512.           SetSymbolValue SYM_AUTOMATIONINST$, gFALSE$
  1513.    END IF
  1514.         
  1515.  
  1516.    
  1517.    
  1518.    IF INSTR(UCASE$(COMMAND$), "/N") <> 0 THEN
  1519.       SetSymbolValue SYM_NETWORK$, gNODE$
  1520.    ELSE 
  1521.      IF GetSymbolValue(SYM_AUTOMATIONINST$) = gTRUE$ THEN
  1522.     network$ = Lot_AutoGetInstallType()
  1523.     SetSymbolValue SYM_NETWORK$, network$
  1524.      ELSE
  1525.     SetSymbolValue SYM_NETWORK$, gSTANDARD$
  1526.      END IF     
  1527.    END IF
  1528.  
  1529.  
  1530.    
  1531.    
  1532.    
  1533.  
  1534.    
  1535.    
  1536.    SetTitle LdString(SID_TKT_STD_TITLE)
  1537.  
  1538.    
  1539.    SetCopyGaugePosition -1,32000
  1540.  
  1541. END SUB
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552. SUB ConfigureAUTOEXEC
  1553.    DIM n%, i%, notused%, notused1$, rc$
  1554.  
  1555.  
  1556. SetSymbolValue SYM_NEEDSHARE$, gFALSE$   
  1557. SetSymbolValue SYM_NEEDNOTES$, gFALSE$    
  1558.  
  1559. n% = Reg_GetNumberOfProducts()
  1560.  
  1561. FOR i% = 1 to n%
  1562.    IF Reg_GetSHAREEXESupport(i%) <> FALSE THEN
  1563.  
  1564.  
  1565.  
  1566.  
  1567.       IF IsShareInstalled() = FALSE THEN 
  1568.      SetSymbolValue SYM_NEEDSHARE$, gTRUE$    
  1569.      EXIT FOR
  1570.       END IF
  1571.    END IF
  1572. NEXT
  1573.  
  1574. FOR i% = 1 to n%
  1575.    IF Reg_GetNotesSupport(i%) <> FALSE THEN
  1576.       IF IsNotesInPath() = FALSE THEN
  1577.      SetSymbolValue SYM_NEEDNOTES$, gTRUE$    
  1578.      EXIT FOR
  1579.       END IF
  1580.    END IF
  1581. NEXT
  1582.  
  1583. IF GetSymbolValue(SYM_NEEDSHARE$) = gTRUE$ OR GetSymbolValue(SYM_NEEDNOTES$) = gTRUE$ THEN
  1584.   IF GetSymbolValue(SYM_AUTOMATIONINST$) <> gTRUE$ THEN
  1585.        notused% = RegisterCallback("CALLBACK", "AUTOEXECCB")
  1586.        notused1$ = PopupModalDlg(DB_AUTOEXEC, DB_AUTOEXEC)
  1587.  
  1588.        
  1589.        
  1590.        notused% = RegisterCallback("CALLBACK", "INSTALLCOMPLETECB")
  1591.  
  1592.        SELECT CASE GetSymbolValue(SYM_AUTOEXEC_CHOICE$)
  1593.  
  1594.           CASE "AUTO"
  1595.         notused1$ = PopupModalDlg(DB_SUCCESS_AUTO, DB_SUCCESS_AUTO)
  1596.  
  1597.           CASE "AUTOCOPY"   
  1598.         notused1$ = PopupModalDlg(DB_SUCCESS_AUTOCOPY, DB_SUCCESS_AUTOCOPY)
  1599.  
  1600.           CASE "MAN"
  1601.         notused1$ = PopupModalDlg(DB_SUCCESS_AUTOMAN, DB_SUCCESS_AUTOMAN)
  1602.  
  1603.       END SELECT
  1604.   ELSE
  1605.     notused% = Lot_AutoConfigureAutoexec()
  1606.         
  1607.        rc$ = PopupModalDlg(DB_SUCCESS, DB_SUCCESS)
  1608.   END IF
  1609.  
  1610. ELSE
  1611.    
  1612.    rc$ = PopupModalDlg(DB_SUCCESS, DB_SUCCESS)
  1613.  
  1614. END IF
  1615.  
  1616. END SUB
  1617.  
  1618. 
  1619. 
  1620.