home *** CD-ROM | disk | FTP | other *** search
/ Wirehead - Virtual Media Galerie / QuantumAxcess-WireheadVirtualMediaGalerie-Win31.iso / wirehead.mst < prev    next >
Text File  |  1994-08-20  |  9KB  |  260 lines

  1. '**************************************************************************
  2. '*                     Wirehead Installation Script
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9. '$INCLUDE 'mscpydis.inc'    ''System
  10.  
  11. ''Dialog ID's
  12. CONST WELCOME       = 100
  13. CONST ASKQUIT       = 200
  14. CONST DESTPATH      = 300
  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. CONST TOOBIG        = 6300
  22.  
  23. ''Bitmap ID
  24. CONST LOGO = 1
  25.  
  26. GLOBAL DEST$        ''Default destination directory.
  27. GLOBAL OPTCUR$      ''Option selection from option dialog.
  28.  
  29. DECLARE SUB Install
  30. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  31. Declare Function ShowWindow Lib "User" (hWnd%, nCmdShow%) As Integer
  32. DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER
  33. DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER
  34.  
  35.  
  36.  
  37. INIT:
  38.      i% = ShowWindow(HwndFrame(), 3)
  39.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  40.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  41.  
  42.     SetBitmap CUIDLL$, LOGO
  43.     SetTitle "WIREHEAD: The Virtual Media Gallerie"
  44.  
  45.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  46.     IF szInf$ = "" THEN
  47.     szInf$ = GetSymbolValue("STF_CWDDIR") + "WIREHEAD.INF"
  48.     END IF
  49.     ReadInfFile szInf$
  50.  
  51.     OPTCUR$ = "1"
  52.     DEST$ = "C:\WIREHEAD"
  53.  
  54. '$IFDEF DEBUG
  55.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  56.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  57.     IF IsDriveValid(WinDrive$) = 0 THEN
  58.     i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  59.     GOTO QUIT
  60.     END IF
  61. '$ENDIF ''DEBUG
  62.  
  63. i% = ShowWindow(HwndFrame(), 3)
  64.  
  65. WELCOME:
  66.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  67.     IF sz$ = "CONTINUE" THEN
  68.     UIPop 1
  69.     ELSE
  70.     GOSUB ASKQUIT
  71.     GOTO WELCOME
  72.     END IF
  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 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("CD-ROM disc is damaged please call Quantum Axcess technical support at (614) 228-3903!", "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 "Wirehead Files", SrcDir$, DEST$
  173.     AddSectionFilesToCopyList "Controls", SrcDir$,  GetWindowsSysDir()
  174.     AddSectionFilesToCopyList "Special Files", SrcDir$, GetWindowsSysDir()
  175.     if DoesFileExist(MakePath(GetWindowsDir, "threed.vbx"),0) or DoesFileExist(MakePath(GetWindowsDir, "mci.vbx"),0)then
  176.     AddSectionFilesToCopyList "Special Files",SrcDir$, GetWindowsDir()
  177.     Endif 
  178.    
  179.     
  180.     IF OnWindowsNT() THEN
  181.     
  182.     ELSE
  183.        AddSectionFilesToCopyList "VfW Runtime", SrcDir$, GetWindowsSysDir()
  184.        AddSectionFilesToCopyList "OLE2", SrcDir$, GetWindowsSysDir()
  185.        AddSectionFilesToCopyList "ACM Drivers", SrcDir$, GetWindowsSysDir()
  186.        AddSectionFilesToCopyList "MPlayer", SrcDir$, GetWindowsDir()
  187.        AddSectionFilesToCopyList "AVICodecs", SrcDir$, GetWindowsSysDir()
  188.        AddSectionFilesToCopyList "Indeo-ini", SrcDir$, GetWindowsDir()
  189.   ENDIF
  190.     CopyFilesInCopyList
  191.  
  192.     ini$ = MakePath(GetWindowsDir, "WIREHEAD.INI")
  193.     CreateIniKeyValue ini$, "Start",  "Path", DEST$  , cmoNone
  194.     CreateIniKeyValue ini$, "Start",  "CDpath", SrcDir$ , cmoNone
  195.  
  196.     CreateProgmanGroup "WIREHEAD", "", cmoNone
  197.     ShowProgmanGroup  "WIREHEAD", 1, cmoNone
  198.     CreateProgmanItem "WIREHEAD", "WIREHEAD", MakePath(DEST$,"WIREHEAD.EXE"), "", cmoOverwrite
  199.     CreateProgmanItem "WIREHEAD", "Readme", "notepad.exe "+MakePath(DEST$,"README.TXT"), "", cmoOverwrite
  200.  
  201.     IF OnWindowsNT() THEN
  202.     ''Test
  203.     ELSE
  204.     IF VflatdPresent() = 0 THEN
  205.      CreateSysIniKeyValue GetWindowsDir() + "system.ini", "386Enh", "device", "dva.386", cmoOverwrite
  206.     END IF
  207.     CreateIniKeyValue GetWindowsDir() + "system.ini", "Drivers", "VIDC.CVID", "iccvid.drv", cmoOverwrite
  208.     CreateIniKeyValue GetWindowsDir() + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  209.     CreateIniKeyValue GetWindowsDir() + "system.ini", "Drivers", "VIDC.IV31", "indeov.drv", cmoOverwrite
  210.     CreateIniKeyValue GetWindowsDir() + "system.ini", "Drivers", "VIDC.MRLE", "MSRLE.drv", cmoOverwrite
  211.     IF DoesIniKeyExist (GetWindowsDir() +"system.ini", "Drivers", "VIDC.RT21")=0 then 
  212.        CreateIniKeyValue GetWindowsDir() + "system.ini", "Drivers", "VIDC.RT21", "indeov.drv", cmoOverwrite
  213.     END IF
  214.     CreateIniKeyValue GetWindowsDir() + "system.ini", "Drivers", "VIDC.YVU9", "indeov.drv", cmoOverwrite
  215.     CreateIniKeyValue GetWindowsDir() + "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
  216.     CreateIniKeyValue GetWindowsDir() + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  217.     CreateIniKeyValue GetWindowsDir() + "system.ini", "Drivers", "WaveMapper", "msacm.drv", cmoOverwrite
  218.     CreateIniKeyValue GetWindowsDir() + "system.ini", "Drivers", "MSACM.msadpcm", "msadpcm.acm", cmoOverwrite
  219.     CreateIniKeyValue GetWindowsDir() + "system.ini", "Drivers", "MSACM.imaadpcm", "imaadpcm.acm", cmoOverwrite
  220.     CreateIniKeyValue GetWindowsDir() + "control.ini", "drivers.desc", "msacm.drv", "Microsoft Sound Mapper V2.00", cmoOverwrite
  221.     CreateIniKeyValue GetWindowsDir() + "control.ini", "drivers.desc", "msadpcm.acm", "Microsoft ADPCM Codec V2.00", cmoOverwrite
  222.     CreateIniKeyValue GetWindowsDir() + "control.ini", "drivers.desc", "imaadpcm.acm", "Microsoft IMA ADPCM Codec V2.00", cmoOverwrite
  223.     Run ("regedit.exe /s " + MakePath(GetWindowsDir(), "mplayer.reg"))
  224.     Run ("regedit.exe /s " + MakePath(GetWindowsSysDir(), "OLE2.reg"))
  225.     Run ("regedit.exe /s " + MakePath(GetWindowsSysDir(), "cleanup.reg"))
  226.     Run ("profdisp.exe")   
  227.     ENDIF
  228.     CloseLogFile
  229.  
  230.  
  231.     IF RestartListEmpty() = 0 THEN
  232.     dlg% = DoMsgBox("System files in use.  Setup must exist Windows, copy these files, and restart Windows.","Problem",0)
  233.     dlg% = ExitExecRestart
  234.     ENDIF    
  235. END SUB
  236.  
  237.  
  238.  
  239. '**
  240. '** Purpose:
  241. '**     Appends a file name to the end of a directory path,
  242. '**     inserting a backslash character as needed.
  243. '** Arguments:
  244. '**     szDir$  - full directory path (with optional ending "\")
  245. '**     szFile$ - filename to append to directory
  246. '** Returns:
  247. '**     Resulting fully qualified path name.
  248. '*************************************************************************
  249. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  250.     IF szDir$ = "" THEN
  251.     MakePath = szFile$
  252.     ELSEIF szFile$ = "" THEN
  253.     MakePath = szDir$
  254.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  255.     MakePath = szDir$ + szFile$
  256.     ELSE
  257.     MakePath = szDir$ + "\" + szFile$
  258.     END IF
  259. END FUNCTION
  260.