home *** CD-ROM | disk | FTP | other *** search
/ Software One-Stop 3 / BOOTCDROM.iso / install / 34fsep / english / mpeg.mst < prev    next >
Encoding:
Text File  |  1995-12-19  |  9.8 KB  |  378 lines

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