home *** CD-ROM | disk | FTP | other *** search
/ MIDI Music Collection / MUSIC.iso / allmusic.10 / disk1 / setup.ms_ / setup.ms
Encoding:
Text File  |  1994-03-01  |  5.5 KB  |  204 lines

  1. '$INCLUDE 'setupapi.inc'
  2. '$INCLUDE 'msdetect.inc'
  3.  
  4. CONST WELCOME       = 100
  5. CONST ASKQUIT       = 200
  6. CONST DESTPATH      = 300
  7. CONST EXITFAILURE   = 400
  8. CONST EXITQUIT      = 600
  9. CONST EXITSUCCESS   = 700
  10. CONST APPHELP       = 900
  11. CONST BADPATH       = 6400
  12. CONST LOGO = 1
  13.  
  14. GLOBAL DEST$
  15. GLOBAL OPTCUR$
  16.  
  17. DECLARE SUB Install
  18. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  19. DECLARE FUNCTION JoinDispatch LIB "mscuistf.dll" (path$,l3%) AS INTEGER
  20. DECLARE FUNCTION MessageMax  LIB "mscuistf.dll" (i3%) AS INTEGER
  21.  
  22. INIT:
  23.     CUIDLL$ = "mscuistf.dll"
  24.     HELPPROC$ = "FHelpDlgProc"
  25.  
  26.     SetBitmap CUIDLL$, LOGO
  27.     SetTitle "All-Music Guide Setup"
  28.  
  29.    i1% = GetWindowsMajorVersion() 
  30.    i2% = GetWindowsMinorVersion()
  31.    i1% = i1%*100 + i2%
  32.     IF i1%<310 THEN
  33.       i1% = DoMsgBox("This program requires Windows 3.1 or later version.","All-Music Guide Setup",MB_OK)
  34.       END
  35.     END IF
  36.  
  37.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  38.     IF szInf$ = "" THEN
  39.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  40.     END IF
  41.     ReadInfFile szInf$
  42.  
  43.     OPTCUR$ = "1"
  44.     DEST$ = "C:\MUSIC"
  45.  
  46. '$IFDEF DEBUG
  47.     i% = SetSizeCheckMode(scmOnIgnore)
  48.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  49.     IF IsDriveValid(WinDrive$) = 0 THEN
  50.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  51.         GOTO QUIT
  52.     END IF
  53. '$ENDIF
  54.  
  55.     i3%=HwndFrame()
  56.     IF MessageMax(i3%) = 0 THEN
  57. '$ifdef DEBUG
  58.         StfApiErr saeFail, "MessageMax",i3%
  59. '$endif
  60.         ERROR STFERR
  61.     END IF
  62.  
  63. WELCOME:
  64.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  65.     IF sz$ = "CONTINUE" THEN
  66.         UIPop 1
  67.     ELSE
  68.         GOSUB ASKQUIT
  69.         GOTO WELCOME
  70.     END IF
  71.  
  72. GETPATH:
  73.     SetSymbolValue "EditTextIn", DEST$
  74.     SetSymbolValue "EditFocus", "END"
  75. GETPATHL1:
  76.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  77.     DEST$ = GetSymbolValue("EditTextOut")
  78.  
  79.     IF sz$ = "CONTINUE" THEN  
  80.         IF IsDirWritable(DEST$) = 0 THEN
  81.             i% = DoMsgBox("           Disk write error ! ","All-Music Guide Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  82. ''            GOSUB BADPATH
  83.             GOTO GETPATHL1
  84.          ELSE
  85.             L&=12500000
  86.             Drive$ = MID$(DEST$,1,1)
  87.             IF GetFreeSpaceForDrive(Drive$)<L& THEN
  88.             i% = DoMsgBox("There is not enough free space on drive "+Drive$+": . You need 12.5 MB FREE.", "All-Music Guide Setup", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  89.             GOTO GETPATHL1
  90.             END IF
  91.             UIPop 1
  92.         END IF
  93.         UIPop 1
  94.     ELSEIF sz$ = "REACTIVATE" THEN
  95.         GOTO GETPATHL1
  96.     ELSEIF sz$ = "BACK" THEN
  97.         UIPop 1
  98.         GOTO GETPATH
  99.     ELSE
  100.         GOSUB ASKQUIT
  101.         GOTO GETPATH
  102.     END IF
  103.  
  104.     Install
  105.  
  106. QUIT:
  107.     ON ERROR GOTO ERRQUIT
  108.  
  109.     IF ERR = 0 THEN
  110.         dlg% = EXITSUCCESS
  111.     ELSEIF ERR = STFQUIT THEN
  112.         dlg% = EXITQUIT
  113.     ELSE
  114.         dlg% = EXITFAILURE
  115.     END IF
  116. QUITL1:
  117.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  118.     IF sz$ = "REACTIVATE" THEN
  119.         GOTO QUITL1
  120.     END IF
  121.     UIPop 1
  122.  
  123.     END
  124.  
  125. ERRQUIT:
  126.     i% = DoMsgBox("Setup sources were corrupted, call your dealer!", "All-Music Guide Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  127.     END
  128.  
  129. BADPATH:
  130. ''  i% = DoMsgBox("Disk write error!","All-Music Guide Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  131.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  132.    IF sz$ = "REACTIVATE" THEN
  133. ''   IF i% = 1 THEN
  134.         GOTO BADPATH
  135.     END IF
  136.     UIPop 1
  137.     RETURN
  138.  
  139. ASKQUIT:
  140.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  141.  
  142.     IF sz$ = "EXIT" THEN
  143.         UIPopAll
  144.         ERROR STFQUIT
  145.     ELSEIF sz$ = "REACTIVATE" THEN
  146.         GOTO ASKQUIT
  147.     ELSE
  148.         UIPop 1
  149.     END IF
  150.     RETURN
  151.  
  152. SUB Install STATIC
  153.  
  154.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  155.     CreateDir DEST$, cmoNone
  156.  
  157.     ProSetPos 170,175
  158.  
  159.     AddSectionFilesToCopyList "AppFiles", SrcDir$, DEST$
  160.     
  161.     lTicks& = 1
  162.     AddToBillboardList "mscuistf.dll",5000,"FModelessDlgProc",lTicks&
  163.     lTicks& = 1
  164.     AddToBillboardList "mscuistf.dll",5001,"FModelessDlgProc",lTicks&
  165.     lTicks& = 1
  166.     AddToBillboardList "mscuistf.dll",5002,"FModelessDlgProc",lTicks&
  167.     lTicks& = 1
  168.     AddToBillboardList "mscuistf.dll",5003,"FModelessDlgProc",lTicks&
  169.     lTicks& = 1
  170.     AddToBillboardList "mscuistf.dll",5004,"FModelessDlgProc",lTicks&
  171.     lTicks& = 1
  172.     AddToBillboardList "mscuistf.dll",5005,"FModelessDlgProc",lTicks&
  173.     lTicks& = 2 
  174.     AddToBillboardList "mscuistf.dll",5006,"FModelessDlgProc",lTicks&
  175.     
  176.     CopyFilesInCopyList
  177.     
  178.     IF JoinDispatch(DEST$,i3%) = 0 THEN
  179. '$ifdef DEBUG
  180.         StfApiErr saeFail, "JoinDispatch", "",i3%
  181. '$endif
  182.         ERROR STFERR
  183.     END IF
  184.  
  185.     CreateProgmanGroup "All-Music Guide", "", cmoNone
  186.     ShowProgmanGroup  "All-Music Guide", 1, cmoNone
  187.     CreateProgmanItem "All-Music Guide", "All-Music Guide", MakePath(DEST$,"music.exe"), "", cmoOverwrite
  188.     CreateProgmanItem "All-Music Guide", "All-Music Guide Help", MakePath(GetWindowsDir,"winhelp.exe ") + MakePath(DEST$,"music.hlp"), "", cmoOverwrite
  189.  
  190.  
  191. END SUB
  192.  
  193. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  194.     IF szDir$ = "" THEN
  195.         MakePath = szFile$
  196.     ELSEIF szFile$ = "" THEN
  197.         MakePath = szDir$
  198.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  199.         MakePath = szDir$ + szFile$
  200.     ELSE
  201.         MakePath = szDir$ + "\" + szFile$
  202.     END IF
  203. END FUNCTION
  204.