home *** CD-ROM | disk | FTP | other *** search
/ MIDI Music Collection / MUSIC.iso / musiclib.104 / disk1 / setup.ms_ / setup.ms
Encoding:
Text File  |  1993-10-14  |  7.8 KB  |  266 lines

  1. '**************************************************************************
  2. '*                       MusicMagic Songbook Setup
  3. '**************************************************************************
  4.  
  5. ''$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8.  
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH1     = 300
  14. CONST DESTPATH2     = 301
  15. CONST EXITFAILURE   = 400
  16. CONST EXITQUIT      = 600
  17. CONST EXITSUCCESS   = 700
  18. CONST OPTIONS       = 800
  19. CONST APPHELP       = 900
  20. CONST BADPATH       = 6400
  21.  
  22. ''Bitmap ID
  23. CONST LOGO = 1
  24.  
  25. GLOBAL MIDIBASEDEST$        ''Default destination directory for midibase.
  26. GLOBAL MUSICMAGICDEST$      ''Default destination directory for musicmagic.
  27. GLOBAL RUNTIMEDEST$
  28. GLOBAL OPTCUR$      ''Option selection from option dialog.
  29.  
  30. DECLARE SUB Install
  31. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  32.  
  33.  
  34. INIT:
  35.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  36.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  37.  
  38.     SetBitmap CUIDLL$, LOGO
  39.     SetTitle "Multimedia Music Library Setup"
  40.  
  41.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  42.     IF szInf$ = "" THEN
  43.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  44.     END IF
  45.     ReadInfFile szInf$
  46.  
  47.     OPTCUR$ = "1"
  48.     MIDIBASEDEST$ = "C:\Midibase"
  49.     MUSICMAGICDEST$ = "C:\MusMagic"
  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.  
  71. 'OPTION:
  72. '    SetSymbolValue "RadioDefault", OPTCUR$
  73. 'OPTL1:
  74. '    sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  75. '    OPTCUR$ = GetSymbolValue("ButtonChecked")
  76.  
  77. '    IF sz$ = "CONTINUE" THEN
  78. '        UIPop(1)
  79. '    ELSEIF sz$ = "REACTIVATE" THEN
  80. '        GOTO OPTL1
  81. '    ELSE
  82. '        GOSUB ASKQUIT
  83. '        GOTO OPTION
  84. '    END IF
  85.  
  86.  
  87. GETPATH:
  88.     SetSymbolValue "EditTextIn", MIDIBASEDEST$
  89.     SetSymbolValue "EditFocus", "END"
  90. GETPATHL1:
  91.     sz$ = UIStartDlg(CUIDLL$, DESTPATH1, "FEditDlgProc", APPHELP, HELPPROC$)
  92.     MIDIBASEDEST$ = GetSymbolValue("EditTextOut")
  93.  
  94.     IF sz$ = "CONTINUE" THEN
  95.         IF IsDirWritable(MIDIBASEDEST$) = 0 THEN
  96.             GOSUB BADPATH
  97.             GOTO GETPATHL1
  98.         END IF
  99.         UIPop 1
  100.     ELSEIF sz$ = "REACTIVATE" THEN
  101.         GOTO GETPATHL1
  102.     ELSEIF sz$ = "BACK" THEN
  103.         UIPop 1
  104.         'GOTO OPTION
  105.         GOTO WELCOME
  106.     ELSE
  107.         GOSUB ASKQUIT
  108.         GOTO GETPATH
  109.     END IF
  110.  
  111. GETPATH2:
  112.     SetSymbolValue "EditTextIn", MUSICMAGICDEST$
  113.     SetSymbolValue "EditFocus", "END"
  114. GETPATHL2:
  115.     sz$ = UIStartDlg(CUIDLL$, DESTPATH2, "FEditDlgProc", APPHELP, HELPPROC$)
  116.     MUSICMAGICDEST$ = GetSymbolValue("EditTextOut")
  117.  
  118.     IF sz$ = "CONTINUE" THEN
  119.         IF IsDirWritable(MUSICMAGICDEST$) = 0 THEN
  120.             GOSUB BADPATH
  121.             GOTO GETPATHL2
  122.         END IF
  123.         UIPop 1
  124.     ELSEIF sz$ = "REACTIVATE" THEN
  125.         GOTO GETPATHL2
  126.     ELSEIF sz$ = "BACK" THEN
  127.         UIPop 1
  128.         'GOTO OPTION
  129.         GOTO WELCOME
  130.     ELSE
  131.         GOSUB ASKQUIT
  132.         GOTO GETPATH2
  133.     END IF
  134.  
  135.     Install
  136.  
  137. QUIT:
  138.     ON ERROR GOTO ERRQUIT
  139.  
  140.     IF ERR = 0 THEN
  141.         dlg% = EXITSUCCESS
  142.     ELSEIF ERR = STFQUIT THEN
  143.         dlg% = EXITQUIT
  144.     ELSE
  145.         dlg% = EXITFAILURE
  146.     END IF
  147. QUITL1:
  148.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  149.     IF sz$ = "REACTIVATE" THEN
  150.         GOTO QUITL1
  151.     END IF
  152.     UIPop 1
  153.  
  154.     END
  155.  
  156. ERRQUIT:
  157.     i% = DoMsgBox("Setup sources were corrupted, please call Midisoft Technical Support", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  158.     END
  159.  
  160.  
  161.  
  162. BADPATH:
  163.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  164.     IF sz$ = "REACTIVATE" THEN
  165.         GOTO BADPATH
  166.     END IF
  167.     UIPop 1
  168.     RETURN
  169.  
  170.  
  171.  
  172. ASKQUIT:
  173.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  174.  
  175.     IF sz$ = "EXIT" THEN
  176.         UIPopAll
  177.         ERROR STFQUIT
  178.     ELSEIF sz$ = "REACTIVATE" THEN
  179.         GOTO ASKQUIT
  180.     ELSE
  181.         UIPop 1
  182.     END IF
  183.     RETURN
  184.  
  185.  
  186.  
  187. '**
  188. '** Purpose:
  189. '**     Builds the copy list and performs all installation operations.
  190. '** Arguments:
  191. '**     none.
  192. '** Returns:
  193. '**     none.
  194. '*************************************************************************
  195. SUB Install STATIC
  196.  
  197.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  198.     CreateDir MIDIBASEDEST$, cmoNone
  199.     CreateDir MUSICMAGICDEST$, cmoNone
  200.     CreateDir MakePath(MIDIBASEDEST$, "RUNTIME"), cmoNone
  201.     CreateDir MakePath(MIDIBASEDEST$, "MIDFILES"), cmoNone
  202.  
  203.     RUNTIMEDEST$ = MaKePath(MIDIBASEDEST$, "RUNTIME")
  204.  
  205.     AddSectionFilesToCopyList "Runtime", SrcDir$, MIDIBASEDEST$ + "\Runtime"
  206.     AddSectionFilesToCopyList "Midibase", SrcDir$, MIDIBASEDEST$
  207.     AddSectionFilesToCopyList "Midisoft", SrcDir$, MUSICMAGICDEST$
  208.     AddSectionFilesToCopyList "Midi files", MakePath(SrcDir$, "Midfiles"), MIDIBASEDEST$ + "\Midfiles"
  209.     CopyFilesInCopyList
  210.  
  211.     CreateIniKeyValue "Win.ini", "Extensions", "mdb", MakePath(DEST$,"TBOOK.EXE"), cmoOverwrite
  212.  
  213.     ini$ = MakePath(GetWindowsDir, "MIDISOFT.INI")
  214.     CreateIniKeyValue ini$, "SetupInfo", "MM_Running", "NO", cmoOverwrite
  215.     CreateIniKeyValue ini$, "SetupInfo", "MM_Setup", DEST$, cmoOverwrite
  216.     CreateIniKeyValue ini$, "SetupInfo", "MM_LastRunFrom", MakePath(MUSICMAGICDEST$,"MusMagic.exe"), cmoOverwrite
  217.  
  218.     ICONPATH$ = MakePath(RUNTIMEDEST$,"Midibase.ICO")
  219.  
  220.     CreateProgmanGroup "Multimedia Music Library", "", cmoNone
  221.     ShowProgmanGroup  "Multimedia Music Library", 1, cmoNone
  222.     'CreateProgmanItem "MusicMagic Songbook", "MusicMagic Songbook", MakePath(DEST$,"TBOOK.EXE")+" "+MakePath(DEST$,"SONGBOOK.MAG"), "SONGBOOK.ICO", cmoOverwrite
  223.     CreateProgmanItem "Multimedia Music Library", "MIDIBase", MakePath(RUNTIMEDEST$,"TBOOK.EXE")+" "+MakePath(MIDIBASEDEST$,"Midibase.mdb"), ICONPATH$, cmoOverwrite
  224.     CreateProgmanItem "Multimedia Music Library", "MusicMagic", MakePath(MUSICMAGICDEST$,"MUSMAGIC.EXE"), "", cmoOverwrite
  225.  
  226.     'CreateProgmanItem "MusicMagic", "Music Magic", MakePath(DEST$,"TBOOK.EXE")+" "+MakePath(DEST$,"SONGBOOK.MAG"), "ICONPATH$, 0, 0, 0, ", cmoOverwrite
  227.     'CreateProgmanItem "MusicMagic", "Music Magic", "TBOOK.EXE "+MakePath(DEST$,"SONGBOOK.MAG"), "MakePath(DEST$,"SONGBOOK.ICO"), 0, 0, 0, DEST$", cmoOverwrite
  228.     'CreateProgmanItem "MusicMagic SongBook", "MusicMagic Help", MakePath(DEST$, "MusMagic.hlp"), "", cmoOverwrite
  229.     'CreateProgmanItem "MusicMagic SongBook", "ReadMe", MakePath(DEST$, "Readme.txt"), "", cmoOverwrite
  230.  
  231. END SUB
  232.  
  233. '**
  234. '** Purpose:
  235. '**     Runs MIDIFIle.exe's to expand them
  236. '**
  237. '** Arguments:
  238. '**     None
  239. '**
  240. '** Returns:
  241. '**    None
  242. '*************************************************************************
  243.  
  244. '**
  245. '** Purpose:
  246. '**     Appends a file name to the end of a directory path,
  247. '**     inserting a backslash character as needed.
  248. '** Arguments:
  249. '**     szDir$  - full directory path (with optional ending "\")
  250. '**     szFile$ - filename to append to directory
  251. '** Returns:
  252. '**     Resulting fully qualified path name.
  253. '*************************************************************************
  254. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  255.     IF szDir$ = "" THEN
  256.         MakePath = szFile$
  257.     ELSEIF szFile$ = "" THEN
  258.         MakePath = szDir$
  259.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  260.         MakePath = szDir$ + szFile$
  261.     ELSE
  262.         MakePath = szDir$ + "\" + szFile$
  263.     END IF
  264. END FUNCTION
  265.  
  266.