home *** CD-ROM | disk | FTP | other *** search
/ Barefoot Immortal - Multimedia Computer Doctor / C8009.iso / driver / vfw / setup.mst < prev    next >
Encoding:
Text File  |  1994-11-23  |  8.1 KB  |  248 lines

  1. '**************************************************************************
  2. '*           Video for Windows 1.1 Runtime Setup
  3. '**************************************************************************
  4. '$INCLUDE 'setupapi.inc'
  5. '$INCLUDE 'mscpydis.inc'    ''System
  6. '$INCLUDE 'msdetect.inc'    ''Detects Available Disk Space
  7.  
  8. ''Dialog ID's
  9. CONST WELCOME       = 100
  10. CONST ASKQUIT       = 200
  11. CONST EXITFAILURE   = 400
  12. CONST EXITQUIT      = 600
  13. CONST EXITSUCCESS   = 700
  14. CONST APPHELP       = 900
  15. CONST CHECK         = 2500
  16. CONST SMALLWIN      = 2200
  17. CONST RESTART       = 2600
  18. CONST RESTARTII     = 2700
  19.  
  20. ''Bitmap ID
  21. CONST LOGO = 1
  22.  
  23. GLOBAL SizeReq&  '' Total Disk Size required for installation
  24.  
  25. ''File Types
  26. GLOBAL WinDir$
  27. GLOBAL WinSysDir$
  28. GLOBAL WINDRIVE$    ''Windows Drive Letter.
  29. GLOBAL CHECKSTATES$
  30.  
  31. DECLARE SUB Install
  32. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  33. DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER
  34. DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER
  35. DECLARE SUB Reboot LIB "iniupd.dll"
  36. DECLARE fUNCTION ExitWindowsExec  LIB "User" (Exec$, Param$) AS INTEGER
  37.  
  38. INIT:
  39.  
  40.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  41.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  42.  
  43.     WIN32ENABLED% = 0
  44.     MajorVer% = GetWindowsMajorVersion()
  45.     MinorVer% = GetWindowsMinorVersion()
  46.  
  47.     IF MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  48.         i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software.  Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  49.         END
  50.     END IF
  51.  
  52.     IF OnWindowsNT() THEN
  53.           i% = DoMsgBox("This version of Video for Windows does not run on Windows NT.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  54.           END
  55.     END IF
  56.  
  57.     SetBitmap CUIDLL$, LOGO
  58.     SetTitle "Microsoft Video for Windows 1.1 Setup"
  59.  
  60.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  61.     IF szInf$ = "" THEN
  62.        szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  63.     END IF
  64.     ReadInfFile szInf$
  65.  
  66.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  67.  
  68. WELCOME:
  69.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  70.     IF sz$ = "CONTINUE" THEN
  71.        UIPop 1
  72.      ELSE
  73.         GOSUB ASKQUIT
  74.         GOTO WELCOME
  75.     END IF
  76.  
  77. ''Prepare Copy list and check size
  78.  
  79.     ClearCopyList
  80.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  81.     WinDir$ = GetWindowsDir()
  82.     DEST$ = GetWindowsDir()
  83.     WinSysDir$ = GetWindowsSysDir()
  84.  
  85. ''  Runtime files (on Windows disk)
  86.  
  87.     AddSectionFilesToCopyList "VfW Runtime", SrcDir$, WinSysDir$
  88.     AddSectionFilesToCopyList "OLE2", SrcDir$, WinSysDir$
  89.     AddSectionFilesToCopyList "ACM Drivers", SrcDir$, WinSysDir$
  90.     AddSectionFilesToCopyList "MPlayer", SrcDir$, WinDir$
  91.     AddSectionFilesToCopyList "AVICodecs", SrcDir$, WinSysDir$
  92.  
  93. ''  Check windrive diskspace
  94.     SizeReq& = GetCopyListCost ("","", "")
  95.     IF SizeReq& <> 0 THEN
  96.         GOSUB SMALLWIN
  97.         END
  98.     END IF
  99.  
  100. Install
  101.  
  102. '' Restart Windows: if it has to updates ACM from DOS, it restarts Windows automatically
  103. '' else, it gives the user the choice
  104.     RESTRT% = RestartListEmpty ()
  105.     Exe$ = DEST$ + "\_msrstrt.exe"
  106.     Batch$ = DEST$ + "\_mssetup.bat"
  107.     empty$ = ""
  108. RESTART:
  109.     IF RESTRT% = 0 THEN
  110.        sz$ = UIStartDlg(cuidll$, RESTART, "FInfo0DlgProc", 0, "")
  111.        IF sz$ = "REACTIVATE" THEN
  112.           GOTO RESTART
  113.        ENDIF
  114.        I% = ExitExecRestart ()
  115.        RemoveFile Exe$, cmoForce
  116.        RemoveFile Batch$, cmoForce
  117.        END
  118.     ELSE
  119.        sz$ = UIStartDlg(CUIDLL$, RESTARTII, "FQuitDlgProc", 0, "")
  120.        IF sz$ = "CONTINUE" THEN
  121.           I% = ExitWindowsExec (Exe$, empty$)
  122.           IF I% = 0 THEN
  123.              GOTO RESTART
  124.           ELSE
  125.              END
  126.          ENDIF
  127.        ELSEIF sz$ = "EXIT" THEN
  128.           UIPopAll
  129.           END
  130.        ELSEIF sz$ = "REACTIVATE" THEN
  131.           GOTO RESTART
  132.        ELSE
  133.           UIPop 1
  134.        END IF
  135.     END IF
  136.  
  137.  
  138. QUIT:
  139.     ON ERROR GOTO ERRQUIT
  140.  
  141.     IF ERR = 0 THEN
  142.         dlg% = EXITSUCCESS
  143.     ELSEIF ERR = STFQUIT THEN
  144.         dlg% = EXITQUIT
  145.     ELSE
  146.         dlg% = EXITFAILURE
  147.     END IF
  148. QUITL1:
  149.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  150.     IF sz$ = "REACTIVATE" THEN
  151.         GOTO QUITL1
  152.     END IF
  153.     UIPop 1
  154.     END
  155.  
  156. ERRQUIT:
  157.     i% = DoMsgBox("An installation problem occured, call the product support service", "Setup Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  158.     END
  159.  
  160.  
  161. ASKQUIT:
  162.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  163.  
  164.     IF sz$ = "EXIT" THEN
  165.         UIPopAll
  166. ''        ERROR STFQUIT
  167.         END
  168.     ELSEIF sz$ = "REACTIVATE" THEN
  169.         GOTO ASKQUIT
  170.     ELSE
  171.         UIPop 1
  172.     END IF
  173.     RETURN
  174.  
  175. SMALLWIN:
  176.     sz$ = UIStartDlg(CUIDLL$, SMALLWIN, "FInfo0DlgProc", 0, "")
  177.     IF sz$ = "REACTIVATE" THEN
  178.         GOTO SMALLWIN
  179.     END IF
  180.     UIPop 1
  181.     RETURN
  182.  
  183. '**
  184. '** Purpose:
  185. '**     Performs all installation operations.
  186. '** Arguments:
  187. '**     none.
  188. '** Returns:
  189. '**     none.
  190. '*************************************************************************
  191. SUB Install STATIC
  192.  
  193.     SetRestartDir WinDir$
  194.     CopyFilesInCopyList
  195.  
  196. ''Updating WIN.INI and SYSTEM.INI
  197.     IF VflatdPresent() = 0 THEN
  198.        CreateSysIniKeyValue WinDir$ + "system.ini", "386Enh", "device", "dva.386", cmoOverwrite
  199.     END IF
  200.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MRLE", "msrle.dll", cmoOverwrite
  201.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV31", "ir32.dll", cmoOverwrite
  202.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21", "ir21.dll", cmoOverwrite
  203.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.YVU9", "iyvu9.dll", cmoOverwrite
  204.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV32", "ir32.dll", cmoOverwrite
  205.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  206.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.CVID", "iccvid.drv", cmoOverwrite
  207.     CreateIniKeyValue WinDir$ + "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
  208.     CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  209.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "WaveMapper", "msacm.drv", cmoOverwrite
  210.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.msadpcm", "msadpcm.acm", cmoOverwrite
  211.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.imaadpcm", "imaadpcm.acm", cmoOverwrite
  212.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msacm.drv", "Microsoft Sound Mapper V2.00", cmoOverwrite
  213.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msadpcm.acm", "Microsoft ADPCM Codec V2.00", cmoOverwrite
  214.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "imaadpcm.acm", "Microsoft IMA ADPCM Codec V2.00", cmoOverwrite
  215.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msrle.drv", "Microsoft RLE Compressor", cmoOverwrite
  216.     Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg"))
  217.     Run ("regedit.exe /s " + MakePath(WinSysDir$, "OLE2.reg"))
  218.     Run ("regedit.exe /s " + MakePath(WinSysDir$, "cleanup.reg"))
  219.  
  220. '' Mplayer
  221. '   CreateProgmanItem "Accessories", "Media Player", MakePath(WinDir$, "mplayer.exe"), "", cmoOverwrite
  222.  
  223.     Run ("profdisp.exe")
  224. END SUB
  225.  
  226. '**
  227. '** Purpose:
  228. '**     Appends a file name to the end of a directory path,
  229. '**     inserting a backslash character as needed.
  230. '** Arguments:
  231. '**     szDir$  - full directory path (with optional ending "\")
  232. '**     szFile$ - filename to append to directory
  233. '** Returns:
  234. '**     Resulting fully qualified path name.
  235. '*************************************************************************
  236. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  237.     IF szDir$ = "" THEN
  238.         MakePath = szFile$
  239.     ELSEIF szFile$ = "" THEN
  240.         MakePath = szDir$
  241.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  242.         MakePath = szDir$ + szFile$
  243.     ELSE
  244.         MakePath = szDir$ + "\" + szFile$
  245.     END IF
  246. END FUNCTION
  247.  
  248.