home *** CD-ROM | disk | FTP | other *** search
/ Network Support Encyclopedia 96-1 / novell-nsepro-1996-1-cd2.iso / download / netware / msml20.exe / MHSDRVR.MST < prev    next >
Text File  |  1995-07-20  |  6KB  |  209 lines

  1. '**************************************************************************
  2. '*                       MSSetup Installation Script
  3. '**************************************************************************
  4.  
  5. '' $DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST EXITFAILURE   = 400
  14. CONST EXITQUIT      = 600
  15. CONST EXITSUCCESS   = 700
  16. CONST APPHELP       = 900
  17. CONST EXITUPGRADE   = 1000
  18. CONST TOOBIG        = 6300
  19.  
  20. ''Bitmap ID
  21. CONST LOGO = 1
  22.  
  23. DECLARE SUB Install (Upgrade%)
  24. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  25.  
  26. INIT:
  27.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  28.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  29.     Upgrade% = 0
  30.  
  31.     SetBitmap CUIDLL$, LOGO
  32.  
  33.     IF DoesFileExist(WindowsPath$ + "MSMAILPV.INI", femExists) = 1 THEN
  34.        IF GetIniKeyString(GetWindowsDir()+"MSMAILPV.INI", "Current", "Transport") = "Novell MHS Mail" THEN
  35.           Upgrade% = 1
  36.        ENDIF
  37.     ENDIF
  38.  
  39.     SetTitle "Setup for MHS Driver for MSMail 3.x"
  40.  
  41.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  42.     IF szInf$ = "" THEN
  43.         szInf$ = GetSymbolValue("STF_CWDDIR") + "MHSDRVR.INF"
  44.     END IF
  45.     ReadInfFile szInf$
  46.  
  47.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  48.  
  49. '$IFDEF DEBUG
  50.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  51.     IF IsDriveValid(WinDrive$) = 0 THEN
  52.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  53.         GOTO QUIT
  54.     END IF
  55. '$ENDIF ''DEBUG
  56.  
  57.  
  58. WELCOME:
  59.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  60.     IF sz$ = "CONTINUE" THEN
  61.         UIPop 1
  62.     ELSE
  63.         GOSUB ASKQUIT
  64.         GOTO WELCOME
  65.     END IF
  66.  
  67.     Install Upgrade%
  68.  
  69. QUIT:
  70.     ON ERROR GOTO ERRQUIT
  71.  
  72.     IF ERR = 0 THEN
  73.         dlg% = EXITSUCCESS
  74.         IF Upgrade% = 1 THEN
  75.            dlg% = EXITUPGRADE
  76.         ENDIF
  77.     ELSEIF ERR = STFQUIT THEN
  78.         dlg% = EXITQUIT
  79.     ELSE
  80.         dlg% = EXITFAILURE
  81.     END IF
  82. QUITL1:
  83.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  84.     IF sz$ = "REACTIVATE" THEN
  85.         GOTO QUITL1
  86.     END IF
  87.     UIPop 1
  88.  
  89.     ON ERROR GOTO BADSPAWN
  90. QUITL2:
  91.     IF dlg% = EXITSUCCESS THEN
  92.        maildrv$ = GetWindowsDir() + "MSMAIL\MAILDRV"
  93.        RUN maildrv$, NOWAIT
  94.     ENDIF
  95.  
  96.     END
  97.  
  98. ERRQUIT:
  99.     i% = DoMsgBox("Setup sources are corrupted!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  100.     END
  101.  
  102. BADSPAWN:
  103.     i% = DoMsgBox("Unable to launch Mail System Selector.\nPlease run manually.", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  104.     END
  105.  
  106.  
  107. ASKQUIT:
  108.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  109.  
  110.     IF sz$ = "EXIT" THEN
  111.         UIPopAll
  112.         ERROR STFQUIT
  113.     ELSEIF sz$ = "REACTIVATE" THEN
  114.         GOTO ASKQUIT
  115.     ELSE
  116.         UIPop 1
  117.     END IF
  118.     RETURN
  119.  
  120. '**
  121. '** Purpose:
  122. '**     Builds the copy list and performs all installation operations.
  123. '** Arguments:
  124. '**     none.
  125. '** Returns:
  126. '**     none.
  127. '*************************************************************************
  128. SUB Install (Upgrade%) STATIC
  129.  
  130.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  131.  
  132.     WindowsPath$ = GetWindowsDir()
  133.  
  134.     MSMail$ = WindowsPath$ + "MSMAIL\"
  135.     MSMailMHS$ = MSMail$ + "MHSMAIL\"
  136.     WindowsSystemPath$ = WindowsPath$ + "SYSTEM\"
  137.  
  138.     CreateDir MSMail$, cmoNone
  139.     CreateDir MSMail$, cmoNone
  140.  
  141.     OpenLogFile MakePath(MSMail$, "install.log"), 0
  142.  
  143.     WriteToLogFile "MSMail directory = " + MSMail$
  144.     WriteToLogFile "MHS directory    = " + MSMailMHS$
  145.     
  146.     AddSectionFilesToCopyList "MHS", SrcDir$, MSMailMHS$
  147.     AddSectionFilesToCopyList "MSMail", SrcDir$, MSMail$
  148.     
  149.  
  150. ''    AddSectionFilesToCopyList "MSMailAlways", SrcDir$, MSMail$
  151. ''
  152. ''    MailDrvExists% = DoesFileExist(WindowsPath$ + "MSMAILPV.INI", femExists)
  153. ''    IF MailDrvExists% = 0 THEN
  154. ''        AddSectionFilesToCopyList "MSMail", SrcDir$, MSMail$
  155. ''    END IF
  156.  
  157.     CopyFilesInCopyList
  158.  
  159.     IF Upgrade% = 1 THEN
  160.        t$ = "MHSMAIL.DLL"
  161.        CopyFile MSMailMHS$+t$, WindowsSystemPath$+t$, cmoVital+cmoOverwrite+cmoForce, 0 
  162.        t$ = "TRNANY.DLL"
  163.        CopyFile MSMailMHS$+t$, WindowsSystemPath$+t$, cmoVital+cmoOverwrite+cmoForce, 0
  164.        t$ = "BCC.DLL"
  165.        CopyFile MSMailMHS$+t$, WindowsSystemPath$+t$, cmoVital+cmoOverwrite+cmoForce, 0 
  166.        t$ = "IBM-437.CPG"
  167.        CopyFile MSMailMHS$+t$, WindowsSystemPath$+t$, cmoVital+cmoOverwrite+cmoForce, 0 
  168.     ENDIF
  169.  
  170.     ini$ = MakePath(WindowsPath$, "MSMAILPV.INI")
  171.     CreateIniKeyValue ini$, "Transport", "MHSMAIL", "Novell MHS Mail" , cmoNone
  172.  
  173.     CreateProgmanGroup "MHS Mail", "", cmoNone
  174.     ShowProgmanGroup  "MHS Mail", 1, cmoNone
  175.     CreateProgmanItem "MHS Mail", "Mail System Selector", MSMail$ + "maildrv", "", cmoOverwrite
  176.  
  177. ''    IF MailDrvExists% = 0 THEN
  178. ''        CreateProgmanGroup "MHS Mail", "", cmoNone
  179. ''        ShowProgmanGroup  "MHS Mail", 1, cmoNone
  180. ''        CreateProgmanItem "MHS Mail", "Mail System Selector", MSMail$ + "maildrv", "", cmoOverwrite
  181. ''    END IF
  182.  
  183.     CloseLogFile
  184.  
  185. END SUB
  186.  
  187. '**
  188. '** Purpose:
  189. '**     Appends a file name to the end of a directory path,
  190. '**     inserting a backslash character as needed.
  191. '** Arguments:
  192. '**     szDir$  - full directory path (with optional ending "\")
  193. '**     szFile$ - filename to append to directory
  194. '** Returns:
  195. '**     Resulting fully qualified path name.
  196. '*************************************************************************
  197. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  198.     IF szDir$ = "" THEN
  199.         MakePath = szFile$
  200.     ELSEIF szFile$ = "" THEN
  201.         MakePath = szDir$
  202.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  203.         MakePath = szDir$ + szFile$
  204.     ELSE
  205.         MakePath = szDir$ + "\" + szFile$
  206.     END IF
  207. END FUNCTION
  208. 
  209.