home *** CD-ROM | disk | FTP | other *** search
/ Software One-Stop 3 / BOOTCDROM.iso / install / 34ffp24 / mpeg.mst < prev    next >
Encoding:
Text File  |  1995-10-09  |  10.0 KB  |  389 lines

  1.  
  2.  
  3. '**************************************************************************
  4. '*                       MSSetup
  5. '**************************************************************************
  6.  
  7. '$DEFINE DEBUG  ''Define for script development/debugging
  8.  
  9. '$INCLUDE 'setupapi.inc'
  10. '$INCLUDE 'msdetect.inc'
  11.  
  12. ''Dialog ID's
  13. CONST WELCOME       = 100
  14. CONST ASKQUIT       = 200
  15. CONST DESTPATH      = 300
  16. CONST EXITFAILURE   = 400
  17. CONST EXITQUIT      = 600
  18. CONST EXITSUCCESS   = 700
  19. CONST IOOPTIONS     = 1200       '' IO base address selection dialog
  20. CONST INTOPTIONS    = 1120       '' Interrupt selection dialog
  21. CONST DMAOPTIONS    = 1100       '' DMA Channel selection dialog
  22. CONST TVSOPTIONS    = 1110       '' Give the VGA informatiion
  23. CONST INSTOPTIONS   = 1500       '' Install or Configue selection dialog
  24. CONST APPHELP       = 900        '' Help dialog box
  25. CONST BADPATH       = 6400       '' Bad destination directory dialog box
  26. '' Dialog bitmap icon ID
  27. CONST LOGO = 1
  28.  
  29. ''Global variable declaration
  30. GLOBAL DEST$         '' Default destination directory
  31. GLOBAL BASEIO$       '' I/O address
  32. GLOBAL INTR$         '' Interrupt
  33. GLOBAL DMA$          '' DMA channel
  34. GLOBAL TVSYSTEM$     '' TV is PAL or not
  35. GLOBAL SELECTINSTALL$    '' Update configuration or full installation
  36. GLOBAL IOINDEX$
  37. GLOBAL INTINDEX$
  38. GLOBAL DMAINDEX$
  39. GLOBAL TVSINDEX$
  40. GLOBAL RSTART%
  41.  
  42. DECLARE SUB Install
  43. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  44. DECLARE SUB AdjustVxdInIni LIB "mscuistf.dll"
  45. DECLARE fUNCTION ExitWindowsExec  LIB "User" (Exec$, Param$) AS INTEGER
  46.  
  47. INIT:
  48.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  49.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  50.     RSTART% = 0
  51.   
  52.  
  53.     SetBitmap CUIDLL$, LOGO
  54.     SetTitle "CinaAction 34FF Plus Installation"
  55.  
  56. ''
  57.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  58.     IF szInf$ = "" THEN
  59.         szInf$ = GetSymbolValue("STF_CWDDIR") + "MPEG.INF"
  60.     END IF
  61.     ReadInfFile szInf$
  62.  
  63.     BASEIO$ = "0x280"
  64.     INTR$   =  "7"
  65.     DMA$    =  "6"
  66.     DEST$  =   "C:\CINACT"
  67.     SELECTINSTALL$ = "TRUE"
  68.  
  69. WELCOME:
  70.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  71.     IF sz$ = "CONTINUE" THEN
  72.         UIPop 1
  73.     ELSE
  74.         GOSUB ASKQUIT
  75.         GOTO WELCOME
  76.     END IF
  77.  
  78. ' Get install choice
  79. INOPTION:
  80.    SetSymbolValue "INSTALL","FALSE"
  81.    ini$ = MakePath(GetWindowsDir(),"MPEG-I.INI")
  82.  
  83.    IF DoesFileExist(ini$,femExists) THEN
  84.       sz$ = UIStartDlg(CUIDLL$, INSTOPTIONS, "FUpdateDlgProc", APPHELP, HELPPROC$)
  85.       SELECTINSTALL$ = GetSymbolValue("INSTALL")
  86.  
  87.       IF sz$ = "CONTINUE" THEN
  88.               UIPop(1)
  89.       ELSEIF sz$ = "REACTIVATE" THEN
  90.               GOTO INOPTION
  91.       ELSEIF sz$ = "CONFIG" THEN
  92.               UIPop 1
  93.               GOTO IOOPTION
  94.       ELSE
  95.            GOSUB ASKQUIT
  96.            GOTO INOPTION
  97.       END IF
  98.    END IF
  99.  
  100. ' Get the installation destination path
  101. GETPATH:
  102.     SetSymbolValue "EditTextIn", DEST$
  103.     SetSymbolValue "EditFocus", "END"
  104. GETPATHL1:
  105.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  106.     DEST$ = GetSymbolValue("EditTextOut")
  107.  
  108.     IF sz$ = "CONTINUE" THEN
  109.         IF IsDirWritable(DEST$) = 0 THEN
  110.             GOSUB BADPATH
  111.             GOTO GETPATHL1
  112.         END IF
  113.         UIPop 1
  114.     ELSEIF sz$ = "REACTIVATE" THEN
  115.         GOTO GETPATHL1
  116.     ELSEIF sz$ = "BACK" THEN
  117.         UIPop 1
  118.         GOTO INOPTION
  119.     ELSE
  120.         GOSUB ASKQUIT
  121.         GOTO GETPATH
  122.     END IF
  123.  
  124. ' Get IO Port choice
  125. IOOPTION:
  126.     IOINDEX$ = "1"
  127. IOOPTL1:
  128.     SetSymbolValue "RadioDefault", IOINDEX$
  129.     sz$ = UIStartDlg(CUIDLL$, IOOPTIONS, "FIODlgProc", APPHELP, HELPPROC$)
  130.     BASEIO$ = GetSymbolValue("IOPort")
  131.     IOINDEX$ = GetSymbolValue("ButtonChecked")
  132.  
  133.     IF sz$ = "CONTINUE" THEN
  134.         UIPop(1)
  135.     ELSEIF sz$ = "REACTIVATE" THEN
  136.         GOTO IOOPTL1
  137.  
  138.     ELSEIF sz$ = "BACK" THEN
  139.         UIPop 1
  140.         GOTO GETPATH
  141.     ELSE
  142.         GOSUB ASKQUIT
  143.         GOTO IOOPTION
  144.     END IF
  145.  
  146. ' Get Interrupt choice
  147. INTOPTION:
  148.     INTINDEX$ = "3"
  149. INTOPTL1:
  150.     SetSymbolValue "RadioDefault", INTINDEX$
  151.     sz$ = UIStartDlg(CUIDLL$, INTOPTIONS, "FIntDlgProc", APPHELP, HELPPROC$)
  152.     INTR$ = GetSymbolValue("Interrupt")
  153.     INTINDEX$ = GetSymbolValue("ButtonChecked")
  154.  
  155.     IF sz$ = "CONTINUE" THEN
  156.         UIPop(1)
  157.     ELSEIF sz$ = "REACTIVATE" THEN
  158.         GOTO INTOPTL1
  159.     ELSEIF sz$ = "BACK" THEN
  160.         UIPop 1
  161.         GOTO IOOPTL1
  162.     ELSE
  163.         GOSUB ASKQUIT
  164.         GOTO INTOPTION
  165.     END IF
  166.  
  167. ' Get DMA choice
  168. DMAOPTION:
  169.     DMAINDEX$ = "2"
  170. DMAOPTL1:
  171.     SetSymbolValue "RadioDefault", DMAINDEX$
  172.     sz$ = UIStartDlg(CUIDLL$, DMAOPTIONS, "FDMADlgProc", APPHELP, HELPPROC$)
  173.     DMA$ = GetSymbolValue("DMAChannel")
  174.     DMAINDEX$ = GetSymbolValue("ButtonChecked")
  175.  
  176.     IF sz$ = "CONTINUE" THEN
  177.         UIPop(1)
  178.     ELSEIF sz$ = "REACTIVATE" THEN
  179.         GOTO DMAOPTL1
  180.     ELSEIF sz$ = "BACK" THEN
  181.         UIPop 1
  182.         GOTO INTOPTL1
  183.     ELSE
  184.         GOSUB ASKQUIT
  185.         GOTO DMAOPTION
  186.     END IF
  187.  
  188. ' Get TV SYSTEM information.
  189. TVSOPTION:
  190.     TVSINDEX$ = "1"
  191. TVSOPTL1:
  192.     SetSymbolValue "RadioDefault", TVSINDEX$
  193.     sz$ = UIStartDlg(CUIDLL$, TVSOPTIONS, "FTVSDlgProc", APPHELP, HELPPROC$)
  194.  
  195.     TVSYSTEM$ = GetSymbolValue("TVSystem")
  196.     TVSINDEX$ = GetSymbolValue("ButtonChecked")
  197.  
  198.     IF sz$ = "CONTINUE" THEN
  199.         UIPop(1)
  200.     ELSEIF sz$ = "REACTIVATE" THEN
  201.         GOTO TVSOPTL1
  202.     ELSEIF sz$ = "BACK" THEN
  203.         UIPop 1
  204.         GOTO DMAOPTL1
  205.     ELSE
  206.         GOSUB ASKQUIT
  207.         GOTO TVSOPTION
  208.     END IF
  209.  
  210.    Install
  211.  
  212. QUIT:
  213.    ON ERROR GOTO ERRQUIT
  214.  
  215.    IF ERR = 0 THEN
  216.            dlg% = EXITSUCCESS
  217.    ELSEIF ERR = STFQUIT THEN
  218.            dlg% = EXITQUIT
  219.    ELSE
  220.            dlg% = EXITFAILURE
  221.    END IF
  222.  
  223.    Exe$ = GetWindowsDir()
  224.    SetRestartDir Exe$
  225.    RESTRT% = RestartListEmpty ()
  226.    Exe$ =  MakePath(GetWindowsDir(),"_msrstrt.exe")
  227.    empty$ = ""
  228.  
  229. QUITL1:
  230.    sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  231.  
  232.    IF   sz$ = "REACTIVATE" THEN
  233.         GOTO QUITL1
  234.  
  235.    ELSEIF sz$ = "CONTINUE" THEN
  236.  
  237.         UIPop 1
  238.         END
  239.    ELSE
  240.         I% = ExitWindowsExec (Exe$, empty$)
  241.         IF I% = 0 THEN
  242.            GOTO QUITL1
  243.         ELSE
  244.            END
  245.  
  246.         ENDIF
  247.  
  248.    END IF
  249.  
  250. ERRQUIT:
  251.     i% = DoMsgBox("Setup were corrupted!", " ", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  252.  
  253.     END
  254.  
  255.  
  256.  
  257. BADPATH:
  258.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  259.     IF sz$ = "REACTIVATE" THEN
  260.         GOTO BADPATH
  261.  
  262.     END IF
  263.     UIPop 1
  264.     RETURN
  265.  
  266.  
  267.  
  268. ASKQUIT:
  269.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  270.  
  271.     IF sz$ = "EXIT" THEN
  272.         UIPopAll
  273.         ERROR STFQUIT
  274.     ELSEIF sz$ = "REACTIVATE" THEN
  275.         GOTO ASKQUIT
  276.     ELSE
  277.         UIPop 1
  278.     END IF
  279.     RETURN
  280.  
  281.  
  282. '**
  283. '** Purpose:
  284. '**     Builds the copy list and performs all installation operations.
  285. '** Arguments:
  286. '**     none.
  287. '** Returns:
  288. '**     none.
  289. '*************************************************************************
  290. SUB Install STATIC
  291.  
  292. ' Create the MPEG-I.INI file
  293.     ini$ = MakePath(GetWindowsDir(),"MPEG-I.INI")
  294.  
  295. ' create section
  296.     section$ = "System"
  297.  
  298. ' Add the symbols to the MPEG-I.INI file
  299.     CreateIniKeyValue ini$, section$, "BoardAddress", BASEIO$ , cmoOverwrite
  300.     CreateIniKeyValue ini$, section$, "TVSystem", TVSYSTEM$ , cmoOverwrite
  301.  
  302.     section$ = "Video"
  303.     CreateIniKeyValue ini$, section$, "IrqNumber", INTR$ , cmoOverwrite
  304.     CreateIniKeyValue ini$, section$, "DmaChannel", DMA$, cmoOverwrite
  305.  
  306.  
  307. IF SELECTINSTALL$ = "TRUE" THEN
  308.  
  309. ' Create the directory
  310.    SrcDir$ = GetSymbolValue("STF_SRCDIR")
  311.  
  312.     'Copy PCVIDEO ini files
  313.  
  314.     IF  TVSYSTEM$ <> "PAL" THEN
  315.         AddSectionFilesToCopyList "mctini.nts", SrcDir$, GetWindowsDir()
  316.     ELSE
  317.         AddSectionFilesToCopyList "mctini.pal", SrcDir$, GetWindowsDir()
  318.     END IF
  319.  
  320.     CopyFilesInCopyList
  321.  
  322.  
  323. ' Copy files
  324.     AddSectionFilesToCopyList "mpegdll", SrcDir$, GetWindowsSysDir()
  325.  
  326.     CopyFilesInCopyList
  327.  
  328.  
  329.     IF (SrcDir$ <> DEST$) AND (SrcDir$ <> DEST$+"\") THEN
  330.  
  331.         CreateDir DEST$, cmoNone
  332.  
  333.     ' Copy files
  334.         AddSectionFilesToCopyList "mpegfiles", SrcDir$, DEST$
  335.  
  336.         CopyFilesInCopyList
  337.     END IF
  338.  
  339.    ini$ = MakePath(GetWindowsDir(),"SYSTEM.INI")
  340.    Vxd$ = MakePath(DEST$, "VFIC001D.386")
  341.  
  342.    CreateIniKeyValue ini$, "386Enh", ";evice", Vxd$, cmoOverwrite
  343.    CreateIniKeyValue ini$, "mci", "MpegVideo","MCIMPEG.DRV", cmoOverwrite
  344.    CreateIniKeyValue ini$, "mci", "VideoCDI","MCIMPEG.DRV", cmoOverwrite
  345.    CreateIniKeyValue ini$, "386Enh", "VFICDMAC","2", cmoOverwrite
  346.    CreateIniKeyValue ini$, "386Enh", "VFICV86C","8", cmoOverwrite
  347.  
  348.    group$ = "CinaAction 34FF Plus"
  349.    CreateProgmanGroup group$, "", cmoNone
  350.    ShowProgmanGroup  group$, 1, cmoNone
  351.    CreateProgmanItem group$, "CinaAction 34FF+", MakePath(DEST$,"mpegplay.exe"),"",cmoOverwrite
  352.    CreateProgmanItem group$, "CinaAction 34FF+ Setup", MakePath(DEST$,"setup.exe"),"",cmoOverwrite
  353.    CreateProgmanItem group$, "Release Note", MakePath(DEST$,"readme.txt"),"",cmoOverwrite
  354.    AdjustVxdInIni
  355.  
  356.    ini$ = MakePath(GetWindowsDir(),"WIN.INI")
  357.    CreateIniKeyValue ini$, "mci extensions", "mpg", "MpegVideo", cmoOverwrite
  358.    CreateIniKeyValue ini$, "mci extensions", "dat", "MpegVideo", cmoOverwrite
  359.  
  360.  
  361. END IF
  362.  
  363.  
  364. END SUB
  365.  
  366.  
  367.  
  368. '**
  369. '** Purpose:
  370. '**     Appends a file name to the end of a directory path,
  371. '**     inserting a backslash character as needed.
  372. '** Arguments:
  373. '**     szDir$  - full directory path (with optional ending "\")
  374. '**     szFile$ - filename to append to directory
  375. '** Returns:
  376. '**     Resulting fully qualified path name.
  377. '*************************************************************************
  378. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  379.     IF szDir$ = "" THEN
  380.         MakePath = szFile$
  381.     ELSEIF szFile$ = "" THEN
  382.         MakePath = szDir$
  383.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  384.         MakePath = szDir$ + szFile$
  385.     ELSE
  386.         MakePath = szDir$ + "\" + szFile$
  387.     END IF
  388. END FUNCTION
  389.