home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1998 January (DVD) / VPR980100.ISO / DRIVER / IBM / HXV104 / HXV104.EXE / AVIDRV.MS_ / AVIDRV.MS
Text File  |  1996-02-01  |  11KB  |  352 lines

  1. ''/****************************************************************************\
  2. ''*                                                                            *
  3. ''*      AVIDRV.MST    -        Setup File for AVI Drivers Installation.       *
  4. ''*                                                                            *
  5. ''*      Copyright (c) Trident Microsystems, Inc. 1995                         *
  6. ''*      All Rights Reserved.                                                  *
  7. ''*                                                                            *
  8. ''*      Based on Microsoft template file.                                     *
  9. ''*                                                                            *
  10. ''\****************************************************************************/
  11.  
  12.  
  13. '$DEFINE DEBUG  ''Define for script development/debugging
  14.  
  15. '$INCLUDE 'setupapi.inc'
  16. '$INCLUDE 'msdetect.inc'
  17.  
  18. ''Dialog ID's
  19. CONST WELCOME           = 100
  20. CONST ASKQUIT           = 200
  21. CONST DESTPATH          = 300
  22. CONST EXITFAILURE       = 400
  23. CONST EXITQUIT          = 600
  24. CONST EXITSUCCESS       = 700     
  25. '' CONST OPTIONS           = 800
  26. CONST APPHELP           = 900
  27. CONST BADPATH           = 6400
  28. CONST BITMAPBACKGROUND  = 9000
  29. CONST PATH_CONFIG       = 9500
  30.  
  31.  
  32. GLOBAL DEST$        ''Default destination directory.
  33. GLOBAL DEST_SYS$    ''SYSTEM destination directory.
  34. GLOBAL WINDOWS$     ''The directory which contains WINDOWS
  35. '' GLOBAL OPTCUR$      ''Option selection from option dialog.
  36.  
  37. DECLARE SUB Install
  38. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  39. DECLARE FUNCTION AddVxDinSystemIni LIB "mscuistf.dll" ( szVxD$, szVxDPath$, szWindows$ ) AS INTEGER
  40. DECLARE FUNCTION PassInstallDirectory LIB "mscuistf.dll" ( nManufID%, szInstDir$ ) AS INTEGER
  41.  
  42.  
  43. ''Following constants were taken from WINDOWS.H. &H means that they are hex
  44. CONST WS_VISIBLE       = &H10000000
  45. CONST WS_BORDER        = &H00800000
  46. CONST WS_CLIPCHILDREN  = &H02000000
  47. CONST GWL_STYLE        = -16
  48. CONST SW_SHOWMAXIMIZED = 3
  49.  
  50. DECLARE FUNCTION ShowWindow  LIB "user.exe" ( hWnd%, iShow% ) AS INTEGER
  51. DECLARE FUNCTION SetWindowLong LIB "user.exe" ( hWnd%, offset%, style& ) AS LONG
  52.  
  53. ''Bitmap ID
  54. CONST LOGO         = 1
  55.  
  56. INIT:
  57.     hWnd% = HwndFrame()
  58.     SWL& = SetWindowLong( hWnd%, GWL_STYLE, WS_VISIBLE + WS_BORDER + WS_CLIPCHILDREN )
  59.     SW% = ShowWindow( hWnd%, SW_SHOWMAXIMIZED )
  60.  
  61.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  62.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  63.     ''CONFIGUTIL$ = "EQCONFIG.EXE"
  64.  
  65.     SetBitmap CUIDLL$, LOGO
  66.     SetTitle "AVI Drivers Setup"
  67.  
  68.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  69.     IF szInf$ = "" THEN
  70.     szInf$ = GetSymbolValue("STF_CWDDIR") + "AVIDRV.INF"
  71.     END IF
  72.     ReadInfFile szInf$
  73.  
  74. ''    OPTCUR$ = "1"
  75.     WINDOWS$ = GetWindowsDir()
  76.     SUBDIR$ = "AVIDRV"
  77.     dlgnumb% = 0
  78.  
  79.  
  80. WELCOME:
  81.     dlgnumb% = dlgnumb% + 1
  82.  
  83.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  84.     IF sz$ = "CONTINUE" THEN
  85.     dlgnumb% = dlgnumb% - 1
  86.     UIPop 1
  87.     ELSE
  88.     GOSUB ASKQUIT
  89.     GOTO WELCOME
  90.     END IF
  91.  
  92.  
  93. '' OPTION:
  94. ''    SetSymbolValue "RadioDefault", OPTCUR$
  95. '' OPTL1:
  96. ''    sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  97. ''    dlgnumb% = dlgnumb% + 1
  98. ''    OPTCUR$ = GetSymbolValue("ButtonChecked")
  99.   
  100. '' IF sz$ = "CONTINUE" THEN
  101.     UIPop 1
  102. ''      dlgnumb% = dlgnumb% - 1
  103.  
  104. '' ELSEIF sz$ = "REACTIVATE" THEN
  105. ''      GOTO OPTL1
  106. '' ELSE
  107. ''      GOSUB ASKQUIT
  108. ''      GOTO OPTION
  109. '' END IF
  110.  
  111. GETPATH:
  112.     SetSymbolValue "EditTextIn", WINDOWS$
  113.     SetSymbolValue "EditFocus", "END"
  114. GETPATHL1:
  115.     dlgnumb% = dlgnumb% + 1
  116.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  117.     WINDOWS$ = GetSymbolValue("EditTextOut")
  118.  
  119.     IF sz$ = "CONTINUE" THEN
  120.     IF IsDirWritable(WINDOWS$) = 0 THEN
  121.         GOSUB BADPATH
  122.         GOTO GETPATHL1
  123.     END IF
  124.     dlgnumb% = dlgnumb% - 1
  125.     UIPop 1
  126.  
  127.     ELSEIF sz$ = "REACTIVATE" THEN
  128.     GOTO GETPATHL1
  129.     ELSEIF sz$ = "BACK" THEN
  130.     dlgnumb% = dlgnumb% - 1
  131.     UIPop 1
  132.     GOTO GETPATH
  133.     ELSE
  134.     GOSUB ASKQUIT
  135.     GOTO GETPATH
  136.     END IF
  137.  
  138.  
  139. GETPATH_APPL:
  140.     DEST$ = MakePath(WINDOWS$, SUBDIR$)
  141.     SetSymbolValue "EditTextIn", DEST$
  142.     SetSymbolValue "EditFocus", "END"
  143. GETPATHL_APPL1:
  144.     dlgnumb% = dlgnumb% + 1
  145.     sz$ = UIStartDlg(CUIDLL$, PATH_CONFIG, "FEditDlgProc", APPHELP, HELPPROC$)
  146.     DEST$ = GetSymbolValue("EditTextOut")
  147.  
  148.     IF sz$ = "CONTINUE" THEN
  149.     IF IsDirWritable(DEST$) = 0 THEN
  150.         GOSUB BADPATH
  151.         GOTO GETPATHL_APPL1
  152.     END IF
  153.     dlgnumb% = dlgnumb% - 1
  154.     UIPop 1
  155.  
  156.     ELSEIF sz$ = "REACTIVATE" THEN
  157.     GOTO GETPATHL_APPL1
  158.     ELSEIF sz$ = "BACK" THEN
  159.     dlgnumb% = dlgnumb% - 1
  160.     UIPop 1
  161.     GOTO GETPATH_APPL
  162.     ELSE
  163.     GOSUB ASKQUIT
  164.     GOTO GETPATH_APPL
  165.     END IF
  166.  
  167.  
  168.     Install
  169.  
  170.  
  171. QUIT:
  172.     ON ERROR GOTO ERRQUIT
  173.  
  174.     IF ERR = 0 THEN
  175.     dlg% = EXITSUCCESS
  176.     ELSEIF ERR = STFQUIT THEN
  177.     dlg% = EXITQUIT
  178.     ELSE
  179.     dlg% = EXITFAILURE
  180.     END IF
  181. QUITL1:
  182.     dlgnumb% = dlgnumb% + 1
  183.  
  184.     IF dlg% = EXITSUCCESS THEN
  185.       hwini$ = MakePath( WINDOWS$, "XPCVAVI.INI" )
  186.       t% = PassInstallDirectory( 0, hwini$ )
  187.       sznew$ = UIStartDlg(CUIDLL$, EXITSUCCESS, "FAQuitDlgProc", 0, "")
  188.     ELSE
  189.       sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  190.     END IF
  191.     dlgnumb% = dlgnumb% - 1
  192.     UIPop 1
  193.  
  194.     IF sz$ = "REACTIVATE" THEN
  195.     GOTO QUITL1
  196.     END IF
  197.     dlgnumb% = dlgnumb% - 1
  198.     UIPop 1
  199.  
  200.     END
  201.  
  202. ERRQUIT:
  203.     i% = DoMsgBox("Setup sources were corrupted! Call Trident Microsystems, Inc.", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  204.     END
  205.  
  206.  
  207.  
  208. BADPATH:
  209.     dlgnumb% = dlgnumb% + 1
  210.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  211.     IF sz$ = "REACTIVATE" THEN
  212.     GOTO BADPATH
  213.     END IF
  214.     dlgnumb% = dlgnumb% - 1
  215.     UIPop 1
  216.     RETURN
  217.  
  218.  
  219.  
  220. ASKQUIT:
  221.     dlgnumb% = dlgnumb% + 1
  222.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  223.  
  224.     IF sz$ = "EXIT" THEN
  225.     t% = dlgnumb% - 2
  226.     IF t% < 1 THEN
  227.         dlgnumb% = 1
  228.     ELSE
  229.         dlgnumb% = dlgnumb% - 2
  230.     END IF
  231.     UIPop dlgnumb
  232.     ERROR STFQUIT
  233.     UIPop( dlgnumb% )
  234.     ELSEIF sz$ = "REACTIVATE" THEN
  235.     GOTO ASKQUIT
  236.     ELSE
  237.     dlgnumb% = dlgnumb% - 1
  238.     UIPop 1
  239.     END IF
  240.     RETURN
  241.  
  242.  
  243. ''**
  244. ''** Purpose:
  245. ''**     Builds the copy list and performs all installation operations.
  246. ''** Arguments:
  247. ''**     none.
  248. ''** Returns:
  249. ''**     none.
  250. ''*************************************************************************
  251. SUB Install STATIC
  252.  
  253.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  254.     CreateDir DEST$, cmoNone
  255.  
  256.     AddSectionFilesToCopyList "Capture_DRV_File", SrcDir$, DEST$
  257.  
  258. ''  IF OPTCUR$ = "1" THEN
  259. ''    AddSectionFilesToCopyList "Codec1.0_DRV_File", SrcDir$, DEST$
  260. ''  ELSE
  261.       AddSectionFilesToCopyList "Codec_DRV_File", SrcDir$, DEST$
  262. ''  END IF
  263.  
  264.     AddSectionFilesToCopyList "INI_Files", SrcDir$, WINDOWS$
  265.  
  266.     DEST_SYS$ = MakePath(WINDOWS$, "SYSTEM")
  267.     AddSectionFilesToCopyList "DLL_Files", SrcDir$, DEST_SYS$
  268.  
  269.     CopyFilesInCopyList
  270.  
  271.     ini$ = MakePath( WINDOWS$, "SYSTEM.INI" )
  272.     capdrv$ = MakePath( DEST$, "tricapt.drv" )
  273.     coddrv$ = MakePath( DEST$, "tricodc.drv" )
  274. ''    mcidrv$ = MakePath( DEST_SYS$, "mciovl.drv" )
  275.     mcidrv$ = "mciovl.drv"
  276.  
  277.     RemoveIniKey         ini$, "drivers", "msvideo", cmoNone
  278.     CreateSysIniKeyValue ini$, "drivers", "msvideo", capdrv$, cmoNone
  279.   
  280. ''Scott remove some lines 11/01/95  
  281. ''    IF OPTCUR$ = "1" THEN
  282. ''      RemoveIniKey       ini$, "drivers", "VIDS.DRAW", cmoNone
  283. ''    ELSE
  284. ''      RemoveIniKey       ini$, "drivers", "VIDS.DRAW", cmoNone
  285. ''      CreateSysIniKeyValue ini$, "drivers", "VIDS.DRAW", coddrv$, cmoNone
  286. ''    END IF
  287.  
  288. ''Scott add next four lines 11/01/95  
  289.     RemoveIniKey         ini$, "drivers", "VIDC.TY2N", cmoNone
  290.     CreateSysIniKeyValue ini$, "drivers", "VIDC.TY2N", coddrv$, cmoNone
  291.     RemoveIniKey         ini$, "drivers", "VIDC.TY2C", cmoNone
  292.     CreateSysIniKeyValue ini$, "drivers", "VIDC.TY2C", coddrv$, cmoNone
  293.     RemoveIniKey         ini$, "drivers", "VIDC.TY0N", cmoNone
  294.     CreateSysIniKeyValue ini$, "drivers", "VIDC.TY0N", coddrv$, cmoNone
  295.  
  296.     RemoveIniKey         ini$, "Trident AVI Drivers", "VideoFormat", cmoNone
  297.     CreateSysIniKeyValue ini$, "Trident AVI Drivers", "VideoFormat", "101", cmoNone
  298.     RemoveIniKey         ini$, "Trident AVI Drivers", "Size40", cmoNone
  299.     CreateSysIniKeyValue ini$, "Trident AVI Drivers", "Size40", "4", cmoNone
  300.     RemoveIniKey         ini$, "Trident AVI Drivers", "CompessRatio", cmoNone
  301.     CreateSysIniKeyValue ini$, "Trident AVI Drivers", "CompessRatio", "100", cmoNone
  302.  
  303. ''  IF OPTCUR$ = "1" THEN
  304. ''    RemoveIniKey         ini$, "Trident AVI Drivers", "DrawMode", cmoNone
  305. ''    RemoveIniKey         ini$, "Trident AVI Drivers", "DrawFormat", cmoNone
  306. ''  ELSE
  307.       RemoveIniKey         ini$, "Trident AVI Drivers", "DrawMode", cmoNone
  308.       CreateSysIniKeyValue ini$, "Trident AVI Drivers", "DrawMode", "1", cmoNone
  309.       RemoveIniKey         ini$, "Trident AVI Drivers", "DrawFormat", cmoNone
  310.       CreateSysIniKeyValue ini$, "Trident AVI Drivers", "DrawFormat", "1", cmoNone
  311. ''  END IF
  312.  
  313. ''Scott 111795 overlay driver
  314.     RemoveIniKey         ini$, "MCI", "overlay", cmoNone
  315.     CreateSysIniKeyValue ini$, "MCI", "overlay", "mciovl.drv", cmoNone
  316.  
  317.     ini$ = MakePath( WINDOWS$, "CONTROL.INI" )
  318.     RemoveIniKey         ini$, "drivers.desc", capdrv$, cmoNone
  319.     CreateSysIniKeyValue ini$, "drivers.desc", capdrv$, "Trident AVI キャプチャー ドライバー", cmoNone
  320.  
  321.     RemoveIniKey         ini$, "drivers.desc", coddrv$, cmoNone
  322.     CreateSysIniKeyValue ini$, "drivers.desc", coddrv$, "Trident AVI ドロウ ドライバー", cmoNone
  323.  
  324.     RemoveIniKey         ini$, "drivers.desc", mcidrv$, cmoNone
  325.     CreateSysIniKeyValue ini$, "drivers.desc", mcidrv$, "Trident MCI オーバーレイ ドライバー", cmoNone
  326.  
  327. END SUB
  328.  
  329.  
  330.  
  331. ''**
  332. ''** Purpose:
  333. ''**     Appends a file name to the end of a directory path,
  334. ''**     inserting a backslash character as needed.
  335. ''** Arguments:
  336. ''**     szDir$  - full directory path (with optional ending "\")
  337. ''**     szFile$ - filename to append to directory
  338. ''** Returns:
  339. ''**     Resulting fully qualified path name.
  340. ''*************************************************************************
  341. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  342.     IF szDir$ = "" THEN
  343.     MakePath = szFile$
  344.     ELSEIF szFile$ = "" THEN
  345.     MakePath = szDir$
  346.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  347.     MakePath = szDir$ + szFile$
  348.     ELSE
  349.     MakePath = szDir$ + "\" + szFile$
  350.     END IF
  351. END FUNCTION
  352.