home *** CD-ROM | disk | FTP | other *** search
- '$INCLUDE 'setupapi.inc'
- '$INCLUDE 'msdetect.inc'
-
- ''===================================================================
- ''Define Dialog Box ID
- ''All ID must be the same as defined in wimpeg.h
- ''===================================================================
- CONST WELCOME = 100
- CONST ASKQUIT = 200
- CONST DESTPATH = 300
- CONST EXITFAILURE = 400
- CONST EXITQUIT = 500
- CONST EXITSUCCESS = 600
- CONST APPHELP = 700
- CONST BADPATH = 800
- CONST VIDEOIOBOX = 900 ''Dialog Box for Video IO base address
- CONST AUDIOIOBOX = 1000 ''Dialog Box for Audio IO base address
- CONST VIDEOINTBOX = 1100 ''Dialog Box for Video Interrupt
- CONST AUDIOINTBOX = 1200 ''Dialog Box for Audio Interrupt
- CONST SYNCINTBOX = 1300 ''Dialog Box for Synchsonize Interrupt
- CONST DMACHANNELBOX = 1400 ''Dialog Box for DMA channel
- CONST INSTALLBOX = 1500 ''Dialog Box for New Install or Change IO
- CONST CDBOX = 1600 ''Dialog Box for install CD
- CONST WINDOWSDIR = 1700
-
- ''Define Dialog bitmap icon ID
- CONST LOGO = 1
-
- ''Global variable declaration
- GLOBAL Winbond$ ''(C)Copyright WINBOND ELECTRONICS CORP. 199X All rights reserved
- GLOBAL VxDInstall$ ''Winbond WINVDMAD.386 Installation status
- GLOBAL InstallDest$ ''Default Installation directory
- GLOBAL InstallCD$ ''Default CD drive
- GLOBAL SYNC$ ''Default Sync
- GLOBAL VideoIObase$ ''Video I/O address
- GLOBAL AudioIObase$ ''Audio I/O address
- GLOBAL VideoInt$ ''Video Interrupt
- GLOBAL AudioInt$ ''Audio Interrupt
- GLOBAL SyncInt$ ''Sync. Interrupt
- GLOBAL DmaChannel$ ''DMA channel
- GLOBAL SelectInstall$ ''Update configuration or full installation
- GLOBAL SelectCD$ ''Update configuration or full installation
-
- DECLARE SUB Install
- DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
-
- INIT:
- CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
- HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
-
- SetBitmap CUIDLL$, LOGO
- SetTitle "Movie Star MPEG Demo Installation"
-
- szInf$ = GetSymbolValue("STF_SRCINFPATH")
- IF szInf$ = "" THEN
- szInf$ = GetSymbolValue("STF_CWDDIR") + "WINMPEG.INF"
- END IF
- ReadInfFile szInf$
-
- VideoIObase$ = "0x200" ''default Video IO base
- AudioIObase$ = "0x300" ''default Audio IO base
- VideoInt$ = "7" ''default Video Interrupt
- FINT$ = "10" ''default Sync Interrupt
- AudioInt$ = "12" ''default Audio Interrupt
- DmaChannel$ = "6" ''default DMA channel
- InstallDest$ = "C:\MSTAR" ''default install directory
- InstallCD$ = "D" ''default install CD drive
- SYNC$ = "YES" ''default install CD SYNC
- SelectInstall$ = "TRUE" ''default is install all
- SelectCD$ = "FALSE" ''default is install all
- VxDInstall = "YES" ''default add device=winvdmad.386 to system.ini
-
- WELCOME:
- ''Detect whether WINVDMAD.386 installed in system.ini ?
- sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
-
- VxDInstall$ = GetSymbolValue("VxDString") ''VxD install status
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSE
- GOSUB ASKQUIT
- GOTO WELCOME
- END IF
-
- ''If winmpeg.ini already exist in windows
- '' Display SELECTINSTALLBOX
- ''else
- '' Diaplay ASKPATH
- OPTION:
- SetSymbolValue "INSTALL","FALSE"
- OPTL1:
- ini$ = MakePath(GetWindowsDir(),"WINMPEG.INI")
-
- IF DoesFileExist(ini$,femExists) THEN ''winmpeg.ini exist
- sz$ = UIStartDlg(CUIDLL$, INSTALLBOX, "FUpdateDlgProc", APPHELP, HELPPROC$)
- SelectInstall$ = GetSymbolValue("INSTALL")
-
- IF sz$ = "CONTINUE" THEN ''select Reinstall
- UIPop(1)
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO OPTION
- ELSEIF sz$ = "CONFIGURE" THEN ''select Configure
- UIPop 1
- GOTO SetVideoIO
- ELSE
- GOSUB ASKQUIT
- GOTO OPTION
- END IF
- END IF
-
- ''Set to default Install path
- SETPATH:
- SetSymbolValue "EditTextIn", InstallDest$
- SetSymbolValue "EditFocus", "END"
- ASKPATH:
- sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
- InstallDest$ = GetSymbolValue("EditTextOut")
-
- IF sz$ = "CONTINUE" THEN
- IF IsDirWritable(InstallDest$) = 0 THEN
- GOSUB BADPATH
- GOTO ASKPATH
- END IF
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO ASKPATH
- ELSE
- GOSUB ASKQUIT
- GOTO SETPATH
- END IF
-
- SETCD:
- SetSymbolValue "EditCDIn", InstallCD$
- SetSymbolValue "EditFocus", "END"
- SetSymbolValue "RadioDefault", "0" ''Default CD interface=AT bus
- SETCD1:
- sz$ = UIStartDlg(CUIDLL$, CDBOX, "FEditCDProc", APPHELP, HELPPROC$)
- SelectCD$ = GetSymbolValue("CDSelect")
- InstallCD$ = GetSymbolValue("EditCDOut")
- SYNC$=GetSymbolValue("SYNCSelect")
-
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO SETCD1
- ELSE
- GOSUB ASKQUIT
- GOTO SETCD
- END IF
-
- ''Select Video IO address
- SetVideoIO:
- SetSymbolValue "RadioDefault", "0" ''Default Video IO=0x200
- SetVideoIO1:
- sz$ = UIStartDlg(CUIDLL$, VIDEOIOBOX, "FVIOProc", APPHELP, HELPPROC$)
- VideoIObase$ = GetSymbolValue("IOPortV")
-
- IF sz$ = "CONTINUE" THEN
- UIPop(1)
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO SetVideoIO1
- ELSE
- GOSUB ASKQUIT
- GOTO SetVideoIO
- END IF
-
- ''Select Audio IO Address
- SetAudioIO:
- SetSymbolValue "RadioDefault", "4" ''Default Audio IO=0x300
- SetAudioIO1:
- sz$ = UIStartDlg(CUIDLL$, AUDIOIOBOX, "FAIOProc", APPHELP, HELPPROC$)
- AudioIObase$ = GetSymbolValue("IOPortA")
-
- IF sz$ = "CONTINUE" THEN
- UIPop(1)
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO SetAudioIO1
- ELSE
- GOSUB ASKQUIT
- GOTO SetAudioIO
- END IF
-
- ''for SB210 , no video interrupt
- GOTO SetAudioInt
- ''Select Video Interrupt
- SetVideoInt:
- SetSymbolValue "RadioDefault", "2" ''Default Video Interrupt=7
- SetVideoInt1:
- sz$ = UIStartDlg(CUIDLL$, VIDEOINTBOX, "FVIntProc", APPHELP, HELPPROC$)
- VideoInt$ = GetSymbolValue("VInterrupt")
-
- IF sz$ = "CONTINUE" THEN
- UIPop(1)
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO SetVideoInt1
- ELSE
- GOSUB ASKQUIT
- GOTO SetVideoInt
- END IF
-
- ''Select Audio Synchronize Interrupt
- SetSyncInt:
- SetSymbolValue "RadioDefault", "0" ''Default Sync Interrupt=10
- SetSyncInt1:
- sz$ = UIStartDlg(CUIDLL$, SYNCINTBOX, "FFIntProc", APPHELP, HELPPROC$)
- SyncInt$ = GetSymbolValue("FInterrupt")
-
- IF sz$ = "CONTINUE" THEN
- UIPop(1)
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO SetSyncInt1
- ELSE
- GOSUB ASKQUIT
- GOTO SetSyncInt
- END IF
-
- ''Select Audio Interrupt
- SetAudioInt:
- SetSymbolValue "RadioDefault", "0" ''Default Audio Interrupt=12
- SetAudioInt1:
- sz$ = UIStartDlg(CUIDLL$, AUDIOINTBOX, "FAIntProc", APPHELP, HELPPROC$)
- AudioInt$ = GetSymbolValue("AInterrupt")
-
- IF sz$ = "CONTINUE" THEN
- UIPop(1)
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO SetAudioInt1
- ELSE
- GOSUB ASKQUIT
- GOTO SetAudioInt
- END IF
-
- ''Select DMA Channel
- SetDMA:
- SetSymbolValue "RadioDefault", "1" ''Default DMA channel=6
- SetDMA1:
- sz$ = UIStartDlg(CUIDLL$, DMACHANNELBOX, "FDMADlgProc", APPHELP, HELPPROC$)
- DmaChannel$ = GetSymbolValue("DMAChannel")
-
- IF sz$ = "CONTINUE" THEN
- UIPop(1)
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO SetDMA1
- ELSE
- GOSUB ASKQUIT
- GOTO SetDMA
- END IF
-
- ''IF SelectInstall$ = "TRUE" THEN
- DisplayWindowsDir:
- SetSymbolValue "WindowsDir","Current Windows Directory is : "+GetWindowsDir()
- DisplayWindowsDir1:
- sz$ = UIStartDlg(CUIDLL$, WINDOWSDIR, "WinDirDlgProc", APPHELP, HELPPROC$)
- IF sz$ = "CONTINUE" THEN
- UIPop(1)
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO DisplayWindowsDir1
- ELSE
- GOSUB ASKQUIT
- GOTO Install1
- END IF
- ''END IF
-
- Install1:
- Install
-
- QUIT:
- ON ERROR GOTO ERRQUIT
-
- IF ERR = 0 THEN
- dlg% = EXITSUCCESS
- ELSEIF ERR = STFQUIT THEN
- dlg% = EXITQUIT
- ELSE
- dlg% = EXITFAILURE
- END IF
- QUITL1:
- sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO QUITL1
- END IF
- UIPop 1
-
- END
-
- ERRQUIT:
- i% = DoMsgBox("Setup sources were corrupted, call technical support!","Movie Star MPEG Demo Installation", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- END
-
-
-
- BADPATH:
- sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO BADPATH
- END IF
- UIPop 1
- RETURN
-
-
-
- ASKQUIT:
- sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
-
- IF sz$ = "EXIT" THEN
- UIPopAll
- ERROR STFQUIT
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO ASKQUIT
- ELSE
- UIPop 1
- END IF
- RETURN
-
-
- '**
- '** Purpose:
- '** Builds the copy list and performs all installation operations.
- '** Arguments:
- '** none.
- '** Returns:
- '** none.
- '*************************************************************************
- SUB Install STATIC
-
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
- CreateDir InstallDest$, cmoNone
-
- IF SelectInstall$ = "TRUE" THEN
- AddSectionFilesToCopyList "MpegFiles", SrcDir$, InstallDest$
- AddSectionFilesToCopyList "DllFiles", SrcDir$, GetWindowsDir()
- AddSectionFilesToCopyList "SystemFiles", SrcDir$, GetWindowsDir()+"SYSTEM"
- ''Begin copy files to install directory
- CopyFilesInCopyList
- END IF
-
- ''Create WINMPEG.INI file in WINDOWS driectory
- ini$ = MakePath(GetWindowsDir(),"WINMPEG.INI")
-
- ''Create MPEG Section
- SectionName$ = "WinMPEG"
-
- IF SelectInstall$ = "TRUE" THEN
- CreateIniKeyValue ini$, SectionName$, "PATH", InstallDest$, cmoOverwrite
- END IF
-
- CreateIniKeyValue ini$, SectionName$, "IOBASEV", "0x"+VideoIObase$ , cmoOverwrite
- CreateIniKeyValue ini$, SectionName$, "IOBASEA", "0x"+AudioIObase$ , cmoOverwrite
- '' CreateIniKeyValue ini$, SectionName$, "VINT", VideoInt$ , cmoOverwrite
- CreateIniKeyValue ini$, SectionName$, "AINT", AudioInt$ , cmoOverwrite
- '' CreateIniKeyValue ini$, SectionName$, "FINT", SyncInt$ , cmoOverwrite
- CreateIniKeyValue ini$, SectionName$, "DMA", DmaChannel$, cmoOverwrite
- IF SelectCD$="TRUE" THEN
- CreateIniKeyValue ini$, SectionName$, "CD_DRIVE", InstallCD$ , cmoOverwrite
- CreateIniKeyValue ini$, SectionName$, "CD_SYNC", SYNC , cmoOverwrite
- ENDIF
-
- ini$ = MakePath(GetWindowsDir(),"SYSTEM.INI")
-
- ''Add WINVDMAD.386 to system.ini
- IF SelectInstall$ = "TRUE" THEN
- IF VxDInstall$ = "NO" THEN ''winvdmad.386 not installed
- CreateSysIniKeyValue ini$, "386Enh", "DEVICE",MakePath(InstallDest$,"WINVDMAD.386"), cmoOverwrite
- ENDIF
-
- SectionName$="mci"
- CreateIniKeyValue ini$, SectionName$, "mpegfile","mpegfile.DRV", cmoOverwrite
- CreateIniKeyValue ini$, SectionName$, "mpegcd","mpegcd.DRV", cmoOverwrite
-
- ini$ = MakePath(GetWindowsDir(),"WIN.INI")
- '' CreateSysIniKeyValue ini$, "mci extensions", "mpg","mpegfile", cmoOverwrite
- '' CreateSysIniKeyValue ini$, "mci extensions", "dat","mpegfile", cmoOverwrite
- CreateIniKeyValue ini$, "mci extensions", "mpg","mpegfile", cmoOverwrite
- CreateIniKeyValue ini$, "mci extensions", "dat","mpegfile", cmoOverwrite
-
- group$ = "Movie Star"
- CreateProgmanGroup group$, "", cmoNone
- ShowProgmanGroup group$, 1, cmoNone
- CreateProgmanItem group$, "Movie Star1", MakePath(InstallDest$,"mstar.exe"),"", cmoOverwrite
- CreateProgmanItem group$, "Movie Star2", MakePath(InstallDest$,"mstar1.exe"),"", cmoOverwrite
- CreateProgmanItem group$, "Movie Star3", MakePath(InstallDest$,"mstar2.exe"),"", cmoOverwrite
- CreateProgmanItem group$, "Movie Star Setup", MakePath(InstallDest$,"msetup.exe"),"", cmoOverwrite
- CreateProgmanItem group$, "Convert", MakePath(InstallDest$,"convert.exe"),"", cmoOverwrite
- END IF
-
- END SUB
-
-
-
- '**
- '** Purpose:
- '** Appends a file name to the end of a directory path,
- '** inserting a backslash character as needed.
- '** Arguments:
- '** szDir$ - full directory path (with optional ending "\")
- '** szFile$ - filename to append to directory
- '** Returns:
- '** Resulting fully qualified path name.
- '*************************************************************************
- FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
- IF szDir$ = "" THEN
- MakePath = szFile$
- ELSEIF szFile$ = "" THEN
- MakePath = szDir$
- ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
- MakePath = szDir$ + szFile$
- ELSE
- MakePath = szDir$ + "\" + szFile$
- END IF
- END FUNCTION