home *** CD-ROM | disk | FTP | other *** search
/ Software One-Stop 3 / BOOTCDROM.iso / install / movistar / winmpeg.mst < prev    next >
Encoding:
Text File  |  1995-06-29  |  12.7 KB  |  411 lines

  1. '$INCLUDE 'setupapi.inc'
  2. '$INCLUDE 'msdetect.inc'
  3.  
  4. ''===================================================================
  5. ''Define Dialog Box ID
  6. ''All ID must be the same as defined in wimpeg.h
  7. ''===================================================================
  8. CONST WELCOME       = 100
  9. CONST ASKQUIT       = 200
  10. CONST DESTPATH      = 300
  11. CONST EXITFAILURE   = 400
  12. CONST EXITQUIT      = 500
  13. CONST EXITSUCCESS   = 600
  14. CONST APPHELP       = 700
  15. CONST BADPATH       = 800
  16. CONST VIDEOIOBOX    = 900       ''Dialog Box for Video IO base address
  17. CONST AUDIOIOBOX    = 1000      ''Dialog Box for Audio IO base address
  18. CONST VIDEOINTBOX   = 1100      ''Dialog Box for Video Interrupt
  19. CONST AUDIOINTBOX   = 1200      ''Dialog Box for Audio Interrupt
  20. CONST SYNCINTBOX   = 1300       ''Dialog Box for Synchsonize Interrupt
  21. CONST DMACHANNELBOX    = 1400   ''Dialog Box for DMA channel
  22. CONST INSTALLBOX   = 1500      ''Dialog Box for New Install or Change IO
  23. CONST CDBOX   = 1600      ''Dialog Box for install CD
  24. CONST WINDOWSDIR       = 1700
  25.  
  26. ''Define Dialog bitmap icon ID
  27. CONST LOGO = 1
  28.  
  29. ''Global variable declaration
  30. GLOBAL Winbond$ ''(C)Copyright WINBOND ELECTRONICS CORP. 199X  All rights reserved
  31. GLOBAL VxDInstall$   ''Winbond WINVDMAD.386 Installation status
  32. GLOBAL InstallDest$  ''Default Installation directory
  33. GLOBAL InstallCD$  ''Default CD drive
  34. GLOBAL SYNC$  ''Default Sync
  35. GLOBAL VideoIObase$  ''Video I/O address
  36. GLOBAL AudioIObase$  ''Audio I/O address
  37. GLOBAL VideoInt$     ''Video Interrupt
  38. GLOBAL AudioInt$     ''Audio Interrupt
  39. GLOBAL SyncInt$      ''Sync. Interrupt
  40. GLOBAL DmaChannel$   ''DMA channel
  41. GLOBAL SelectInstall$   ''Update configuration or full installation
  42. GLOBAL SelectCD$        ''Update configuration or full installation
  43.  
  44. DECLARE SUB Install
  45. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  46.  
  47. INIT:
  48.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  49.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  50.  
  51.     SetBitmap CUIDLL$, LOGO
  52.     SetTitle "Movie Star MPEG Demo Installation"
  53.  
  54.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  55.     IF szInf$ = "" THEN
  56.     szInf$ = GetSymbolValue("STF_CWDDIR") + "WINMPEG.INF"
  57.     END IF
  58.     ReadInfFile szInf$
  59.  
  60.     VideoIObase$ = "0x200"      ''default Video IO base
  61.     AudioIObase$ = "0x300"      ''default Audio IO base
  62.     VideoInt$ = "7"             ''default Video Interrupt
  63.     FINT$  = "10"               ''default Sync Interrupt
  64.     AudioInt$ = "12"            ''default Audio Interrupt
  65.     DmaChannel$   = "6"         ''default DMA channel
  66.     InstallDest$  = "C:\MSTAR" ''default install directory
  67.     InstallCD$  = "D"   ''default install CD drive
  68.     SYNC$  = "YES"      ''default install CD SYNC
  69.     SelectInstall$ = "TRUE"             ''default is install all
  70.     SelectCD$ = "FALSE"         ''default is install all
  71.     VxDInstall = "YES"          ''default add device=winvdmad.386 to system.ini
  72.  
  73. WELCOME:
  74. ''Detect whether WINVDMAD.386 installed in system.ini ?
  75.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  76.  
  77.     VxDInstall$ = GetSymbolValue("VxDString")   ''VxD install status
  78.     IF sz$ = "CONTINUE" THEN
  79.         UIPop 1
  80.     ELSE
  81.         GOSUB ASKQUIT
  82.         GOTO WELCOME
  83.     END IF
  84.  
  85. ''If winmpeg.ini already exist in windows
  86. ''      Display SELECTINSTALLBOX
  87. ''else
  88. ''      Diaplay ASKPATH
  89. OPTION:
  90.    SetSymbolValue "INSTALL","FALSE"
  91. OPTL1:
  92.    ini$ = MakePath(GetWindowsDir(),"WINMPEG.INI")
  93.  
  94.    IF DoesFileExist(ini$,femExists) THEN        ''winmpeg.ini exist
  95.       sz$ = UIStartDlg(CUIDLL$, INSTALLBOX, "FUpdateDlgProc", APPHELP, HELPPROC$)
  96.       SelectInstall$ = GetSymbolValue("INSTALL")
  97.  
  98.       IF sz$ = "CONTINUE" THEN  ''select Reinstall
  99.               UIPop(1)
  100.       ELSEIF sz$ = "REACTIVATE" THEN
  101.               GOTO OPTION
  102.       ELSEIF sz$ = "CONFIGURE" THEN     ''select Configure
  103.               UIPop 1
  104.               GOTO SetVideoIO
  105.       ELSE
  106.            GOSUB ASKQUIT
  107.            GOTO OPTION
  108.       END IF
  109.    END IF
  110.  
  111. ''Set to default Install path
  112. SETPATH:
  113.     SetSymbolValue "EditTextIn", InstallDest$
  114.     SetSymbolValue "EditFocus", "END"
  115. ASKPATH:
  116.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  117.     InstallDest$ = GetSymbolValue("EditTextOut")
  118.  
  119.     IF sz$ = "CONTINUE" THEN
  120.         IF IsDirWritable(InstallDest$) = 0 THEN
  121.             GOSUB BADPATH
  122.             GOTO ASKPATH
  123.         END IF
  124.         UIPop 1
  125.     ELSEIF sz$ = "REACTIVATE" THEN
  126.         GOTO ASKPATH
  127.     ELSE
  128.         GOSUB ASKQUIT
  129.         GOTO SETPATH
  130.     END IF
  131.  
  132. SETCD:
  133.     SetSymbolValue "EditCDIn", InstallCD$
  134.     SetSymbolValue "EditFocus", "END"
  135.     SetSymbolValue "RadioDefault", "0"  ''Default CD interface=AT bus
  136. SETCD1:
  137.     sz$ = UIStartDlg(CUIDLL$, CDBOX, "FEditCDProc", APPHELP, HELPPROC$)
  138.     SelectCD$ = GetSymbolValue("CDSelect")
  139.     InstallCD$ = GetSymbolValue("EditCDOut")
  140.     SYNC$=GetSymbolValue("SYNCSelect")
  141.  
  142.     IF sz$ = "CONTINUE" THEN
  143.         UIPop 1
  144.     ELSEIF sz$ = "REACTIVATE" THEN
  145.         GOTO SETCD1
  146.     ELSE
  147.         GOSUB ASKQUIT
  148.         GOTO SETCD
  149.     END IF
  150.  
  151. ''Select Video IO address
  152. SetVideoIO:
  153.     SetSymbolValue "RadioDefault", "0"  ''Default Video IO=0x200
  154. SetVideoIO1:
  155.     sz$ = UIStartDlg(CUIDLL$, VIDEOIOBOX, "FVIOProc", APPHELP, HELPPROC$)
  156.     VideoIObase$ = GetSymbolValue("IOPortV")
  157.  
  158.     IF sz$ = "CONTINUE" THEN
  159.         UIPop(1)
  160.     ELSEIF sz$ = "REACTIVATE" THEN
  161.         GOTO SetVideoIO1
  162.     ELSE
  163.         GOSUB ASKQUIT
  164.         GOTO SetVideoIO
  165.     END IF
  166.  
  167. ''Select Audio IO Address
  168. SetAudioIO:
  169.     SetSymbolValue "RadioDefault", "4"  ''Default Audio IO=0x300
  170. SetAudioIO1:
  171.     sz$ = UIStartDlg(CUIDLL$, AUDIOIOBOX, "FAIOProc", APPHELP, HELPPROC$)
  172.     AudioIObase$ = GetSymbolValue("IOPortA")
  173.  
  174.     IF sz$ = "CONTINUE" THEN
  175.         UIPop(1)
  176.     ELSEIF sz$ = "REACTIVATE" THEN
  177.         GOTO SetAudioIO1
  178.     ELSE
  179.         GOSUB ASKQUIT
  180.         GOTO SetAudioIO
  181.     END IF
  182.  
  183. ''for SB210 , no video interrupt
  184.         GOTO SetAudioInt
  185. ''Select Video Interrupt
  186. SetVideoInt:
  187.     SetSymbolValue "RadioDefault", "2"  ''Default Video Interrupt=7
  188. SetVideoInt1:
  189.     sz$ = UIStartDlg(CUIDLL$, VIDEOINTBOX, "FVIntProc", APPHELP, HELPPROC$)
  190.     VideoInt$ = GetSymbolValue("VInterrupt")
  191.  
  192.     IF sz$ = "CONTINUE" THEN
  193.         UIPop(1)
  194.     ELSEIF sz$ = "REACTIVATE" THEN
  195.         GOTO SetVideoInt1
  196.     ELSE
  197.         GOSUB ASKQUIT
  198.         GOTO SetVideoInt
  199.     END IF
  200.  
  201. ''Select Audio Synchronize Interrupt
  202. SetSyncInt:
  203.     SetSymbolValue "RadioDefault", "0"  ''Default Sync Interrupt=10
  204. SetSyncInt1:
  205.     sz$ = UIStartDlg(CUIDLL$, SYNCINTBOX, "FFIntProc", APPHELP, HELPPROC$)
  206.     SyncInt$ = GetSymbolValue("FInterrupt")
  207.  
  208.     IF sz$ = "CONTINUE" THEN
  209.         UIPop(1)
  210.     ELSEIF sz$ = "REACTIVATE" THEN
  211.         GOTO SetSyncInt1
  212.     ELSE
  213.         GOSUB ASKQUIT
  214.         GOTO SetSyncInt
  215.     END IF
  216.  
  217. ''Select Audio Interrupt
  218. SetAudioInt:
  219.     SetSymbolValue "RadioDefault", "0"  ''Default Audio Interrupt=12
  220. SetAudioInt1:
  221.     sz$ = UIStartDlg(CUIDLL$, AUDIOINTBOX, "FAIntProc", APPHELP, HELPPROC$)
  222.     AudioInt$ = GetSymbolValue("AInterrupt")
  223.  
  224.     IF sz$ = "CONTINUE" THEN
  225.         UIPop(1)
  226.     ELSEIF sz$ = "REACTIVATE" THEN
  227.         GOTO SetAudioInt1
  228.     ELSE
  229.         GOSUB ASKQUIT
  230.         GOTO SetAudioInt
  231.     END IF
  232.  
  233. ''Select DMA Channel
  234. SetDMA:
  235.     SetSymbolValue "RadioDefault", "1"  ''Default DMA channel=6
  236. SetDMA1:
  237.     sz$ = UIStartDlg(CUIDLL$, DMACHANNELBOX, "FDMADlgProc", APPHELP, HELPPROC$)
  238.     DmaChannel$ = GetSymbolValue("DMAChannel")
  239.  
  240.     IF sz$ = "CONTINUE" THEN
  241.         UIPop(1)
  242.     ELSEIF sz$ = "REACTIVATE" THEN
  243.         GOTO SetDMA1
  244.     ELSE
  245.         GOSUB ASKQUIT
  246.         GOTO SetDMA
  247.     END IF
  248.  
  249. ''IF SelectInstall$ = "TRUE" THEN
  250. DisplayWindowsDir:
  251.     SetSymbolValue "WindowsDir","Current Windows Directory is : "+GetWindowsDir()
  252. DisplayWindowsDir1:
  253.     sz$ = UIStartDlg(CUIDLL$, WINDOWSDIR, "WinDirDlgProc", APPHELP, HELPPROC$)
  254.     IF sz$ = "CONTINUE" THEN
  255.         UIPop(1)
  256.     ELSEIF sz$ = "REACTIVATE" THEN
  257.         GOTO DisplayWindowsDir1
  258.     ELSE
  259.         GOSUB ASKQUIT
  260.         GOTO Install1
  261.     END IF
  262. ''END IF
  263.  
  264. Install1:
  265.    Install
  266.  
  267. QUIT:
  268.    ON ERROR GOTO ERRQUIT
  269.  
  270.    IF ERR = 0 THEN
  271.         dlg% = EXITSUCCESS
  272.    ELSEIF ERR = STFQUIT THEN
  273.            dlg% = EXITQUIT
  274.    ELSE
  275.            dlg% = EXITFAILURE
  276.    END IF
  277. QUITL1:
  278.    sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  279.    IF sz$ = "REACTIVATE" THEN
  280.            GOTO QUITL1
  281.    END IF
  282.    UIPop 1
  283.  
  284.    END
  285.  
  286. ERRQUIT:
  287.     i% = DoMsgBox("Setup sources were corrupted, call technical support!","Movie Star MPEG Demo Installation", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  288.     END
  289.  
  290.  
  291.  
  292. BADPATH:
  293.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  294.     IF sz$ = "REACTIVATE" THEN
  295.         GOTO BADPATH
  296.     END IF
  297.     UIPop 1
  298.     RETURN
  299.  
  300.  
  301.  
  302. ASKQUIT:
  303.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  304.  
  305.     IF sz$ = "EXIT" THEN
  306.         UIPopAll
  307.         ERROR STFQUIT
  308.     ELSEIF sz$ = "REACTIVATE" THEN
  309.         GOTO ASKQUIT
  310.     ELSE
  311.         UIPop 1
  312.     END IF
  313.     RETURN
  314.  
  315.  
  316. '**
  317. '** Purpose:
  318. '**     Builds the copy list and performs all installation operations.
  319. '** Arguments:
  320. '**     none.
  321. '** Returns:
  322. '**     none.
  323. '*************************************************************************
  324. SUB Install STATIC
  325.  
  326.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  327.     CreateDir InstallDest$, cmoNone
  328.  
  329. IF SelectInstall$ = "TRUE" THEN
  330.     AddSectionFilesToCopyList "MpegFiles", SrcDir$, InstallDest$
  331.     AddSectionFilesToCopyList "DllFiles", SrcDir$, GetWindowsDir()
  332.     AddSectionFilesToCopyList "SystemFiles", SrcDir$, GetWindowsDir()+"SYSTEM"
  333. ''Begin copy files to install directory
  334.     CopyFilesInCopyList
  335. END IF
  336.  
  337. ''Create WINMPEG.INI file in WINDOWS driectory
  338.     ini$ = MakePath(GetWindowsDir(),"WINMPEG.INI")
  339.  
  340. ''Create MPEG Section
  341.     SectionName$ = "WinMPEG"
  342.  
  343. IF SelectInstall$ = "TRUE" THEN
  344.     CreateIniKeyValue ini$, SectionName$, "PATH", InstallDest$, cmoOverwrite
  345. END IF
  346.  
  347.     CreateIniKeyValue ini$, SectionName$, "IOBASEV", "0x"+VideoIObase$ , cmoOverwrite
  348.     CreateIniKeyValue ini$, SectionName$, "IOBASEA", "0x"+AudioIObase$ , cmoOverwrite
  349. ''    CreateIniKeyValue ini$, SectionName$, "VINT", VideoInt$ , cmoOverwrite
  350.     CreateIniKeyValue ini$, SectionName$, "AINT", AudioInt$ , cmoOverwrite
  351. ''    CreateIniKeyValue ini$, SectionName$, "FINT", SyncInt$ , cmoOverwrite
  352.     CreateIniKeyValue ini$, SectionName$, "DMA", DmaChannel$, cmoOverwrite
  353. IF SelectCD$="TRUE" THEN
  354.     CreateIniKeyValue ini$, SectionName$, "CD_DRIVE", InstallCD$ , cmoOverwrite
  355.     CreateIniKeyValue ini$, SectionName$, "CD_SYNC", SYNC , cmoOverwrite
  356. ENDIF
  357.  
  358.    ini$ = MakePath(GetWindowsDir(),"SYSTEM.INI")
  359.  
  360. ''Add WINVDMAD.386 to system.ini
  361. IF SelectInstall$ = "TRUE" THEN
  362.    IF VxDInstall$ = "NO" THEN          ''winvdmad.386 not installed
  363.       CreateSysIniKeyValue ini$, "386Enh", "DEVICE",MakePath(InstallDest$,"WINVDMAD.386"), cmoOverwrite
  364.    ENDIF
  365.  
  366.    SectionName$="mci"
  367.    CreateIniKeyValue ini$, SectionName$, "mpegfile","mpegfile.DRV", cmoOverwrite
  368.    CreateIniKeyValue ini$, SectionName$, "mpegcd","mpegcd.DRV", cmoOverwrite
  369.  
  370.    ini$ = MakePath(GetWindowsDir(),"WIN.INI")
  371. ''   CreateSysIniKeyValue ini$, "mci extensions", "mpg","mpegfile", cmoOverwrite
  372. ''   CreateSysIniKeyValue ini$, "mci extensions", "dat","mpegfile", cmoOverwrite
  373.    CreateIniKeyValue ini$, "mci extensions", "mpg","mpegfile", cmoOverwrite
  374.    CreateIniKeyValue ini$, "mci extensions", "dat","mpegfile", cmoOverwrite
  375.  
  376.     group$ = "Movie Star"
  377.     CreateProgmanGroup group$, "", cmoNone
  378.     ShowProgmanGroup  group$, 1, cmoNone
  379.     CreateProgmanItem group$, "Movie Star1", MakePath(InstallDest$,"mstar.exe"),"", cmoOverwrite
  380.     CreateProgmanItem group$, "Movie Star2", MakePath(InstallDest$,"mstar1.exe"),"", cmoOverwrite
  381.     CreateProgmanItem group$, "Movie Star3", MakePath(InstallDest$,"mstar2.exe"),"", cmoOverwrite
  382.     CreateProgmanItem group$, "Movie Star Setup", MakePath(InstallDest$,"msetup.exe"),"", cmoOverwrite
  383.     CreateProgmanItem group$, "Convert", MakePath(InstallDest$,"convert.exe"),"", cmoOverwrite
  384. END IF
  385.  
  386. END SUB
  387.  
  388.  
  389.  
  390. '**
  391. '** Purpose:
  392. '**     Appends a file name to the end of a directory path,
  393. '**     inserting a backslash character as needed.
  394. '** Arguments:
  395. '**     szDir$  - full directory path (with optional ending "\")
  396. '**     szFile$ - filename to append to directory
  397. '** Returns:
  398. '**     Resulting fully qualified path name.
  399. '*************************************************************************
  400. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  401.     IF szDir$ = "" THEN
  402.         MakePath = szFile$
  403.     ELSEIF szFile$ = "" THEN
  404.         MakePath = szDir$
  405.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  406.         MakePath = szDir$ + szFile$
  407.     ELSE
  408.         MakePath = szDir$ + "\" + szFile$
  409.     END IF
  410. END FUNCTION
  411.