home *** CD-ROM | disk | FTP | other *** search
/ On Hand / On_Hand_From_Softbank_1994_Release_2_Disc_1_1994.iso / 00001 / s / mproset.ms_ / mproset.bin
Text File  |  1993-09-23  |  40KB  |  1,527 lines

  1. '**************************************************************************
  2. '*                       ManagePro Setup
  3. '**************************************************************************
  4.  
  5. ''$DEFINE DEBUG  ''Define for script development/debugging
  6. '$DEFINE LOGIT  ''Define for script logfile
  7. ''$DEFINE UPIT   ''Define for upgrade version of serial number help
  8. ''$DEFINE PATIT  ''Define for patch diskette
  9. ''$DEFINE TENPK  ''Define for 10 packs
  10. '$DEFINE CDROM  ''Define for CD ROM
  11.  
  12. '$INCLUDE 'setupapi.inc'
  13. '$INCLUDE 'msdetect.inc'
  14.  
  15. ''Dialog ID's
  16. CONST WELCOME       = 100
  17. CONST ASKQUIT       = 200
  18. CONST DESTPATH      = 300
  19. CONST EXITFAILURE   = 400
  20. CONST EXITQUIT      = 600
  21. CONST EXITSUCCESS   = 700
  22. CONST OPTIONS       = 800
  23. CONST APPHELP       = 900
  24. CONST DESTPATH2     = 1000
  25. CONST CHECKMAIL     = 1100
  26. CONST CCMAILDLL     = 1300
  27. CONST MAILUPGRADE   = 1400
  28. CONST SHAREFILES    = 1500
  29. CONST SHAREPATH     = 1600
  30. CONST RUNCONVERT    = 1700
  31. CONST MANAGEOPTION  = 1800
  32. CONST CDBADSERIAL   = 2200
  33. CONST MANAGEHELP    = 2300
  34. CONST SHAREHELP     = 2400
  35. CONST CDCONFREINST  = 2600
  36. CONST CHECKOLDADFS  = 2800
  37. CONST CDWARNREINST  = 2900
  38. CONST CDFAILREINST  = 3000
  39. CONST BILLWELCOME   = 3100
  40. CONST BILLNEW         = 3200
  41. CONST BILLFLEX         = 3300
  42. CONST BILLNET         = 3400
  43. CONST BILLNEW3         = 3500
  44. CONST BILLNEW4         = 3600
  45. CONST BILLNEW5         = 3700
  46. CONST BILLNEW6         = 3800
  47. CONST BILLNEW7         = 4000
  48. CONST SHARESETTING  = 4100
  49. CONST CDBADUPSER      = 4200
  50. CONST CDGETUPNMORG  = 4300
  51. CONST WARNCONV      = 4400
  52. CONST PATCH          = 4500
  53. CONST PATCHWEL      = 4600
  54. CONST PATCH2      = 4700
  55. CONST EXITPATSUCCESS = 4900
  56. CONST TOOBIG        = 6300
  57. CONST BADPATH       = 6400
  58. CONST INSTALLPROC   = 6500
  59. CONST CDCONFIRMINFO = 7300
  60. CONST CDGETNAMEORG  = 7500
  61. CONST CDBADNAME     = 7700
  62. CONST BILLNEW2         = 7800
  63.  
  64. ''Bitmap ID
  65. CONST LOGO = 1
  66.  
  67. ''File Types
  68. CONST MPROFILES    = 1
  69. CONST CONVFILES    = 2
  70.  
  71. GLOBAL DEST$        ''Default destination directory.
  72. GLOBAL DEST2$       ''Upgrade directory.
  73. GLOBAL WINDRIVE$    ''Windows directory
  74. GLOBAL WIND$      ''Windows drive
  75. GLOBAL USERNAME$          ''User name
  76. GLOBAL USERORG$   ''User Organization
  77. GLOBAL USERSER$   ''User Organization
  78. GLOBAL CONFIRMTEXT$ ''Confirm name and org
  79. GLOBAL EMAILCUR$          ''Email type
  80. GLOBAL MAILDEST$          ''cc:Mail Directory
  81. GLOBAL MAILCFG$   ''Type of Mail system
  82. GLOBAL USENET$    ''Use network option (boolean)
  83. GLOBAL NETDEST$   ''Network Path
  84. GLOBAL MANAGE$    ''Configure for managers
  85. GLOBAL VERNO$     ''Previous version
  86. GLOBAL NEWVERNO$          ''Current version
  87. GLOBAL LOG1$    ''Debug logfile in windows dir
  88. GLOBAL LOG2$    ''Logfile in dest path
  89. GLOBAL LOGNAME$    ''Name of log file
  90. GLOBAL VERADF$    ''Adf files
  91. GLOBAL NOINST$    ''Number of installs
  92. GLOBAL PROGGROUP$ ''Install to program group
  93. GLOBAL GOODSER$    ''Whether or not the serial number is good
  94. GLOBAL NEEDINFO$  ''Get info
  95. GLOBAL WKGMOD$    ''Working Model
  96. GLOBAL INTL$    ''International Version
  97.  
  98. GLOBAL FUDGE&    ''Fudge factor on disk size
  99.  
  100. GLOBAL SKIP%    ''Skip adf file copy
  101. GLOBAL UPGRADE%    ''Upgrade
  102. GLOBAL TWOREINST% ''Reinstalling 2.0
  103.  
  104. ''CustInst list symbol names
  105. GLOBAL MPRONEEDS$    ''Option list costs per drive
  106. GLOBAL CONVNEEDS$
  107. GLOBAL EXTRACOSTS$  ''List of extra costs to add per drive
  108. GLOBAL BIGLIST$     ''List of option files cost calc results (boolean)
  109.  
  110. ''Dialog list symbol names
  111. GLOBAL CHECKSTATES$
  112. GLOBAL STATUSTEXT$
  113. GLOBAL DRIVETEXT$
  114. GLOBAL INSTALLCTL$
  115.  
  116.  
  117. DECLARE SUB AddOptFilesToCopyList (ftype%)
  118. DECLARE SUB RecalcOptFiles (ftype%)
  119. DECLARE SUB RecalcPath
  120. DECLARE SUB SetDriveStatus
  121. DECLARE SUB Install
  122. DECLARE SUB Control (szDir$)
  123.  
  124. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  125.  
  126. DECLARE FUNCTION checkSerNo LIB "MPROSETU.DLL" (SerNo$)
  127. DECLARE FUNCTION setIntlAttrib LIB "MPROSETU.DLL" (CtlFile$, bOn%)
  128. DECLARE FUNCTION checkPreviousInstalls LIB "MPROSETU.DLL" (SrcPath$)
  129. DECLARE FUNCTION updateControlFile LIB "MPROSETU.DLL" (OldPath$, SrcPath$, szNeedInfo$, bUpgrade%)
  130.  
  131. INIT:
  132. '$IFDEF LOGIT
  133.     LOGNAME$ = "LOGFILE.OUT"
  134.     LOG1$ = ""
  135.     LOG2$ = ""
  136.     LOG1$ = MakePath(GetWindowsDir, LOGNAME$)
  137.     OpenLogFile LOG1$, 0
  138.     WriteToLogFile "Initialization"
  139. '$ENDIF ''LOGIT
  140.  
  141.     ''User has 3.0 so quit
  142.     versionBad% = 0
  143.     IF GetWindowsMinorVersion() = 0 AND GetWindowsMajorVersion() = 3 THEN
  144.     versionBad% = 1
  145.     END IF
  146.     IF GetWindowsMajorVersion() < 3 THEN
  147.     versionBad% = 1
  148.     END IF
  149.     IF versionBad% THEN
  150.     i% = DoMsgBox("ManagePro 2.0 requires Windows 3.1++.  Please upgrade your system and reinstall.", "Setup", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  151.     '$IFDEF LOGIT
  152.         CloseLogFile
  153.     '$ENDIF ''LOGIT
  154.     GOTO ENDLOC
  155.     END IF
  156.  
  157.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  158.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  159.  
  160.     SetBitmap CUIDLL$, LOGO
  161.     SetTitle "ManagePro Setup"
  162.  
  163.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  164.     IF szInf$ = "" THEN
  165.       szInf$ = GetSymbolValue("STF_CWDDIR") + "MPROSET.INF"
  166.     END IF
  167.     ReadInfFile szInf$
  168.     SetSymbolValue "STF_TIME", "1"
  169.  
  170.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  171.     '$IFDEF PATIT
  172.     DEST$ = GetIniKeyString("WIN.INI","ManagePro","HomePath")
  173.     '$ELSE
  174.     DEST$ = WINDRIVE$ + ":\MPRO20"
  175.     '$ENDIF ''PATIT
  176.     DEST2$ = GetIniKeyString("WIN.INI","ManagePro","HomePath")
  177.     ''Put dlls into system directory
  178.     WIND$ = GetWindowsSysDir
  179.     USERNAME$ = ""
  180.     USERORG$ = ""
  181.     USERSER$ = ""
  182.     CONFIRMTEXT$ = ""
  183.     EMAILCUR$ = "4"
  184.     MAILDEST$ = GetIniKeyString("WIN.INI", "cc:Mail", "ProgramPath")
  185.     USENET$ = ""
  186.     NETDEST$ = ""
  187.     MAILCFG$ = "0"
  188.     MANAGE$ = "0"
  189.     VERNO$ = "120"
  190.     NEWVERNO$ = "200"
  191.     VERADF$ = "0"
  192.     NOINST$ = "0"
  193.     PROGGROUP$ = "ManagePro"
  194.     GOODSER$ = "0"
  195.     NEEDINFO$ = "0"
  196.     WKGMOD$ = "0"
  197.     INTL$ = "0"
  198.  
  199.     FUDGE& = 500000
  200.  
  201.     SKIP% = 0
  202.     UPGRADE% = 0
  203.     TWOREINST% = 0
  204.  
  205.     ''CustInst list symbols
  206.     CHECKSTATES$ = "CheckItemsState"
  207.     STATUSTEXT$  = "StatusItemsText"
  208.     DRIVETEXT$   = "DriveStatusText"
  209.     CONFIRMTEXT$ = "ConfirmTextIn"
  210.     ''Install Control structure of sorts in this order:
  211.     ''   Version 100/120/160/170/200
  212.     ''   Number of Installs
  213.     ''   Name of User
  214.     ''   Company
  215.     ''   Serial Number
  216.     ''   Working Model 1/0
  217.     ''   International Version 1/0
  218.  
  219.     INSTALLCTL$ = "InstCtl"
  220.     FOR i% = 1 TO 2 STEP 1
  221.       IF i% = 2 THEN
  222.         ''Check convert if there is a homepath
  223.         IF DEST2$ <> "" THEN
  224.           AddListItem CHECKSTATES$, "ON"
  225.         ELSE
  226.           AddListItem CHECKSTATES$, "OFF"
  227.         END IF
  228.       ELSE
  229.           AddListItem CHECKSTATES$, "ON"
  230.       END IF
  231.     NEXT i%
  232.     FOR i% = 1 TO 2 STEP 1
  233.     AddListItem STATUSTEXT$, ""
  234.     NEXT i%
  235.     FOR i% = 1 TO 7 STEP 1
  236.     AddListItem DRIVETEXT$, ""
  237.     NEXT i%
  238.     ReplaceListItem DRIVETEXT$, 7, DEST$
  239.     FOR i% = 1 TO 7 STEP 1
  240.     AddListItem INSTALLCTL$, ""
  241.     NEXT i%
  242.  
  243.     ''Disk cost list symbols
  244.     MPRONEEDS$  = "MproNeeds"
  245.     CONVNEEDS$  = "ConvNeeds"   
  246.     EXTRACOSTS$ = "ExtraCosts"
  247.     BIGLIST$    = "BigList"
  248.     FOR i% = 1 TO 2 STEP 1
  249.       AddListItem BIGLIST$, ""
  250.     NEXT i%
  251.     FOR i% = 1 TO 26 STEP 1
  252.     AddListItem EXTRACOSTS$, "0"
  253.     NEXT i%
  254.  
  255.     '$IFNDEF PATIT
  256.     RecalcPath
  257.     SetDriveStatus
  258.     '$ENDIF ''PATIT
  259.  
  260. '$IFDEF DEBUG
  261.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  262.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  263.     IF IsDriveValid(WinDrive$) = 0 THEN
  264.     i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  265.     GOTO QUIT
  266.     END IF
  267. '$ENDIF ''DEBUG
  268.  
  269. '$IFDEF LOGIT
  270.     WriteToLogFile "  Initialization section complete"
  271. '$ENDIF ''LOGIT
  272.  
  273.  
  274. '$IFDEF PATIT
  275. IF DEST$ = "" THEN
  276.     GOTO GETPATH
  277. END IF
  278. '$ENDIF ''PATIT
  279.  
  280. WELCOME:
  281. '$IFDEF LOGIT
  282.     WriteToLogFile "Welcome"
  283. '$ENDIF ''LOGIT
  284.  
  285. '$IFDEF PATIT
  286.     SrcDir$ = DEST$
  287. '$ELSE
  288.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  289. '$ENDIF ''PATIT
  290.     AddListItem INSTALLCTL$, VERNO$
  291.     reinst% = checkPreviousInstalls(SrcDir$)
  292. '$IFDEF PATIT
  293.     sz$ = UIStartDlg(CUIDLL$, PATCHWEL, "FInfoDlgProc", APPHELP, HELPPROC$)
  294. '$ELSE
  295.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  296. '$ENDIF ''PATIT
  297.     VERNO$ = GetListItem( INSTALLCTL$, 1 )
  298. '$IFNDEF TENPK
  299.     NOINST$ = GetListItem( INSTALLCTL$, 2 )
  300. '$ENDIF ''TENPK                                
  301.     USERNAME$ = GetListItem( INSTALLCTL$, 3 )
  302.     USERORG$ = GetListItem( INSTALLCTL$, 4 )
  303.     USERSER$ = GetListItem( INSTALLCTL$, 5 )
  304.     WKGMOD$ = GetListItem( INSTALLCTL$, 6 )
  305.     INTL$ = GetListItem( INSTALLCTL$, 7 )
  306.  
  307.     IF sz$ = "CONTINUE" THEN
  308.     '$IFDEF PATIT
  309.     UIPop 1
  310.     GOTO PATCHCHECK
  311.     '$ELSE
  312.     IF WKGMOD$ = "1" THEN
  313.         UIPop 1
  314.       ELSE
  315.         ''Re-installation - confirm continue
  316.         IF reinst% = 1 THEN
  317.             ''Confirm re-installation
  318.             IF NOINST$ <> "0" THEN
  319.                 GOSUB CDCONFREINST
  320.             END IF
  321.               UIPop 1
  322.         ELSEIF reinst% = 2 THEN
  323.             GOSUB CDWARNREINST
  324.             UIPop 1
  325.         ELSEIF reinst% = 0 THEN
  326.             GOSUB CDFAILREINST
  327.             UIPop 1
  328.             ERROR STFQUIT
  329.           ELSE
  330.             UIPop 1
  331.         END IF
  332.       END IF
  333.     '$ENDIF ''PATIT
  334.     ELSEIF sz$ = "REACTIVATE" THEN
  335.     GOTO WELCOME
  336.     '$IFDEF PATIT
  337.     ELSEIF sz$ = "BACK" THEN
  338.     UIPop 1
  339.     GOTO GETPATH
  340.     '$ENDIF ''PATIT
  341.     ELSE
  342.     GOSUB ASKQUIT
  343.     GOTO WELCOME
  344.     END IF
  345.  
  346.  
  347. OPTIONS:
  348. '$IFDEF LOGIT
  349.     WriteToLogFile "Options"
  350. '$ENDIF ''LOGIT
  351.     RecalcOptFiles MPROFILES
  352.     RecalcOptFiles CONVFILES
  353.     SetDriveStatus
  354. OPTIONSL1:
  355.     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FCustInstDlgProc", APPHELP, HELPPROC$)
  356.  
  357.     IF sz$ = "CONTINUE" THEN
  358.       UIPop 1
  359.       IF GetListItem(CHECKSTATES$, CONVFILES) = "OFF" THEN
  360.         ''User had old Mpro, but doesn't have convert checked
  361.         IF DEST2$ <> "" THEN
  362.             GOSUB WARNCONV
  363.         END IF
  364.       END IF
  365.       IF GetListItem(CHECKSTATES$, CONVFILES) = "ON" THEN
  366.         UPGRADE% = 1
  367.       END IF
  368.       IF UPGRADE% = 1 THEN
  369.         GOTO GETCONVPATH
  370.       END IF
  371.     ELSEIF sz$ = "CHK1" THEN
  372.       RecalcOptFiles MPROFILES
  373.       SetDriveStatus
  374.       GOTO OPTIONS
  375.     ELSEIF sz$ = "CHK2" THEN
  376.       RecalcOptFiles CONVFILES
  377.       SetDriveStatus
  378.       GOTO OPTIONS
  379.     ELSEIF sz$ = "REACTIVATE" THEN
  380.       RecalcPath
  381.       SetDriveStatus
  382.       GOTO OPTIONSL1
  383.     ELSE
  384.     GOSUB ASKQUIT
  385.       GOTO OPTIONS
  386.     END IF
  387.  
  388.  
  389. GETPATH:
  390. '$IFDEF LOGIT
  391.     WriteToLogFile "Dest Path"
  392. '$ENDIF ''LOGIT
  393.     SetSymbolValue "EditTextIn", DEST$
  394.     SetSymbolValue "EditFocus", "END"
  395.     SetSymbolValue "Combo", "1"
  396. GETPATHL1:
  397. '$IFDEF PATIT
  398.     sz$ = UIStartDlg(CUIDLL$, PATCH, "FEditDlgProc", APPHELP, HELPPROC$)
  399. '$ELSE
  400.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  401. '$ENDIF ''PATIT
  402.     DEST$ = GetSymbolValue("EditTextOut")
  403. '$IFNDEF PATIT
  404.     PROGGROUP$ = GetSymbolValue("ProgramGroupOut")
  405. '$ENDIF
  406.  
  407.     IF sz$ = "CONTINUE" THEN
  408.     IF IsDirWritable(DEST$) = 0 THEN
  409.         GOSUB BADPATH
  410.         GOTO GETPATHL1
  411.     END IF
  412.     ''Install only if it will fit.
  413.     RecalcOptFiles MPROFILES
  414.     RecalcOptFiles CONVFILES
  415.     SetDriveStatus
  416.     FOR i% = 1 TO 2 STEP 1
  417.       IF GetListItem(BIGLIST$, i%) <> "" THEN
  418.           GOSUB TOOBIG
  419.         GOTO GETPATHL1
  420.       END IF
  421.     NEXT i%
  422.     UIPop 1
  423.     '$IFDEF PATIT
  424.     GOTO WELCOME
  425.     '$ELSE
  426.     IF WKGMOD$ = "1" THEN
  427.         GOTO CHECKMAIL
  428.     ELSE
  429.         ''Only get info if the user has never installed
  430.         IF NOINST$ = "0" THEN
  431.             GOTO CDGETNAMEORG
  432.         ELSE
  433.             GOTO CHECKMAIL
  434.         END IF
  435.     END IF
  436.         '$ENDIF ''PATIT
  437.     ELSEIF sz$ = "REACTIVATE" THEN
  438.     '$IFDEF PATIT
  439.     GOTO GETPATH
  440.     '$ELSE
  441.     GOTO GETPATHL1
  442.     '$ENDIF
  443.     '$IFNDEF PATIT
  444.     ELSEIF sz$ = "BACK" THEN
  445.     UIPop 1
  446.     '$ENDIF ''PATIT
  447.     ELSE
  448.     GOSUB ASKQUIT
  449.     GOTO GETPATHL1
  450.     END IF
  451.  
  452.  
  453. GETCONVPATH:
  454. '$IFDEF LOGIT
  455.     WriteToLogFile "Convert & Dest Path"
  456. '$ENDIF ''LOGIT
  457.     SetSymbolValue "EditTextIn", DEST2$
  458.     SetSymbolValue "EditTextIn2", DEST$
  459.     SetSymbolValue "EditFocus", "END"
  460.     SetSymbolValue "Combo", "1"
  461. GETCONVPATHL1:
  462.     sz$ = UIStartDlg(CUIDLL$, DESTPATH2, "FEditDlgProc", APPHELP, HELPPROC$)
  463.     DEST2$ = GetSymbolValue("EditTextOut")
  464.     DEST$ = GetSymbolValue("EditTextOut2")
  465.     PROGGROUP$ = GetSymbolValue("ProgramGroupOut")
  466.  
  467.     IF sz$ = "CONTINUE" THEN
  468.     IF IsDirWritable(DEST$) = 0 THEN
  469.         GOSUB BADPATH
  470.         GOTO GETCONVPATHL1
  471.     END IF
  472.     '' Re-install of 2.0, get old version
  473.     IF VERNO$ = "200" THEN
  474.             TWOREINST% = 1
  475.     END IF
  476.     chkadfs% = 0
  477.     IF TWOREINST% = 1 THEN
  478.             chkadfs% = 1
  479.     END IF
  480.     '' No previous path, check if they want old adfs
  481.     IF DEST2$ = "" THEN
  482.           chkadfs% = 1
  483.     END IF
  484.     ''No adf or adn or ins file in upgrade directory, check if they want
  485.     ''old adfs
  486.     IF DEST2$ <> "" THEN
  487.         IF DoesFileExist( MakePath( DEST2$, "MPRO.ADF" ), femExists ) = 0 THEN
  488.             chkadfs% = 1
  489.         END IF
  490.         IF DoesFileExist( MakePath( DEST2$, "MPRO.ADN" ), femExists ) = 0 THEN
  491.             chkadfs% = 1
  492.         END IF
  493.         IF DoesFileExist( MakePath( DEST2$, "MPRO.INS" ), femExists ) = 0 THEN
  494.             chkadfs% = 1
  495.         END IF
  496.         IF DoesFileExist( MakePath( DEST2$, "MPRO.INI" ), femExists ) = 0 THEN
  497.             chkadfs% = 1
  498.         END IF
  499.     END IF
  500.     '$IFDEF CDROM
  501.         chkadfs% = 1
  502.       '$ENDIF ''CDROM
  503.     IF chkadfs% = 1 THEN
  504.         GOSUB CHECKOLDADFS
  505.     END IF
  506.     IF VERADF$ = "0" THEN
  507.           IF SKIP% = 0 THEN
  508.             IF IsDirWritable(DEST2$) = 0 THEN
  509.                 GOSUB BADPATH
  510.                 GOTO GETCONVPATHL1
  511.             END IF
  512.         END IF
  513.     END IF
  514.     ''Install only if it will fit.
  515.     RecalcOptFiles MPROFILES
  516.     RecalcOptFiles CONVFILES
  517.     SetDriveStatus
  518.     FOR i% = 1 TO 2 STEP 1
  519.         IF GetListItem(BIGLIST$, i%) <> "" THEN
  520.           GOSUB TOOBIG
  521.         GOTO GETCONVPATHL1
  522.         END IF
  523.       NEXT i%
  524.     UIPop 1
  525.     IF WKGMOD$ = "1" THEN
  526.         GOTO CHECKMAIL
  527.       ELSE
  528.         IF DEST2$ <> "" THEN
  529.             IF chkadfs% = 0 THEN
  530.                 GOTO CHECKMAIL
  531.             END IF
  532.           END IF 
  533.         IF NOINST$ <> "0" THEN
  534.             GOTO CHECKMAIL
  535.         END IF
  536.         ''Fall through and get info
  537.     END IF
  538.     ELSEIF sz$ = "REACTIVATE" THEN
  539.     GOTO GETCONVPATHL1
  540.     ELSEIF sz$ = "BACK" THEN
  541.     UIPop 1
  542.     GOTO OPTIONS
  543.     ELSE
  544.     GOSUB ASKQUIT
  545.     GOTO GETCONVPATH
  546.     END IF
  547.  
  548.  
  549. CDGETNAMEORG:
  550.     NEEDINFO$ = "1"
  551.     SetSymbolValue "EditFocus", "END"
  552. '$IFDEF TENPK
  553.     SetSymbolValue "EditTextIn3", USERSER$
  554. '$ELSE 
  555.     SetSymbolValue "EditTextIn3", ""
  556. '$ENDIF ''TENPK
  557.     ''No initializing here b/c only done with new install, conv or no conv
  558. GETNAMEORGL1:
  559. '$IFDEF UPIT
  560.     sz$ = UIStartDlg(CUIDLL$, CDGETUPNMORG, "FNameOrgDlgProc", APPHELP, HELPPROC$)
  561. '$ELSE
  562.     sz$ = UIStartDlg(CUIDLL$, CDGETNAMEORG, "FNameOrgDlgProc", APPHELP, HELPPROC$)
  563. '$ENDIF ''UPIT
  564.     USERNAME$ = GetSymbolValue("NameOut")
  565.     USERORG$ = GetSymbolValue("OrgOut")
  566.     USERSER$ = GetSymbolValue("SerOut")
  567.     ''Only check serial number return if a new install
  568.     ''GOODSER$ = GetSymbolValue("SerOkOut")
  569.     serok% = checkSerNo(USERSER$)
  570.  
  571.     IF sz$ = "CONTINUE" THEN
  572.     ''Continue only if name and organization are complete
  573.     '' no name
  574.     IF USERNAME$ = "" THEN
  575.         GOTO CDBADNAME
  576.         GOTO GETNAMEORGL1
  577.       '' blank serial number
  578.     ELSEIF USERSER$ = "" THEN
  579.         GOTO CDBADSERIAL
  580.         GOTO GETNAMEORGL1
  581.       '' bad - didn't verify - serial number
  582.     ''ELSEIF GOODSER$ = "0" THEN
  583.     ELSEIF serok% = 0 THEN
  584.     '$IFDEF UPIT
  585.           GOTO CDBADUPSER
  586.       '$ELSE
  587.         GOTO CDBADSERIAL
  588.     '$ENDIF ''UPIT
  589.         GOTO GETNAMEORGL1
  590.     ELSE
  591.         GOTO CDCONFIRMINFO
  592.     END IF
  593.     ELSEIF sz$ = "REACTIVATE" THEN
  594.     GOTO GETNAMEORGL1
  595.     ELSEIF sz$ = "BACK" THEN
  596.     NEEDINFO = "0"
  597.     UIPop 1
  598.     IF UPGRADE% = 1 THEN
  599.         GOTO GETCONVPATH
  600.     ELSE
  601.         GOTO GETPATH
  602.     END IF
  603.     ELSE
  604.     GOSUB ASKQUIT
  605.     GOTO CDGETNAMEORG
  606.     END IF
  607.  
  608.  
  609. CHECKMAIL:
  610.     ''Install control
  611. '$IFDEF LOGIT
  612.     WriteToLogFile "Email and Control File"
  613. '$ENDIF ''LOGIT
  614. '$IFNDEF CDROM
  615.    srcDir$ = GetSymbolValue("STF_SRCDIR")
  616.    Control(srcDir$)
  617. '$ENDIF ''CDROM
  618.    ''Default to none
  619.     SetSymbolValue "RadioDefault", EMAILCUR$
  620. CHECKMAIL1:
  621.     sz$ = UIStartDlg(CUIDLL$, CHECKMAIL, "FRadioDlgProc", APPHELP, HELPPROC$)
  622.     EMAILCUR$ = GetSymbolValue("ButtonChecked")
  623.  
  624.     IF sz$ = "CONTINUE" THEN
  625.     '$IFDEF DEBUG
  626.         i% = DoMsgBox("Version "+VERNO$, "DEBUG", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  627.     '$ENDIF ''DEBUG
  628.       IF UPGRADE% = 1 THEN
  629.         ''Could never have the case where there is not old dir when = new
  630.         IF MakePath(DEST$,LOGNAME$) = MakePath(DEST2$,LOGNAME$) THEN
  631.         IF DoesFileExist( MakePath( DEST2$, "MPRO.INI" ), femExists ) = 1 THEN
  632.             ''Backup ini file so you don't step on it
  633.             BackupFile MakePath(DEST2$,"MPRO.INI"), "MPRO.120"
  634.         END IF
  635.         END IF
  636.       END IF
  637.       UIPop 1
  638.       ''cc:Mail 1.1+
  639.     IF EMAILCUR$ = "1" THEN
  640.           MAILCFG$ = "1"
  641.         GOTO CCMAILDLL
  642.       ''cc:Mail 1.0 - no support
  643.     ELSEIF EMAILCUR$ = "2" THEN
  644.         MAILCFG$ = "0"
  645.         GOTO MAILUPGRADE
  646.     ''MS Mail
  647.     ELSEIF EMAILCUR$ = "3" THEN
  648.         MAILCFG$ = "2"
  649.         GOTO SHAREFILES
  650.     ''None
  651.     ELSE
  652.         MAILCFG$ = "0"
  653.         GOTO SHAREFILES
  654.     END IF
  655.     ELSEIF sz$ = "REACTIVATE" THEN
  656.     GOTO CHECKMAIL
  657.     ELSEIF sz$ = "BACK" THEN
  658.     UIPop 1
  659.     IF UPGRADE% = 1 THEN
  660.           IF WKGMOD$ = "1" THEN
  661.             GOTO GETCONVPATH
  662.             ELSE
  663.             ''Go back to conv/path if previous install
  664.               IF NOINST$ <> "0" THEN
  665.                 GOTO GETCONVPATH
  666.             ''Go back to conv/path if upgrade path
  667.             ELSEIF DEST2$ <> "" THEN
  668.                 GOTO GETCONVPATH
  669.             ''Go back to get info
  670.             ELSE
  671.                 GOTO CDGETNAMEORG
  672.             END IF
  673.             END IF
  674.     ELSEIF NOINST$ = "0" THEN
  675.         IF WKGMOD$ = "1" THEN
  676.             GOTO GETPATH
  677.           ELSE
  678.             GOTO CDGETNAMEORG
  679.           END IF
  680.     ELSE
  681.           GOTO GETPATH
  682.     END IF
  683.     ELSE
  684.     GOSUB ASKQUIT
  685.     GOTO CHECKMAIL
  686.     END IF
  687.  
  688.  
  689. CCMAILDLL:
  690.     SetSymbolValue "EditTextIn", MAILDEST$
  691.     SetSymbolValue "EditFocus", "END"
  692.     SetSymbolValue "Combo", "0"
  693. MAILDLL1:
  694.     sz$ = UIStartDlg(CUIDLL$, CCMAILDLL, "FEditDlgProc", APPHELP, HELPPROC$)
  695.     MAILDEST$ = GetSymbolValue("EditTextOut")
  696.  
  697.     IF sz$ = "CONTINUE" THEN
  698.     IF IsDirWritable(MAILDEST$) = 0 THEN
  699.         GOSUB BADPATH
  700.         GOTO MAILDLL1
  701.     END IF
  702.     UIPop 1
  703.     ELSEIF sz$ = "REACTIVATE" THEN
  704.     GOTO MAILDLL1
  705.     ELSEIF sz$ = "BACK" THEN
  706.     UIPop 1
  707.     GOTO CHECKMAIL
  708.     ''Exit really means skip it
  709.     ELSE
  710.     EMAILCUR$ = "4"
  711.     MAILCFG$ = "0"
  712.     UIPop 1
  713.     GOTO SHAREFILES
  714.     END IF
  715.  
  716.  
  717. SHAREFILES:
  718.     sz$ = UIStartDlg(CUIDLL$, SHAREFILES, "FInfoDlgProc", SHAREHELP, HELPPROC$)
  719.  
  720.     ''Continue is really Yes
  721.     IF sz$ = "CONTINUE" THEN
  722.     USENET$ = "YES"
  723.     UIPop 1
  724.     ELSEIF sz$ = "REACTIVATE" THEN
  725.     GOTO SHAREFILES
  726.     ''Back is really No
  727.     ELSEIF sz$ = "BACK" THEN
  728.     USENET$ = ""
  729.     UIPop 1
  730.     GOTO MANAGEOPTION
  731.     ELSE
  732.     GOSUB ASKQUIT
  733.     GOTO SHAREFILES
  734.     END IF
  735.  
  736.  
  737. SHAREPATH:
  738.     SetSymbolValue "EditTextIn", NETDEST$
  739.     SetSymbolValue "EditFocus", "END"
  740.     SetSymbolValue "Combo", "0"
  741. SHAREPATH1:
  742.     sz$ = UIStartDlg(CUIDLL$, SHAREPATH, "FEditDlgProc", SHAREHELP, HELPPROC$)
  743.     NETDEST$ = GetSymbolValue("EditTextOut")
  744.  
  745.     IF sz$ = "CONTINUE" THEN
  746.     IF IsDirWritable(NETDEST$) = 0 THEN
  747.         GOSUB BADPATH
  748.         GOTO SHAREPATH1
  749.     END IF
  750.     ''Remind user to put SHARE on
  751.     GOSUB SHARESETTING
  752.     UIPop 1
  753.     ELSEIF sz$ = "REACTIVATE" THEN
  754.     GOTO SHAREPATH1
  755.     ELSEIF sz$ = "BACK" THEN
  756.     UIPop 1
  757.     GOTO SHAREFILES
  758.     ELSE
  759.     GOSUB ASKQUIT
  760.     GOTO SHAREPATH1
  761.     END IF
  762.  
  763.  
  764. MANAGEOPTION:
  765.     sz$ = UIStartDlg(CUIDLL$, MANAGEOPTION, "FInfoDlgProc", MANAGEHELP, HELPPROC$)
  766.  
  767.     ''Continue is really Yes
  768.     IF sz$ = "CONTINUE" THEN
  769.     MANAGE$ = "1"
  770.     UIPop 1
  771.     ELSEIF sz$ = "REACTIVATE" THEN
  772.     GOTO MANAGEOPTION
  773.     ''Back is really No
  774.     ELSEIF sz$ = "BACK" THEN
  775.       MANAGE$ = "0"
  776.     UIPop 1
  777.     ELSE
  778.     GOSUB ASKQUIT
  779.     GOTO MANAGEOPTION
  780.     END IF
  781.  
  782.  
  783. INSTALLPROC:
  784.     Install
  785.  
  786.  
  787. QUIT:
  788.     '$IFDEF LOGIT
  789.     WriteToLogFile "Quit"
  790.     '$ENDIF ''LOGIT
  791.     ON ERROR GOTO ERRQUIT
  792.  
  793.     IF ERR = 0 THEN
  794.     '$IFDEF PATIT
  795.     dlg% = EXITPATSUCCESS
  796.       '$ELSE
  797.     dlg% = EXITSUCCESS
  798.     '$ENDIF ''PATIT
  799.     ELSEIF ERR = STFQUIT THEN
  800.     dlg% = EXITQUIT
  801.     ELSE
  802.     dlg% = EXITFAILURE
  803.     END IF
  804. QUITL1:
  805.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  806.     IF sz$ = "REACTIVATE" THEN
  807.     GOTO QUITL1
  808.     END IF
  809.     IF ERR = 0 THEN
  810.     UIPop 1
  811.     '$IFDEF LOGIT
  812.         CloseLogFile
  813.         RemoveFile LOG2$, cmoNone
  814.     '$ENDIF ''LOGIT
  815.     IF UPGRADE% = 0 THEN
  816.         GOTO ENDLOC
  817.       END IF
  818.     ELSE
  819.     '$IFDEF LOGIT
  820.         CloseLogFile
  821.     '$ENDIF ''LOGIT
  822.     GOTO ENDLOC
  823.     END IF
  824.  
  825.  
  826. RUNCONVERT:
  827.     sz$ = UIStartDlg(CUIDLL$, RUNCONVERT, "FInfoDlgProc", APPHELP, HELPPROC$)
  828.  
  829.     ''Continue is really Yes
  830.     IF sz$ = "CONTINUE" THEN
  831.     UIPop 1
  832.     RUN(MakePath(DEST$,"CONVERT.EXE")+" /B")
  833.     ELSEIF sz$ = "REACTIVATE" THEN
  834.     GOTO RUNCONVERT
  835.     ''Back is really No
  836.     ELSEIF sz$ = "BACK" THEN
  837.     UIPop 1
  838.     ELSE
  839.     GOSUB ASKQUIT
  840.     GOTO RUNCONVERT
  841.     END IF
  842.                   
  843.  
  844. ENDLOC:
  845.     i% = RestartListEmpty()
  846.     IF i% = 0 THEN
  847.     WHILE i% = 0
  848.         j% = DoMsgBox("Windows needs to be reloaded to complete your setup.  Please close any MS-DOS windows and press OK.", "Restarting Windows", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  849.         k% = ExitExecRestart()
  850.     WEND
  851.     END IF
  852.     END
  853.  
  854.  
  855. ERRQUIT:
  856.     i% = DoMsgBox("Setup sources were corrupted, call 510-654-4600!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  857.     END
  858.  
  859.  
  860.  
  861. TOOBIG:
  862.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  863.     IF sz$ = "REACTIVATE" THEN
  864.     RecalcPath
  865.     SetDriveStatus
  866.     GOTO TOOBIG
  867.     END IF
  868.     UIPop 1
  869.     RETURN
  870.  
  871.  
  872. BADPATH:
  873.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  874.     IF sz$ = "REACTIVATE" THEN
  875.     GOTO BADPATH
  876.     END IF
  877.     UIPop 1
  878.     RETURN
  879.  
  880.  
  881. CDBADNAME:
  882.     sz$ = UIStartDlg(CUIDLL$, CDBADNAME, "FInfo0DlgProc", 0, "")
  883.     IF sz$ = "REACTIVATE" THEN
  884.     GOTO CDBADNAME
  885.     END IF
  886.     UIPop 1
  887.     GOTO GETNAMEORGL1
  888.  
  889.  
  890. CDBADSERIAL:
  891.     sz$ = UIStartDlg(CUIDLL$, CDBADSERIAL, "FInfo0DlgProc", 0, "")
  892.     IF sz$ = "REACTIVATE" THEN
  893.     GOTO CDBADSERIAL
  894.     END IF
  895.     UIPop 1
  896.     GOTO GETNAMEORGL1
  897.  
  898.  
  899.  
  900. CDBADUPSER:
  901.     sz$ = UIStartDlg(CUIDLL$, CDBADUPSER, "FInfo0DlgProc", 0, "")
  902.     IF sz$ = "REACTIVATE" THEN
  903.     GOTO CDBADUPSER
  904.     END IF
  905.     UIPop 1
  906.     GOTO GETNAMEORGL1
  907.  
  908.  
  909.  
  910. CDCONFIRMINFO:
  911.     SetSymbolValue CONFIRMTEXT$, ""
  912.     AddListItem CONFIRMTEXT$, "Name: "+USERNAME$
  913.     AddListItem CONFIRMTEXT$, "Company: "+USERORG$
  914.     AddListItem CONFIRMTEXT$, "Serial No: "+USERSER$
  915. CONFIRM1:
  916.     sz$ = UIStartDlg(CUIDLL$, CDCONFIRMINFO, "FConfirmDlgProc", 0, "")
  917.     IF sz$ = "CONTINUE" THEN
  918.     UIPop 2
  919.     GOTO CHECKMAIL
  920.     ELSEIF sz$ = "REACTIVATE" THEN
  921.     GOTO CONFIRM1
  922.     ELSEIF sz$ = "BACK" THEN
  923.     UIPop 1
  924.     GOTO CDGETNAMEORG
  925.     '' Exit and Cancel
  926.     ELSE
  927.     GOSUB ASKQUIT
  928.     GOTO CDCONFIRMINFO
  929.     END IF
  930.     RETURN
  931.  
  932.  
  933. CDWARNREINST:
  934.     ''SetSymbolValue CONFIRMTEXT$, ""
  935.     AddListItem CONFIRMTEXT$, USERNAME$
  936.     AddListItem CONFIRMTEXT$, NOINST$
  937. REWARN1:
  938.     sz$ = UIStartDlg(CUIDLL$, CDWARNREINST, "FConfirmDlgProc", 0, "")
  939.     IF sz$ = "CONTINUE" THEN
  940.     ELSEIF sz$ = "REACTIVATE" THEN
  941.     GOTO REWARN1
  942.     '' Exit and Cancel
  943.     ELSE
  944.     GOSUB ASKQUIT
  945.     END IF
  946.     UIPop 1
  947.     RETURN
  948.  
  949.  
  950. CDFAILREINST:
  951.     ''SetSymbolValue CONFIRMTEXT$, ""
  952.     AddListItem CONFIRMTEXT$, USERNAME$
  953.     AddListItem CONFIRMTEXT$, NOINST$
  954. REFAIL1:
  955.     sz$ = UIStartDlg(CUIDLL$, CDFAILREINST, "FConfirmDlgProc", 0, "")
  956.     IF sz$ = "REACTIVATE" THEN
  957.     GOTO REFAIL1
  958.     '' Exit and Cancel
  959.     END IF
  960.     UIPop 1
  961.     RETURN
  962.  
  963.  
  964. CDCONFREINST:
  965.     ''SetSymbolValue CONFIRMTEXT$, ""
  966.     AddListItem CONFIRMTEXT$, "Name: "+USERNAME$
  967.     AddListItem CONFIRMTEXT$, "Company: "+USERORG$
  968.     AddListItem CONFIRMTEXT$, "Serial No: "+USERSER$
  969. RECONFIRM1:
  970.     sz$ = UIStartDlg(CUIDLL$, CDCONFREINST, "FConfirmDlgProc", 0, "")
  971.     IF sz$ = "CONTINUE" THEN
  972.     ELSEIF sz$ = "REACTIVATE" THEN
  973.     GOTO RECONFIRM1
  974.     '' Exit and Cancel
  975.     ELSE
  976.     GOSUB ASKQUIT
  977.     END IF
  978.     UIPop 1
  979.     RETURN
  980.  
  981.  
  982. MAILUPGRADE:
  983.     sz$ = UIStartDlg(CUIDLL$, MAILUPGRADE, "FInfoDlgProc", 0, "")
  984.     IF sz$ = "CONTINUE" THEN
  985.     UIPop 1
  986.     GOTO SHAREFILES
  987.     ELSEIF sz$ = "REACTIVATE" THEN
  988.     GOTO MAILUPGRADE
  989.     ELSEIF sz$ = "BACK" THEN
  990.     UIPop 1
  991.     GOTO CHECKMAIL
  992.     ELSE
  993.     GOSUB ASKQUIT
  994.     GOTO CDCONFIRMINFO
  995.     END IF
  996.     RETURN
  997.  
  998.  
  999. CHECKOLDADFS:
  1000.     ''Precheck version if in the mpro ini
  1001.     IF VERNO$ = "100" THEN
  1002.     VERADF$ = "1"
  1003.     ELSEIF VERNO$ = "120" THEN
  1004.     VERADF$ = "2"
  1005.     END IF
  1006.     SetSymbolValue "RadioDefault", VERADF$
  1007. CHECKOLD1:
  1008.     sz$ = UIStartDlg(CUIDLL$, CHECKOLDADFS, "FRadioDlgProc", 0, "")
  1009.     VERADF$ = GetSymbolValue("ButtonChecked")
  1010.  
  1011.     IF sz$ = "CONTINUE" THEN
  1012.     IF VERADF$ = "1" THEN
  1013.         VERNO$ = "100"
  1014.     ELSEIF VERADF$ = "2" THEN
  1015.         VERNO$ = "120"
  1016.     END IF
  1017.     UIPop 1
  1018.     RETURN
  1019.     ELSEIF sz$ = "REACTIVATE" THEN
  1020.     GOTO CHECKOLD1
  1021.     ELSEIF sz$ = "BACK" THEN
  1022.     UIPop 1
  1023.     GOTO GETCONVPATHL1
  1024.     ''Exit really means skip
  1025.     ELSE
  1026.     SKIP% = 1
  1027.     VERADF$ = "0"
  1028.     UPGRADE% = 0
  1029.     UIPop 1
  1030.     RETURN
  1031.     END IF
  1032.     RETURN
  1033.  
  1034.  
  1035. SHARESETTING:
  1036.     sz$ = UIStartDlg(CUIDLL$, SHARESETTING, "FInfo0DlgProc", 0, "")
  1037.     IF sz$ = "REACTIVATE" THEN
  1038.     GOTO SHARESETTING
  1039.     END IF
  1040.     UIPop 1
  1041.     RETURN
  1042.  
  1043.  
  1044. WARNCONV:
  1045.     sz$ = UIStartDlg(CUIDLL$, WARNCONV, "FInfoDlgProc", APPHELP, HELPPROC$)
  1046.     ''Continue really means yes
  1047.     IF sz$ = "CONTINUE" THEN
  1048.     UPGRADE% = 1
  1049.     ReplaceListItem CHECKSTATES$, CONVFILES, "ON"
  1050.     UIPop 1
  1051.         RETURN
  1052.     ELSEIF sz$ = "BACK" THEN
  1053.     UIPop 1
  1054.         GOTO OPTIONSL1
  1055.     ELSEIF sz$ = "REACTIVATE" THEN
  1056.     GOTO WARNCONV
  1057.     ''Exit really means no
  1058.     ELSE
  1059.     UPGRADE% = 0
  1060.     UIPop 1
  1061.         RETURN
  1062.     END IF
  1063.     RETURN
  1064.  
  1065.  
  1066. ASKQUIT:
  1067.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  1068.  
  1069.     IF sz$ = "EXIT" THEN
  1070.     UIPopAll
  1071.     ERROR STFQUIT
  1072.     ELSEIF sz$ = "REACTIVATE" THEN
  1073.     GOTO ASKQUIT
  1074.     ELSE
  1075.     UIPop 1
  1076.     END IF
  1077.     RETURN
  1078.  
  1079. PATCHCHECK:
  1080.     notwooh% = 0
  1081.     IF DoesFileExist( MakePath( DEST$, "MPRO.EXE" ), femExists ) = 0 THEN
  1082.     notwooh% = 1
  1083.     END IF
  1084.     IF DoesFileExist( MakePath( DEST$, "MPRO.INS" ), femExists ) = 0 THEN
  1085.     notwooh% = 1
  1086.     END IF
  1087.     IF VERNO$ <> "200" THEN
  1088.     notwooh% = 1
  1089.     END IF
  1090.     IF notwooh% = 1 THEN
  1091.     GOSUB PATCH2
  1092.     ''ERROR STFQUIT
  1093.     GOTO GETPATH
  1094.     ELSE
  1095.     GOTO INSTALLPROC
  1096.     END IF
  1097.  
  1098. PATCH2:
  1099.     sz$ = UIStartDlg(CUIDLL$, PATCH2, "FInfo0DlgProc", 0, "")
  1100.     IF sz$ = "REACTIVATE" THEN
  1101.     GOTO BADPATH
  1102.     END IF
  1103.     UIPop 1
  1104.     RETURN
  1105.  
  1106. '**
  1107. '** Purpose:
  1108. '**     Updates the control file
  1109. '** Arguments:
  1110. '**     none.
  1111. '** Returns:
  1112. '**     none.
  1113. '*************************************************************************
  1114. SUB Control (SrcDir$) STATIC
  1115.     IF UPGRADE% = 1 THEN
  1116.     szOldPath$ = DEST2$
  1117.     ELSE
  1118.     szOldPath$ = ""
  1119.     END IF
  1120.     ReplaceListItem INSTALLCTL$, 1, VERNO$
  1121.     IF WKGMOD$ = "1" THEN
  1122.         ReplaceListItem INSTALLCTL$, 3, "Avantos"
  1123.         ReplaceListItem INSTALLCTL$, 4, "Working Model"
  1124.         ReplaceListItem INSTALLCTL$, 5, "0000007"
  1125.     ELSE
  1126.         ReplaceListItem INSTALLCTL$, 3, USERNAME$
  1127.         ReplaceListItem INSTALLCTL$, 4, USERORG$
  1128.         ReplaceListItem INSTALLCTL$, 5, USERSER$
  1129.     END IF
  1130.     ReplaceListItem INSTALLCTL$, 7, INTL$
  1131.  
  1132.     i% = updateControlFile( szOldPath$, SrcDir$, NEEDINFO$, UPGRADE% )
  1133.  
  1134.     ''Don't set verno if reinstalling 2.0
  1135.     IF TWOREINST% = 0 THEN
  1136.         VERNO$ = GetListItem( INSTALLCTL$, 1 )
  1137.     END IF
  1138.     IF UPGRADE% = 1 THEN
  1139.             INTL$ = GetListItem( INSTALLCTL$, 7 )
  1140.     END IF
  1141. END SUB
  1142.  
  1143.  
  1144. '**
  1145. '** Purpose:
  1146. '**     Builds the copy list and performs all installation operations.
  1147. '** Arguments:
  1148. '**     none.
  1149. '** Returns:
  1150. '**     none.
  1151. '*************************************************************************
  1152. SUB Install STATIC
  1153.  
  1154.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  1155.  
  1156.     ClearCopyList
  1157.     AddOptFilesToCopyList MPROFILES
  1158.     AddOptFilesToCopyList CONVFILES
  1159.  
  1160.     CreateDir DEST$, cmoNone
  1161.  
  1162.     '$IFDEF LOGIT
  1163.     LOG2$ = MakePath(DEST$, LOGNAME$)
  1164.     CloseLogFile
  1165.         ''Clean up after yourself - copy debug file from windows dir to dest
  1166.         ''and delete the one in windows dir
  1167.         CopyFile LOG1$, LOG2$, cmoOverwrite, 0
  1168.     RemoveFile LOG1$, cmoNone
  1169.         ''Append
  1170.         OpenLogFile LOG2$, 1
  1171.     WriteToLogFile "The Final Stretch!"
  1172.     '$ENDIF ''LOGIT
  1173.  
  1174.     '$IFNDEF PATIT
  1175.     IF NETDEST$ <> "" THEN
  1176.         CreateDir NETDEST$, cmoNone
  1177.     END IF
  1178.     IF MAILCFG$ = "1" THEN
  1179.         IF MAILDEST$ <> "" THEN
  1180.             CreateDir MAILDEST$, cmoNone
  1181.         END IF
  1182.     END IF
  1183.  
  1184.     ''Rename adf and adn files BEFORE you copy on the new ones!
  1185.     IF GetListItem(CHECKSTATES$, MPROFILES) = "ON" THEN
  1186.         IF UPGRADE% = 1 THEN
  1187.                 IF VERNO$ <> "200" THEN
  1188.                 ''Rename adf and adn files
  1189.                 IF MakePath(DEST$,LOGNAME$) = MakePath(DEST2$,LOGNAME$) THEN
  1190.                     RenameFile MakePath(DEST2$,"MPRO.ADF"), "MPRO"+VERNO$+".ADF"
  1191.                     RenameFile MakePath(DEST2$,"MPRO.ADN"), "MPRO"+VERNO$+".ADN"
  1192.                         '$IFDEF LOGIT
  1193.                     WriteToLogFile "  Converting - Old directory same as new, rename mpro.adf & adn"
  1194.                         '$ENDIF ''LOGIT
  1195.             END IF
  1196.             END IF
  1197.         END IF
  1198.     END IF
  1199.      
  1200.     SetCopyGaugePosition 90, 130
  1201.     ClearBillboardList
  1202.     AddToBillboardList "mscuistf.dll", BILLWELCOME, "FModelessDlgProc", 500000
  1203.     AddToBillboardList "mscuistf.dll", BILLNEW, "FModelessDlgProc", 500000
  1204.     AddToBillboardList "mscuistf.dll", BILLNEW3, "FModelessDlgProc", 1000000
  1205.     AddToBillboardList "mscuistf.dll", BILLNEW5, "FModelessDlgProc", 1000000
  1206.     AddToBillboardList "mscuistf.dll", BILLFLEX, "FModelessDlgProc", 400000
  1207.     AddToBillboardList "mscuistf.dll", BILLNET, "FModelessDlgProc", 400000
  1208.  
  1209.     ''Dir needs to end in \
  1210.     sz$ = MID$(DEST$, LEN(DEST$), 1)
  1211.     IF sz$ <> "\" THEN
  1212.     szDir$ = DEST$+"\"
  1213.     ELSE
  1214.     szDir$ = DEST$
  1215.     END IF
  1216.     SetRestartDir szDir$
  1217.     '$ENDIF ''PATIT
  1218.  
  1219.     ''If upgrading to old directory and international,
  1220.     ''Remove read-only & hidden attributes off on old version's control file
  1221.     IF UPGRADE% = 1 AND MakePath(DEST$,LOGNAME$) = MakePath(DEST2$,LOGNAME$) AND INTL$ = "1" THEN
  1222.     i% = setIntlAttrib( MakePath(DEST2$, "MPRO.CTL"), 0 )
  1223.     END IF
  1224.  
  1225.     CopyFilesInCopyList
  1226.  
  1227.     '$IFDEF CDROM
  1228.         Control(DEST$)
  1229.     '$ENDIF ''CDROM
  1230.     IF INTL$ = "1" THEN
  1231.     i% = setIntlAttrib( MakePath(DEST$, "MPRO.CTL"), 1 )
  1232.     END IF
  1233.  
  1234.     '$IFNDEF PATIT
  1235.     ''Do following if mprofiles checked
  1236.     IF GetListItem(CHECKSTATES$, MPROFILES) = "ON" THEN
  1237.       ''Add file manager mpd setting to win.ini file
  1238.         CreateIniKeyValue "WIN.INI", "Extensions", "mpd", MakePath(DEST$,"MPRO.EXE")+" ^.mpd", cmoOverwrite
  1239.       ''Add homepath to win.ini file
  1240.         CreateIniKeyValue "WIN.INI", "ManagePro", "HomePath", DEST$, cmoOverwrite
  1241.       ''Add userpath to win.ini file
  1242.         CreateIniKeyValue "WIN.INI", "ManagePro", "UserPath", DEST$, cmoOverwrite
  1243.         IF USENET$ = "YES" THEN
  1244.             ''Remove netpath from win.ini - we moved it
  1245.             RemoveIniKey "WIN.INI", "ManagePro", "NetPath", cmoNone
  1246.         END IF
  1247.     '$IFDEF LOGIT
  1248.         WriteToLogFile "  Wrote to win.ini"
  1249.     '$ENDIF ''LOGIT
  1250.     END IF
  1251.  
  1252.     ''Do following if convert checked
  1253.     IF UPGRADE% = 1 THEN
  1254.     ''Copy mpro over from old name and dir
  1255.     ''Add upgrades section
  1256.     ''Upgrading to same path
  1257.     IF MakePath(DEST$,LOGNAME$) = MakePath(DEST2$,LOGNAME$) THEN
  1258.         IF DoesFileExist( MakePath( DEST2$, "MPRO.120" ), femExists ) = 1 THEN
  1259.             CopyFile MakePath(DEST2$,"MPRO.120"), MakePath(DEST$,"MPRO.INI"), cmoOverwrite, 0
  1260.             RemoveFile MakePath(DEST2$,"MPRO.120"), cmoNone
  1261.         END IF
  1262.         IF VERNO$ <> "200" THEN
  1263.             CreateIniKeyValue MakePath(DEST$,"MPRO.INI"), "UPGRADES", VERNO$, MakePath(DEST2$,"MPRO"+VERNO$), cmoOverwrite
  1264.           END IF
  1265.     ''Upgrading from a different path
  1266.     ELSEIF DEST2$ <> "" THEN
  1267.         IF DoesFileExist( MakePath( DEST2$, "MPRO.INI" ), femExists ) = 1 THEN
  1268.             CopyFile MakePath(DEST2$,"MPRO.INI"), MakePath(DEST$,"MPRO.INI"), cmoOverwrite, 0
  1269.         END IF
  1270.         IF VERNO$ <> "200" THEN
  1271.             IF VERADF$ = "0" THEN
  1272.                 CreateIniKeyValue MakePath(DEST$,"MPRO.INI"), "UPGRADES", VERNO$, MakePath(DEST2$,"MPRO"), cmoOverwrite
  1273.             ELSE
  1274.                 CreateIniKeyValue MakePath(DEST$,"MPRO.INI"), "UPGRADES", VERNO$, MakePath(DEST$,"MPRO"+VERNO$), cmoOverwrite
  1275.             END IF
  1276.         END IF
  1277.     ''Didn't have old adf/adn files or reinstalling 2.0
  1278.     ELSEIF VERADF$ <> "0" THEN
  1279.         IF VERNO$ <> "200" THEN
  1280.             CreateIniKeyValue MakePath(DEST$,"MPRO.INI"), "UPGRADES", VERNO$, MakePath(DEST$,"MPRO"+VERNO$), cmoOverwrite
  1281.             END IF
  1282.     ''Shouldn't happen
  1283.     ELSE
  1284.         IF VERNO$ <> "200" THEN
  1285.             IF VERADF$ = "0" THEN
  1286.                 CreateIniKeyValue MakePath(DEST$,"MPRO.INI"), "UPGRADES", VERNO$, MakePath(DEST$,"MPRO"), cmoOverwrite
  1287.             ELSE
  1288.                 CreateIniKeyValue MakePath(DEST$,"MPRO.INI"), "UPGRADES", VERNO$, MakePath(DEST$,"MPRO"+VERNO$), cmoOverwrite
  1289.             END IF
  1290.         END IF
  1291.     END IF
  1292.     ''Add version to mpro.ini file
  1293.     IF VERNO$ <> "200" THEN
  1294.         CreateIniKeyValue MakePath(DEST$,"MPRO.INI"), "VERSION", NEWVERNO$, "", cmoOverwrite
  1295.         END IF
  1296.     ''Set Upgrade
  1297.     CreateIniKeyValue MakePath(DEST$,"MPRO.INI"), "DESKTOP CONFIGURATION", "JustUpgraded", "1", cmoOverwrite
  1298. '$IFDEF LOGIT
  1299.     WriteToLogFile "  Converting - Added convert, added upgrade info"
  1300. '$ENDIF ''LOGIT
  1301.     END IF
  1302.  
  1303.     ''Do following if mprofiles checked
  1304.     ''Do this after upgrade in case it was backed up somewhere
  1305.     IF GetListItem(CHECKSTATES$, MPROFILES) = "ON" THEN
  1306.         IF USENET$ = "YES" THEN
  1307.           ''Add netpath to mpro.ini file
  1308.             CreateIniKeyValue MakePath(DEST$,"MPRO.INI"), "System", "NetPath", NETDEST$, cmoOverwrite
  1309.         END IF
  1310.         ''Add mail system to mpro.ini
  1311.         CreateIniKeyValue MakePath(DEST$,"MPRO.INI"), "DESKTOP CONFIGURATION", "MailSystem", MAILCFG$, cmoOverwrite
  1312.         ''Handle Management configuration here
  1313.         CreateIniKeyValue MakePath(DEST$,"MPRO.INI"), "DESKTOP CONFIGURATION", "PeopleManager", MANAGE$, cmoOverwrite
  1314.         ''Remove last session
  1315.         RemoveIniSection MakePath(DEST$,"MPRO.INI"), "DESKTOP - LAST SESSION", cmoNone
  1316.     '$IFDEF LOGIT
  1317.         WriteToLogFile "  Wrote to "+ MakePath(DEST$,"MPRO.INI")
  1318.     '$ENDIF ''LOGIT
  1319.     END IF
  1320.  
  1321.     ''Do this at the bottom in case it fails under desktops like PC Tools
  1322.     ''Do following if mprofiles checked
  1323.     IF GetListItem(CHECKSTATES$, MPROFILES) = "ON" THEN
  1324.         ''Create it in case it was added by user or was ManagePro
  1325.         CreateProgmanGroup PROGGROUP$, "", cmoNone
  1326.         ShowProgmanGroup  PROGGROUP$, 1, cmoNone
  1327.         CreateProgmanItem PROGGROUP$, "ManagePro 2.0", MakePath(DEST$,"MPRO.EXE"), "", cmoOverwrite
  1328.         CreateProgmanItem PROGGROUP$, "Read Me 2.0", "WRITE.EXE "+MakePath(DEST$, "README.WRI"), "", cmoOverwrite
  1329.     '$IFDEF LOGIT
  1330.         WriteToLogFile "  Created program manager group and items"
  1331.     '$ENDIF ''LOGIT
  1332.     END IF
  1333.  
  1334.     ''Do following if convert checked
  1335.     IF UPGRADE% = 1 THEN
  1336.     ''Add convert file to group file
  1337.     CreateProgmanItem PROGGROUP$, "2.0 Convert", MakePath(DEST$,"CONVERT.EXE"), "", cmoOverwrite
  1338.     END IF
  1339.     '$ENDIF ''PATIT
  1340.  
  1341.     ''This doesn't work well
  1342.     ''AddDos5Help "MPRO", "ManagePro 2.0 - Managing Goals and People."+chr$(10)+"by Avantos Performance Systems.", cmoNone
  1343.  
  1344. END SUB
  1345.  
  1346.  
  1347.  
  1348. '**
  1349. '** Purpose:
  1350. '**     Adds the specified option files to the copy list.
  1351. '** Arguments:
  1352. '**     ftype%  - type of files to add, one of the following:
  1353. '**             MPROFILES, CONVFILES
  1354. '** Returns:
  1355. '**     none.
  1356. '*************************************************************************
  1357. SUB AddOptFilesToCopyList (ftype%) STATIC
  1358.  
  1359.     IF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
  1360.       SrcDir$ = GetSymbolValue("STF_SRCDIR")
  1361.       IF ftype% = MPROFILES THEN
  1362.         AddSectionFilesToCopyList "MproExe", SrcDir$, DEST$
  1363.       '$IFNDEF PATIT
  1364.         AddSectionFilesToCopyList "MproFiles", SrcDir$, DEST$
  1365.         AddSectionFilesToCopyList "MproFiles1", SrcDir$, DEST$
  1366.         AddSectionFilesToCopyList "MproFiles2", SrcDir$, DEST$
  1367.         AddSectionFilesToCopyList "MproFiles3", SrcDir$, DEST$
  1368.         AddSectionFilesToCopyList "MproFiles4", SrcDir$, DEST$
  1369.         ''It doesn't work to use the old path
  1370.         AddSectionFilesToCopyList "IniFiles", SrcDir$, DEST$
  1371.         AddSectionFilesToCopyList "WinFiles", SrcDir$, WIND$
  1372.         ''Copy the email file
  1373.         IF EMAILCUR$ = "1" THEN
  1374.             AddSectionFilesToCopyList "EmailFiles", SrcDir$, MAILDEST$
  1375.         END IF
  1376.       '$ENDIF ''PATIT
  1377.       ELSEIF ftype% = CONVFILES THEN
  1378.       '$IFNDEF PATIT
  1379.         AddSectionFilesToCopyList "ConvFiles", SrcDir$, DEST$
  1380.         ''See if we need old adf's
  1381.         IF VERADF$ = "1" THEN
  1382.             AddSectionFilesToCopyList "Adf1Files", SrcDir$, DEST$
  1383.         ELSEIF VERADF$ = "2" THEN
  1384.             AddSectionFilesToCopyList "Adf2Files", SrcDir$, DEST$
  1385.         END IF
  1386.       '$ENDIF ''PATIT
  1387.       END IF
  1388.       SrcDir$ = ""
  1389.     END IF
  1390. END SUB
  1391.  
  1392.  
  1393. '**
  1394. '** Purpose:
  1395. '**     Recalculates disk space for the given option files and sets
  1396. '**     the status info symbol "StatusItemsText".
  1397. '** Arguments:
  1398. '**     ftype% - type of files to add, one of the following:
  1399. '**             MPROFILES, CONVFILES
  1400. '** Returns:
  1401. '**     none.
  1402. '*************************************************************************
  1403. SUB RecalcOptFiles (ftype%) STATIC
  1404.     CursorSave% = ShowWaitCursor()
  1405.     ClearCopyList
  1406.     AddOptFilesToCopyList ftype%
  1407.  
  1408.     fExtra% = 0
  1409.     IF ftype% = MPROFILES THEN
  1410.       ListSym$ = MPRONEEDS$
  1411.       IF GetListItem(CHECKSTATES$, MPROFILES) = "ON" THEN
  1412.         ''Add extra cost to Windows drive for ini/progman, etc.
  1413.         ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
  1414.         ''ReplaceListItem EXTRACOSTS$, ndrive%, "10240"
  1415.         fExtra% = 1
  1416.       END IF
  1417.     ELSEIF ftype% = CONVFILES THEN
  1418.       ListSym$ = CONVNEEDS$
  1419.     END IF
  1420.  
  1421.     StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
  1422.  
  1423.     cost& = 0
  1424.     FOR i% = 1 TO 26 STEP 1
  1425.     cost&  = cost& + VAL(GetListItem(ListSym$, i%))
  1426.     NEXT i%
  1427.  
  1428.     ''Add in fudge factor
  1429.     IF ftype% = MPROFILES THEN
  1430.     cost& = cost& + FUDGE&
  1431.     END IF
  1432.  
  1433.     ReplaceListItem STATUSTEXT$, ftype%, STR$(cost& / 1024) + " K"
  1434.  
  1435.     IF StillNeed& > 0 THEN
  1436.     ReplaceListItem BIGLIST$, ftype%, "YES"
  1437.     ELSE
  1438.     ReplaceListItem BIGLIST$, ftype%, ""
  1439.     END IF
  1440.     
  1441.     IF fExtra% THEN
  1442.     ReplaceListItem EXTRACOSTS$, ndrive%, "0"
  1443.     END IF
  1444.     RestoreCursor CursorSave%
  1445.     ListSym$ = ""
  1446. END SUB
  1447.  
  1448.  
  1449. '**
  1450. '** Purpose:
  1451. '**     Recalculates disk space and sets option status info according
  1452. '**     to the current destination path.
  1453. '** Arguments:
  1454. '**     none.
  1455. '** Returns:
  1456. '**     none.
  1457. '*************************************************************************
  1458. SUB RecalcPath STATIC
  1459.  
  1460.     CursorSave% = ShowWaitCursor()
  1461.  
  1462.     RecalcOptFiles MPROFILES
  1463.     RecalcOptFiles CONVFILES
  1464.  
  1465.     RestoreCursor CursorSave%
  1466. END SUB
  1467.  
  1468.  
  1469. '**
  1470. '** Purpose:
  1471. '**     Sets drive status info according to latest disk space calcs.
  1472. '** Arguments:
  1473. '**     none.
  1474. '** Returns:
  1475. '**     none.
  1476. '*************************************************************************
  1477. SUB SetDriveStatus STATIC
  1478.  
  1479.     drive$ = MID$(DEST$, 1, 1)
  1480.     ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
  1481.     ''Windows dll included in same number for now - this could be a different drive
  1482.     cost& = VAL(GetListItem(MPRONEEDS$, ndrive%)) + VAL(GetListItem(CONVNEEDS$, ndrive%)) + FUDGE&
  1483.  
  1484.     ''Only add Windows dlls if the Windows system directory is on a different drive
  1485.     ''Otherwise, it's included above
  1486.     ndrive2% = ASC(ucase$(WIND$)) - ASC("A") + 1
  1487.     IF ndrive% <> ndrive2% THEN
  1488.         cost& = cost& + VAL(GetListItem(MPRONEEDS$, ndrive2%))
  1489.     END IF
  1490.  
  1491.     ''Add Email driver to same number for now - this could be a different drive
  1492.     ''only if it's not the same drive
  1493.     IF MAILDEST$ <> "" THEN
  1494.         drive$ = MID$(MAILDEST$, 1, 1)
  1495.         ndrive3% = ASC(ucase$(drive$)) - ASC("A") + 1
  1496.         IF ndrive3% <> ndrive% THEN
  1497.             cost& = cost& + VAL(GetListItem(MPRONEEDS$, ndrive3%))
  1498.         END IF
  1499.     END IF
  1500.  
  1501.     ReplaceListItem DRIVETEXT$, 1, STR$(cost& / 1024) + " K"
  1502. END SUB
  1503.  
  1504.  
  1505. '**
  1506. '** Purpose:
  1507. '**     Appends a file name to the end of a directory path,
  1508. '**     inserting a backslash character as needed.
  1509. '** Arguments:
  1510. '**     szDir$  - full directory path (with optional ending "\")
  1511. '**     szFile$ - filename to append to directory
  1512. '** Returns:
  1513. '**     Resulting fully qualified path name.
  1514. '*************************************************************************
  1515. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  1516.     IF szDir$ = "" THEN
  1517.     MakePath = szFile$
  1518.     ELSEIF szFile$ = "" THEN
  1519.     MakePath = szDir$
  1520.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  1521.     MakePath = szDir$ + szFile$
  1522.     ELSE
  1523.     MakePath = szDir$ + "\" + szFile$
  1524.     END IF
  1525. END FUNCTION
  1526.  
  1527.