home *** CD-ROM | disk | FTP | other *** search
/ ROMWORKS / ROMWORKS.ISO / romworks.mst < prev    next >
Text File  |  1994-11-24  |  6KB  |  228 lines

  1. '**************************************************************************
  2. '*                     ROMworks 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 DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST OPTIONS       = 800
  18. CONST APPHELP       = 900
  19. CONST BADPATH       = 6400
  20. CONST USERSTUFF     = 7500
  21.  
  22. ''Bitmap ID
  23. CONST LOGO = 1
  24.  
  25. GLOBAL DEST$        ''Default destination directory.
  26. GLOBAL OPTCUR$      ''Option selection from option dialog.
  27. GLOBAL USER$        ''Username for Employee name in Ini File
  28. GLOBAL ORG$         ''Number for Employee No. in ini file
  29.  
  30. DECLARE SUB Install
  31. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  32. Declare Function ShowWindow Lib "User" (hWnd%, nCmdShow%) As Integer
  33.  
  34.  
  35.  
  36. INIT:
  37.      i% = ShowWindow(HwndFrame(), 3)
  38.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  39.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  40.  
  41.     SetBitmap CUIDLL$, LOGO
  42.     SetTitle "ROMworks Setup"
  43.  
  44.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  45.     IF szInf$ = "" THEN
  46.     szInf$ = GetSymbolValue("STF_CWDDIR") + "ROMWORKS.INF"
  47.     END IF
  48.     ReadInfFile szInf$
  49.  
  50.     OPTCUR$ = "1"
  51.     DEST$ = "C:\ROMworks"
  52.     USER$ = ""
  53.     ORG$ = ""
  54.  
  55. '$IFDEF DEBUG
  56.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  57.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  58.     IF IsDriveValid(WinDrive$) = 0 THEN
  59.     i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  60.     GOTO QUIT
  61.     END IF
  62. '$ENDIF ''DEBUG
  63.  
  64. i% = ShowWindow(HwndFrame(), 3)
  65.  
  66. WELCOME:
  67.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  68.     IF sz$ = "CONTINUE" THEN
  69.     UIPop 1
  70.     ELSE
  71.     GOSUB ASKQUIT
  72.     GOTO WELCOME
  73.     END IF
  74.  
  75.     
  76. GETPATH:
  77.     SetSymbolValue "EditTextIn", DEST$
  78.     SetSymbolValue "EditFocus", "END"
  79. GETPATHL1:
  80.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  81.     DEST$ = GetSymbolValue("EditTextOut")
  82.  
  83.     IF sz$ = "CONTINUE" THEN
  84.     IF IsDirWritable(DEST$) = 0 THEN
  85.         GOSUB BADPATH
  86.         GOTO GETPATHL1
  87.     END IF
  88.     UIPop 1
  89.     ELSEIF sz$ = "REACTIVATE" THEN
  90.     GOTO GETPATHL1
  91.     ELSEIF sz$ = "BACK" THEN
  92.     UIPop 1
  93.     GOTO WELCOME
  94.     ELSE
  95.     GOSUB ASKQUIT
  96.     GOTO GETPATH
  97.     END IF
  98.  
  99.                    
  100.     Install
  101.  
  102. QUIT:
  103.     ON ERROR GOTO ERRQUIT
  104.  
  105.     IF ERR = 0 THEN
  106.     dlg% = EXITSUCCESS
  107.     ELSEIF ERR = STFQUIT THEN
  108.     dlg% = EXITQUIT
  109.     ELSE
  110.     dlg% = EXITFAILURE
  111.     END IF
  112. QUITL1:
  113.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  114.     IF sz$ = "REACTIVATE" THEN
  115.     GOTO QUITL1
  116.     END IF
  117.     UIPop 1
  118.  
  119.     END
  120.  
  121. ERRQUIT:
  122.     i% = DoMsgBox("Your CDROM is damaged.", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  123.     END
  124.  
  125.  
  126.  
  127. BADPATH:
  128.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  129.     IF sz$ = "REACTIVATE" THEN
  130.     GOTO BADPATH
  131.     END IF
  132.     UIPop 1
  133.     RETURN
  134.  
  135.  
  136.  
  137. ASKQUIT:
  138.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  139.  
  140.     IF sz$ = "EXIT" THEN
  141.     UIPopAll
  142.     ERROR STFQUIT
  143.     ELSEIF sz$ = "REACTIVATE" THEN
  144.     GOTO ASKQUIT
  145.     ELSE
  146.     UIPop 1
  147.     END IF
  148.     RETURN
  149.  
  150.  
  151.  
  152. '**
  153. '** Purpose:
  154. '**     Builds the copy list and performs all installation operations.
  155. '** Arguments:
  156. '**     none.
  157. '** Returns:
  158. '**     none.
  159. '*************************************************************************
  160. SUB Install STATIC
  161.  
  162.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  163.     CreateDir DEST$, cmoNone
  164.  
  165.     OpenLogFile MakePath(DEST$, "SETUP.TXT"), 0
  166.     WriteToLogFile ""
  167.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  168.     WriteToLogFile ""
  169.     WriteToLogFile "May have had to create the directory: " + DEST$
  170.     WriteToLogFile ""
  171.     SetRestartDir DEST$
  172.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  173.     AddSectionFilesToCopyList "System Files",SrcDir$, GetWindowsSysDir()
  174.     AddSectionFilesToCopyList "Windows Files",SrcDir$, GetWindowsDir()
  175.     AddSectionFilesToCopyList "Vital System Files",SrcDir$, GetWindowsSysDir()
  176.     if DoesFileExist(MakePath(GetWindowsDir, "threed.vbx"),0) then
  177.         AddSectionFilesToCopyList "Vital System Files",SrcDir$, GetWindowsDir()
  178.     Endif 
  179.     if DoesFileExist(MakePath(GetWindowsDir, "vbrun300.dll"),0) then
  180.         AddSectionFilesToCopyList "System Files",SrcDir$, GetWindowsDir()
  181.     Endif 
  182.  
  183.     CopyFilesInCopyList
  184.  
  185.     ini$ = MakePath(GetWindowsDir, "ROMWORKS.INI")
  186.     CreateIniKeyValue ini$, "Start",  "CDpath", SrcDir$  , cmoNone
  187.  
  188.     CreateProgmanGroup "ROMworks", "", cmoNone
  189.     ShowProgmanGroup  "ROMworks", 1, cmoNone
  190.     CreateProgmanItem "ROMworks", "ROMworks", MakePath(DEST$,"ROMWORKS.EXE"), "", cmoOverwrite
  191.     CreateProgmanItem "ROMworks", "ROMworks Help", "winhelp.exe "+MakePath(GetWindowsDir(),"ROMworks.hlp"), "", cmoOverwrite
  192.     CreateProgmanItem "ROMworks", "Claris Works Book", MakePath(SrcDir$,"CLWKS\FVRUN\VIEWER.EXE")+" "+MakePath(SrcDir$,"CLWKS\CWKS_UG.WIN\01_TOC.FV"), "", cmoOverwrite
  193.     CreateProgmanItem "ROMworks", "PrintMaster Gold Book", MakePath(SrcDir$,"CLWKS\FVRUN\VIEWER.EXE")+" "+MakePath(SrcDir$,"PMW\PMGDOC\PMW.DOC"), "", cmoOverwrite
  194.  
  195.     CloseLogFile
  196.  
  197.  
  198.     IF RestartListEmpty() = 0 THEN
  199.     dlg% = DoMsgBox("System files in use.  Setup must exist Windows, copy these files, and restart Windows.","Problem",0)
  200.     dlg% = ExitExecRestart
  201.     ENDIF    
  202. END SUB
  203.  
  204.  
  205.  
  206. '**
  207. '** Purpose:
  208. '**     Appends a file name to the end of a directory path,
  209. '**     inserting a backslash character as needed.
  210. '** Arguments:
  211. '**     szDir$  - full directory path (with optional ending "\")
  212. '**     szFile$ - filename to append to directory
  213. '** Returns:
  214. '**     Resulting fully qualified path name.
  215. '*************************************************************************
  216. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  217.     IF szDir$ = "" THEN
  218.     MakePath = szFile$
  219.     ELSEIF szFile$ = "" THEN
  220.     MakePath = szDir$
  221.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  222.     MakePath = szDir$ + szFile$
  223.     ELSE
  224.     MakePath = szDir$ + "\" + szFile$
  225.     END IF
  226. END FUNCTION
  227.  
  228.