home *** CD-ROM | disk | FTP | other *** search
/ MIDI Master Collection 1 to 5 / THEMEPACK_2.ISO / setup.mst < prev    next >
Text File  |  1994-10-17  |  6KB  |  223 lines

  1. '**************************************************************************
  2. '*                       MSSetup Toolkit  
  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.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL DEST$        ''Default destination directory.
  25. GLOBAL OPTCUR$      ''Option selection from option dialog.
  26.  
  27. DECLARE SUB Install
  28. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  29.  
  30.  
  31. INIT:
  32.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  33.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  34.  
  35.     SetBitmap CUIDLL$, LOGO 
  36.     ' note:if title change so must the video for windows setup program 
  37.     ' as it uses the class:window to detect that this setup up is complete
  38.     SetTitle "RMI ThemePaks Installation"
  39.  
  40.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  41.     IF szInf$ = "" THEN    
  42.        szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  43.     END IF        
  44.     
  45.     ReadInfFile szInf$
  46.  
  47.     OPTCUR$ = "1"
  48. ' default drive for installation 
  49.     DEST$ = "C:\THEMEPAK"
  50.  
  51. '$IFDEF DEBUG
  52.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  53.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  54.     IF IsDriveValid(WinDrive$) = 0 THEN
  55.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  56.         GOTO QUIT
  57.     END IF
  58. '$ENDIF ''DEBUG
  59.  
  60.  
  61. WELCOME:
  62.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  63.     IF sz$ = "CONTINUE" THEN
  64.         UIPop 1
  65.     ELSE
  66.         GOSUB ASKQUIT
  67.         GOTO WELCOME
  68.     END IF
  69.  
  70. ' remove the options a there are none.
  71. OPTION:
  72.  
  73.  
  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 OPTION
  94.     ELSE
  95.         GOSUB ASKQUIT
  96.         GOTO GETPATH
  97.     END IF
  98.  
  99.  
  100.     Install
  101.  
  102.  
  103. QUIT:
  104.     ON ERROR GOTO ERRQUIT
  105.  
  106.     IF ERR = 0 THEN
  107.         dlg% = EXITSUCCESS
  108.     ELSEIF ERR = STFQUIT THEN
  109.         dlg% = EXITQUIT
  110.     ELSE
  111.         dlg% = EXITFAILURE
  112.     END IF
  113. QUITL1:
  114.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  115.     IF sz$ = "REACTIVATE" THEN
  116.         GOTO QUITL1
  117.     END IF
  118.     UIPop 1
  119.  
  120.     END
  121.  
  122. ERRQUIT:
  123.     i% = DoMsgBox("Setup sources were corrupted, call 617-494-5330!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  124.     END
  125.  
  126.  
  127.  
  128. BADPATH:
  129.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  130.     IF sz$ = "REACTIVATE" THEN
  131.         GOTO BADPATH
  132.     END IF
  133.     UIPop 1
  134.     RETURN
  135.  
  136.  
  137.  
  138. ASKQUIT:
  139.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  140.  
  141.     IF sz$ = "EXIT" THEN
  142.         UIPopAll
  143.         ERROR STFQUIT
  144.     ELSEIF sz$ = "REACTIVATE" THEN
  145.         GOTO ASKQUIT
  146.     ELSE
  147.         UIPop 1
  148.     END IF
  149.     RETURN
  150.  
  151.  
  152.  
  153. '**
  154. '** Purpose:
  155. '**     Builds the copy list and performs all installation operations.
  156. '** Arguments:
  157. '**     none.
  158. '** Returns:
  159. '**     none.
  160. '*************************************************************************
  161. SUB Install STATIC
  162.  
  163.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  164.     CreateDir DEST$, cmoNone
  165.  
  166.  
  167.  ' these file go onto the hard drive the user entered
  168.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$  
  169.     CopyFilesInCopyList      
  170.     ClearCopyList 
  171.     
  172.  ' these files goto the windows system directory   
  173.   '  WinSysDir$ = GetWindowsSysDir  
  174.   '  AddSectionFilesToCopyList "system",SrcDir$,WinSysDir$
  175.   '  CopyFilesInCopyList             
  176.   '  ClearCopyList
  177.     
  178.  ' these files goto the windows directory
  179.  '   WindowsDir$ = GetWindowsDir
  180.   '  AddSectionFilesToCopyList "windir",SrcDir$,WindowsDir$
  181.   '  CopyFilesInCopyList   
  182.  
  183.  
  184.    CreateProgmanGroup"RMI ThemePaks", "", cmoNone
  185.    ShowProgmanGroup  "RMI ThemePaks", 1,   cmoNone
  186.   
  187.    CreateProgmanItem "RMI ThemePaks", "Cartoon Classics", MakePath(DEST$,"cartoons.exe"), "", cmoOverwrite 
  188.    CreateProgmanItem "RMI ThemePaks", "Composers Across Time", MakePath(DEST$,"composer.exe"), "", cmoOverwrite
  189.    CreateProgmanItem "RMI ThemePaks", "Festival Music", MakePath(DEST$,"festival.exe"), "", cmoOverwrite
  190.    CreateProgmanItem "RMI ThemePaks", "Movie Classics", MakePath(DEST$,"movies.exe"), "", cmoOverwrite
  191.    CreateProgmanItem "RMI ThemePaks", "American Pop Evolution", MakePath(DEST$,"popmusic.exe"), "", cmoOverwrite
  192.    CreateProgmanItem "RMI ThemePaks", "RMI Player", MakePath(DEST$,"rmiplay.exe"), "", cmoOverwrite
  193.    CreateProgmanItem "RMI ThemePaks", "RMI Help", MakePath(DEST$,"themehlp.exe"), "", cmoOverwrite
  194.    CreateProgmanItem "RMI ThemePaks", "RMI InfoPak", MakePath(DEST$,"infohlp.exe"), "", cmoOverwrite
  195.    
  196.    
  197. END SUB
  198.  
  199.  
  200.  
  201. '**
  202. '** Purpose:
  203. '**     Appends a file name to the end of a directory path,
  204. '**     inserting a backslash character as needed.
  205. '** Arguments:
  206. '**     szDir$  - full directory path (with optional ending "\")
  207. '**     szFile$ - filename to append to directory
  208. '** Returns:
  209. '**     Resulting fully qualified path name.
  210. '*************************************************************************
  211. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  212.     IF szDir$ = "" THEN
  213.         MakePath = szFile$
  214.     ELSEIF szFile$ = "" THEN
  215.         MakePath = szDir$
  216.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  217.         MakePath = szDir$ + szFile$
  218.     ELSE
  219.         MakePath = szDir$ + "\" + szFile$
  220.     END IF
  221. END FUNCTION
  222.  
  223.