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

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