home *** CD-ROM | disk | FTP | other *** search
/ Media Gallery 1995 June / MG6.ISO / spea / install / stplus / mciwin / setupe.mst < prev    next >
Encoding:
Text File  |  1995-02-08  |  13.1 KB  |  363 lines

  1. ''=========================================================================
  2. ''                       SPEA SHOWTIME PLUS Setup
  3. ''=========================================================================
  4. ''ENGLISH VERSION
  5.  
  6.  
  7. '' ----------------- script procedure definition files -----------------
  8. '$INCLUDE 'setupapi.inc'
  9. '$INCLUDE 'msdetect.inc'
  10.  
  11.  
  12. '' -------- Dialog ID's (resource identification numbers) --------------
  13. CONST LOGO = 1
  14.  
  15. WELCOME       = 100
  16. ASKQUIT       = 200
  17. DESTPATH      = 300
  18. EXITFAILURE   = 400
  19. EXITQUIT      = 600
  20. EXITSUCCESS   = 700
  21. OPTIONS       = 800
  22. APPHELP       = 900
  23. BADPATH       = 6400
  24. STILLACTIVE   = 9000
  25. BADENV        = 9100
  26.  
  27. SPEAV7Existed = 0
  28.  
  29.  
  30. '' ---------------- global string vars -------------------------------------
  31. GLOBAL dest$        ''Default destination directory
  32. GLOBAL option1$
  33. GLOBAL windir$
  34. GLOBAL winsysdir$
  35.  
  36.  
  37. '' -------------------- functions --------------------------------
  38. DECLARE SUB Install
  39. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  40. DECLARE FUNCTION VfWinIsLess11a LIB "SPECIAL.DLL" AS INTEGER
  41. DECLARE FUNCTION ExitWindowsRestart LIB "SPECIAL.DLL" AS INTEGER
  42. DECLARE FUNCTION DVA386_Included LIB "SPECIAL.DLL" AS INTEGER
  43.  
  44.  
  45. '' --------------------- before first popup ----------------------
  46. INIT:
  47.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  48.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  49.  
  50.     SetBitmap CUIDLL$, LOGO
  51.     SetTitle "SHOWTIME PLUS    Software Installation"    ''Rahmentext
  52.  
  53.     szInf$ = GetSymbolValue("STF_SRCINFPATH")    ''Hole Symboltabellenwert
  54.     IF szInf$ = "" THEN
  55.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  56.     END IF
  57.     ReadInfFile szInf$    '';oeffne und lese INF Datei
  58.  
  59.     checkfile$ = "STMODE.EXE"
  60.  
  61. '$IFDEF DEBUG
  62.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  63.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  64.     IF IsDriveValid(WinDrive$) = 0 THEN
  65.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  66.         GOTO QUIT
  67.     END IF
  68. '$ENDIF ''DEBUG
  69.  
  70. windir$     = GetWindowsDir()
  71. winsysdir$    = GetWindowsSysDir()
  72.  
  73.  
  74. '' ------------------------ information --------------------------
  75. ''WELCOME:
  76. ''    sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$) ''Dialogbox oeffnen
  77. ''    IF sz$ = "CONTINUE" THEN
  78. ''        UIPop 1    ''Dialogbox schliessen
  79. ''    ELSE
  80. ''        GOSUB ASKQUIT
  81. ''        GOTO WELCOME
  82. ''    END IF
  83.  
  84.  
  85. '' ------- Get destination path by GDC environment variable -------------
  86. '' ------- If GDC is not correctly set, do msg and abort Setup ----------
  87. dest$ = GetEnvVariableValue("GDC")
  88.  
  89. IF dest$ = "" THEN            '' GDC Variable überhaupt gesetzt?
  90.     GOSUB BADENV
  91. END IF
  92.  
  93. IF IsDirWritable(DEST$) = 0 THEN    '' Directory beschreibbar?
  94.     GOSUB BADENV
  95. END IF
  96.  
  97. sz$ = MakePath(dest$, checkfile$)
  98. IF DoesFileExist(sz$, femExists) THEN    '' Das richtige GDC-Verzeichnis?
  99. ELSE
  100.     GOSUB BADENV
  101. END IF
  102.  
  103.  
  104. '' ----------- check which Video for Windows version is installed ------------
  105. sz$ = MakePath(winsysdir$, "MSVIDEO.DLL")
  106.  
  107. IF DoesFileExist(sz$, femExists) THEN
  108.  
  109.     IF VfWinIsLess11a() = 1 THEN
  110.       option1$ = "onlyifless11a"
  111. ''      sz$ = "less than 1.1a"
  112.     ELSE
  113.       option1$ = ""
  114. ''      sz$ = "equal or greater 1.1a"
  115.     END IF
  116. ELSE
  117.       option1$ = "onlyifless11a"
  118. ''      sz$ = "less than 1.1a(2)"
  119. END IF    
  120.  
  121. '$IFDEF DEBUG
  122.         i% = DoMsgBox(sz$, "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  123. '$ENDIF ''DEBUG
  124.  
  125.  
  126. '' ---- install selected files, modify INI files, create Progman groups ---
  127. Install
  128.  
  129.  
  130. '' -------------- announce and execute Windows restart ----------------
  131. '' Language dependent
  132.  i% = DoMsgBox("Setup will now restart Windows.", "SHOWTIME PLUS Setup", MB_TASKMODAL+MB_OK)
  133.  
  134. RESTART:
  135. i% = ExitWindowsRestart
  136. IF i% = 1 THEN
  137.     sz$ = UIStartDlg(CUIDLL$, STILLACTIVE, "FInfoDlgProc", 0, "")
  138.     UIPop 1
  139.     IF sz$ = "EXIT" THEN
  140.           GOSUB ASKQUIT
  141.     END IF
  142.     GOTO RESTART
  143. END IF
  144.  
  145.  
  146. '' ------------------- furthermore ------------------------------
  147. QUIT:
  148.     ON ERROR GOTO ERRQUIT
  149.  
  150.     IF ERR = 0 THEN
  151.         dlg% = EXITSUCCESS
  152.     ELSEIF ERR = STFQUIT THEN
  153.         dlg% = EXITQUIT
  154.     ELSE
  155.         dlg% = EXITFAILURE
  156.     END IF
  157. QUITL1:
  158.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  159.     IF sz$ = "REACTIVATE" THEN
  160.         GOTO QUITL1
  161.     END IF
  162.     UIPop 1
  163.  
  164.     END
  165.  
  166.  
  167. ERRQUIT:
  168.     i% = DoMsgBox("Setup sources were corrupted!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  169.     END ''Meldung ausgeben
  170.  
  171.  
  172. BADPATH:
  173.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  174.     IF sz$ = "REACTIVATE" THEN
  175.         GOTO BADPATH
  176.     END IF
  177.     UIPop 1
  178.     RETURN
  179.  
  180.  
  181. ASKQUIT:
  182.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  183.  
  184.     IF sz$ = "EXIT" THEN
  185.         UIPopAll    ''alle Dialogboxen schliessen
  186.         ERROR STFQUIT
  187.     ELSEIF sz$ = "REACTIVATE" THEN
  188.         GOTO ASKQUIT
  189.     ELSE
  190.         UIPop 1
  191.     END IF
  192.     RETURN
  193.  
  194.  
  195. BADENV:
  196.     sz$ = UIStartDlg(CUIDLL$, BADENV, "FQuitDlgProc", 0, "")
  197.  
  198.         UIPopAll    ''alle Dialogboxen schliessen
  199.         ERROR STFQUIT
  200.     RETURN
  201.  
  202.  
  203. '' -------------------------- install subroutine ----------------------------
  204. '' --------------------------------------------------------------------------
  205. SUB Install STATIC
  206.  
  207.     ClearCopyList
  208.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  209. '' Muss schon existieren
  210. ''    CreateDir dest$, cmoNone        '' make destination path
  211.  
  212.  
  213. '' ------------------- select SHOWTIME PLUS files ----------------------
  214.     AddSectionKeyFileToCopyList "app",    "always",    SrcDir$, dest$
  215.  
  216. '' Language dependent
  217.     AddSectionKeyFileToCopyList "appeng",    "always",    SrcDir$, dest$
  218.  
  219.     AddSectionKeyFileToCopyList "appsys", "always",    SrcDir$, winsysdir$
  220.     AddSectionKeyFileToCopyList "drvwin", "always",    SrcDir$, windir$
  221.     AddSectionKeyFileToCopyList "drvsys", "always",    SrcDir$, winsysdir$
  222.  
  223.  
  224. '' ---------------- language files for V7SETUP and SPENERGY ----------
  225. '' Language dependent
  226.     AddSectionKeyFileToCopyList "drvwineng", "always",    SrcDir$, windir$
  227.  
  228.  
  229. '' ------------------- select VfW files ------------------------
  230. IF option1$ = "onlyifless11a" THEN
  231.     AddSectionKeyFileToCopyList "vfwwin", option1$,    SrcDir$, windir$
  232.     AddSectionKeyFileToCopyList "vfwsys", option1$,    SrcDir$, winsysdir$
  233. END IF
  234.  
  235.  
  236. '' ------------------- install selected files --------------------
  237. CopyFilesInCopyList    '' Kopieren
  238.  
  239.  
  240. '' ------------------ modify INI files for SHOWTIME ---------------
  241. IF DVA386_Included() = 0 THEN
  242.     CreateSysIniKeyValue windir$ + "system.ini", "386Enh", "device", "dva.386", cmoVital
  243. END IF
  244.  
  245. CreateIniKeyValue windir$ + "system.ini", "Drivers", "msvideo",      "stimecap.drv", cmoOverwrite
  246. CreateIniKeyValue windir$ + "system.ini", "Drivers", "DCI",          "DCIVIPER", cmoOverwrite
  247. CreateIniKeyValue windir$ + "system.ini", "Drivers", "VIDS.DRAW",    "UDH.DLL", cmoOverwrite
  248. CreateIniKeyValue windir$ + "system.ini", "Drivers", "DCIVIDC.CVID", "iccvid.drv", cmoOverwrite
  249. CreateIniKeyValue windir$ + "system.ini", "Drivers", "DCIVIDC.IV31", "indeov.drv", cmoOverwrite
  250. CreateIniKeyValue windir$ + "system.ini", "MCI",     "MpegVideo",     "mcispea.drv", cmoOverwrite
  251.  
  252.  
  253. '' ------------------ für V7SETUP --------------------------------
  254. '' Language dependent
  255. CreateIniKeyValue windir$ + "system.ini", "car1k.drv", "Lang", "eng", cmoOverwrite
  256. CreateIniKeyValue windir$ + "system.ini", "car1k.drv", "Refresh", "0", cmoOverwrite
  257. CreateIniKeyValue windir$ + "system.ini", "car1k.drv", "Video", "0", cmoOverwrite
  258.  
  259. CreateIniKeyValue windir$ + "system.ini", "boot",             "display.drv", "vga4ahtx.drv", cmoOverwrite
  260.  
  261. CreateIniKeyValue windir$ + "system.ini", "Tseng",             "resolution", "640x480", cmoOverwrite
  262. CreateIniKeyValue windir$ + "system.ini", "Tseng",             "colordepth", "16", cmoOverwrite
  263. CreateIniKeyValue windir$ + "system.ini", "Tseng",             "fontsize", "small", cmoOverwrite
  264. CreateIniKeyValue windir$ + "system.ini", "Tseng",             "color16format", "2", cmoOverwrite
  265. CreateIniKeyValue windir$ + "system.ini", "boot.description", "display.drv", "SPEA BigWin 640x480 65535 colors", cmoOverwrite
  266. CreateIniKeyValue windir$ + "system.ini", "386Enh",           "display",     "vddtli4.386", cmoOverwrite
  267.  
  268.  
  269. '' ------------------ für MCI -------------------------------
  270. CreateIniKeyValue windir$ + "spea.ini", "STimeCap.drv", "Hue",           "131", cmoOverwrite
  271. CreateIniKeyValue windir$ + "spea.ini", "STimeCap.drv", "Saturation",    "96", cmoOverwrite
  272. CreateIniKeyValue windir$ + "spea.ini", "STimeCap.drv", "Brightness",    "120", cmoOverwrite
  273. CreateIniKeyValue windir$ + "spea.ini", "STimeCap.drv", "Contrast",      "124", cmoOverwrite
  274. CreateIniKeyValue windir$ + "spea.ini", "STimeCap.drv", "Sharpness",     "127", cmoOverwrite
  275. CreateIniKeyValue windir$ + "spea.ini", "STimeCap.drv", "XDelay",        "143", cmoOverwrite
  276. CreateIniKeyValue windir$ + "spea.ini", "STimeCap.drv", "YDelay",        "14", cmoOverwrite
  277. CreateIniKeyValue windir$ + "spea.ini", "STimeCap.drv", "InputChannel",  "0", cmoOverwrite
  278. CreateIniKeyValue windir$ + "spea.ini", "STimeCap.drv", "VideoStandard", "1", cmoOverwrite
  279. CreateIniKeyValue windir$ + "spea.ini", "STimeCap.drv", "VideoCable",    "0", cmoOverwrite
  280. CreateIniKeyValue windir$ + "spea.ini", "STimeCap.drv", "Size40",        "4", cmoOverwrite
  281. CreateIniKeyValue windir$ + "spea.ini", "STimeCap.drv", "VideoFormat",   "1", cmoOverwrite
  282.  
  283. CreateIniKeyValue windir$ + "spea.ini", "MediaStation", "EnaTimeLimit",   "1", cmoOverwrite
  284. CreateIniKeyValue windir$ + "spea.ini", "MediaStation", "TimeLimit",      "5", cmoOverwrite
  285.  
  286. CreateIniKeyValue windir$ + "win.ini", "mci extensions", "mpg", "MpegVideo", cmoOverwrite
  287. CreateIniKeyValue windir$ + "win.ini", "mci extensions", "vpg", "MpegVideo", cmoOverwrite
  288. CreateIniKeyValue windir$ + "win.ini", "mci extensions", "dat", "MpegVideo", cmoOverwrite
  289. CreateIniKeyValue windir$ + "win.ini", "windows",        "run", "v7setup", cmoOverwrite
  290.  
  291. CreateIniKeyValue windir$ + "control.ini", "drivers.desc", "mcispea.drv", "[MCI] SPEA MPEG + VideoCD", cmoOverwrite
  292.  
  293.  
  294. ''----------------------- modify INI files for VfW --------------------------
  295. IF option1$ = "onlyifless11a" THEN
  296. CreateIniKeyValue windir$ + "system.ini", "Drivers", "VIDC.CVID", "iccvid.drv", cmoOverwrite
  297. CreateIniKeyValue windir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  298. CreateIniKeyValue windir$ + "system.ini", "Drivers", "VIDC.IV31", "ir32.dll", cmoOverwrite
  299. CreateIniKeyValue windir$ + "system.ini", "Drivers", "VIDC.IV32", "ir32.dll", cmoOverwrite
  300. CreateIniKeyValue windir$ + "system.ini", "Drivers", "VIDC.MRLE", "MSRLE.drv", cmoOverwrite
  301. CreateIniKeyValue windir$ + "system.ini", "Drivers", "VIDC.RT21", "indeov.drv", cmoOverwrite
  302. CreateIniKeyValue windir$ + "system.ini", "Drivers", "VIDC.YVU9", "ir21_r.dll", cmoOverwrite
  303. CreateIniKeyValue windir$ + "system.ini", "Drivers", "WaveMapper", "msacm.drv", cmoOverwrite
  304. CreateIniKeyValue windir$ + "system.ini", "Drivers", "MSACM.msadpcm", "msadpcm.acm", cmoOverwrite
  305. CreateIniKeyValue windir$ + "system.ini", "Drivers", "MSACM.imaadpcm", "imaadpcm.acm", cmoOverwrite
  306. CreateIniKeyValue windir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  307.  
  308. CreateIniKeyValue windir$ + "control.ini", "drivers.desc", "msacm.drv", "Microsoft Sound Mapper V2.00", cmoOverwrite
  309. CreateIniKeyValue windir$ + "control.ini", "drivers.desc", "msadpcm.acm", "Microsoft ADPCM Codec V2.00", cmoOverwrite
  310. CreateIniKeyValue windir$ + "control.ini", "drivers.desc", "imaadpcm.acm", "Microsoft IMA ADPCM Codec V2.00", cmoOverwrite
  311.  
  312. CreateIniKeyValue windir$ + "win.ini",    "mci extensions", "avi", "AVIVideo", cmoOverwrite
  313.  
  314. END IF '' ------------- onlyifless11a -------------------------------------
  315.  
  316.  
  317. '' ----------- create and/or show SPEA Progman group -------------
  318. sz$ = MakePath(windir$, "SPEAV7.GRP")
  319. IF DoesFileExist(sz$, femExists) THEN
  320.     SPEAV7Existed% = 1
  321. END IF
  322. CreateProgmanGroup "SPEA", sz$, cmoNone
  323. '' Wirkung:
  324. '' - Wenn SPEAV7.GRP bereits existiert:
  325. ''   Gruppe "SPEA" wird als SPEA.GRP erzeugt
  326. '' - Wenn SPEAV7.GRP nicht existiert:
  327. ''   Gruppe "SPEA" wird als SPEAV7.GRP erzeugt
  328.  
  329.  
  330. '' ------------------ create SPEA / SPEA/V7 Progman items ------------------
  331. path$ = MakePath(dest$, "mediasta.exe")
  332. CreateProgmanItem "SPEA", "MediaStation", path$, "", cmoOverwrite
  333.  
  334. path$ = MakePath(windir$, "v7setup.exe")
  335. CreateProgmanItem "SPEA", "V7SETUP", path$, "", cmoOverwrite
  336.  
  337. path$ = MakePath(windir$, "spenergy.exe")
  338. sz$ = MakePath(windir$, "SPEAV7.GRP")
  339. IF SPEAV7Existed% = 1 THEN
  340.     CreateProgmanItem "SPEA/V7", "SPEAenergy", path$, "", cmoOverwrite
  341. ELSE
  342.     CreateProgmanItem "SPEA", "SPEAenergy", path$, "", cmoOverwrite
  343. END IF
  344.  
  345.  
  346. END SUB '' ---- End of Install subroutine ---------
  347.  
  348.  
  349. '' ----------------------- MakePath function ----------------------------
  350. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  351.     IF szDir$ = "" THEN
  352.         MakePath = szFile$
  353.     ELSEIF szFile$ = "" THEN
  354.         MakePath = szDir$
  355.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  356.         MakePath = szDir$ + szFile$
  357.     ELSE
  358.         MakePath = szDir$ + "\" + szFile$
  359.     END IF
  360. END FUNCTION
  361.  
  362. '' -------------- end-of-file -------------
  363.