home *** CD-ROM | disk | FTP | other *** search
- '**************************************************************************
- '* MSSetup
- '**************************************************************************
-
- '$DEFINE DEBUG ''Define for script development/debugging
-
- '$INCLUDE 'setupapi.inc'
- '$INCLUDE 'msdetect.inc'
-
- ''Dialog ID's
- CONST WELCOME = 100
- CONST ASKQUIT = 200
- CONST DESTPATH = 300
- CONST EXITFAILURE = 400
- CONST EXITQUIT = 600
- CONST EXITSUCCESS = 700
- CONST IOOPTIONS = 1200 '' IO base address selection dialog
- CONST INTOPTIONS = 1120 '' Interrupt selection dialog
- CONST DMAOPTIONS = 1100 '' DMA Channel selection dialog
- CONST VGAOPTIONS = 1110 '' Give the VGA informatiion
- CONST INSTOPTIONS = 1500 '' Install or Configue selection dialog
- CONST APPHELP = 900 '' Help dialog box
- CONST BADPATH = 6400 '' Bad destination directory dialog box
- '' Dialog bitmap icon ID
- CONST LOGO = 1
-
- ''Global variable declaration
- GLOBAL DEST$ '' Default destination directory
- GLOBAL BASEIO$ '' I/O address
- GLOBAL INTR$ '' Interrupt
- GLOBAL DMA$ '' DMA channel
- GLOBAL ISINTERLACED$ '' VGA is interlaced or not
- GLOBAL SELECTINSTALL$ '' Update configuration or full installation
- GLOBAL IOINDEX$
- GLOBAL INTINDEX$
- GLOBAL DMAINDEX$
- GLOBAL INTERLACE$ '' 1 - non interlace, 2 - interlace
- GLOBAL RSTART%
-
- DECLARE SUB Install
- DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
- DECLARE SUB AdjustVxdInIni LIB "mscuistf.dll"
- DECLARE fUNCTION ExitWindowsExec LIB "User" (Exec$, Param$) AS INTEGER
-
- INIT:
- CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
- HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
- RSTART% = 0
-
- SetBitmap CUIDLL$, LOGO
- SetTitle "CinaAction 34FS Installation"
-
- ''
- szInf$ = GetSymbolValue("STF_SRCINFPATH")
- IF szInf$ = "" THEN
- szInf$ = GetSymbolValue("STF_CWDDIR") + "MPEG.INF"
- END IF
- ReadInfFile szInf$
-
- BASEIO$ = "0x280"
- INTR$ = "7"
- DMA$ = "6"
- DEST$ = "C:\CinAct"
- SELECTINSTALL$ = "TRUE"
-
- WELCOME:
- sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSE
- GOSUB ASKQUIT
- GOTO WELCOME
- END IF
-
- ' Get install choice
- INOPTION:
- SetSymbolValue "INSTALL","FALSE"
- ini$ = MakePath(GetWindowsDir(),"MPEG-I.INI")
-
- IF DoesFileExist(ini$,femExists) THEN
- sz$ = UIStartDlg(CUIDLL$, INSTOPTIONS, "FUpdateDlgProc", APPHELP, HELPPROC$)
- SELECTINSTALL$ = GetSymbolValue("INSTALL")
-
- IF sz$ = "CONTINUE" THEN
- UIPop(1)
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO INOPTION
- ELSEIF sz$ = "CONFIG" THEN
- UIPop 1
- GOTO IOOPTION
- ELSE
- GOSUB ASKQUIT
- GOTO INOPTION
- END IF
- END IF
-
- ' Get the installation destination path
- GETPATH:
- SetSymbolValue "EditTextIn", DEST$
- SetSymbolValue "EditFocus", "END"
- GETPATHL1:
- sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
- DEST$ = GetSymbolValue("EditTextOut")
-
- IF sz$ = "CONTINUE" THEN
- IF IsDirWritable(DEST$) = 0 THEN
- GOSUB BADPATH
- GOTO GETPATHL1
- END IF
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO GETPATHL1
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO INOPTION
- ELSE
- GOSUB ASKQUIT
- GOTO GETPATH
- END IF
-
- ' Get IO Port choice
- IOOPTION:
- IOINDEX$ = "1"
- IOOPTL1:
- SetSymbolValue "RadioDefault", IOINDEX$
- sz$ = UIStartDlg(CUIDLL$, IOOPTIONS, "FIODlgProc", APPHELP, HELPPROC$)
- BASEIO$ = GetSymbolValue("IOPort")
- IOINDEX$ = GetSymbolValue("ButtonChecked")
-
- IF sz$ = "CONTINUE" THEN
- UIPop(1)
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO IOOPTL1
-
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO GETPATH
- ELSE
- GOSUB ASKQUIT
- GOTO IOOPTION
- END IF
-
- ' Get Interrupt choice
- INTOPTION:
- INTINDEX$ = "3"
- INTOPTL1:
- SetSymbolValue "RadioDefault", INTINDEX$
- sz$ = UIStartDlg(CUIDLL$, INTOPTIONS, "FIntDlgProc", APPHELP, HELPPROC$)
- INTR$ = GetSymbolValue("Interrupt")
- INTINDEX$ = GetSymbolValue("ButtonChecked")
-
- IF sz$ = "CONTINUE" THEN
- UIPop(1)
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO INTOPTL1
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO IOOPTL1
- ELSE
- GOSUB ASKQUIT
- GOTO INTOPTION
- END IF
-
- ' Get DMA choice
- DMAOPTION:
- DMAINDEX$ = "2"
- DMAOPTL1:
- SetSymbolValue "RadioDefault", DMAINDEX$
- sz$ = UIStartDlg(CUIDLL$, DMAOPTIONS, "FDMADlgProc", APPHELP, HELPPROC$)
- DMA$ = GetSymbolValue("DMAChannel")
- DMAINDEX$ = GetSymbolValue("ButtonChecked")
-
- IF sz$ = "CONTINUE" THEN
- UIPop(1)
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO DMAOPTL1
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO INTOPTL1
- ELSE
- GOSUB ASKQUIT
- GOTO DMAOPTION
- END IF
-
- ' Get VGA information about interlace.
- 'VGAOPTION:
- ' INTERLACE$ = "1"
- 'VGAOPTL1:
- ' SetSymbolValue "RadioDefault", INTERLACE$
- ' sz$ = UIStartDlg(CUIDLL$, VGAOPTIONS, "FVGADlgProc", APPHELP, HELPPROC$)
- '
- ' ISINTERLACED$ = GetSymbolValue("IsInterlaced")
- ' INTERLACE$ = GetSymbolValue("ButtonChecked")
- '
- ' IF sz$ = "CONTINUE" THEN
- ' UIPop(1)
- ' ELSEIF sz$ = "REACTIVATE" THEN
- ' GOTO VGAOPTL1
- ' ELSEIF sz$ = "BACK" THEN
- ' UIPop 1
- ' GOTO DMAOPTL1
- ' ELSE
- ' GOSUB ASKQUIT
- ' GOTO VGAOPTION
- ' END IF
-
- Install
-
-
- QUIT:
- ON ERROR GOTO ERRQUIT
-
- IF ERR = 0 THEN
- dlg% = EXITSUCCESS
- ELSEIF ERR = STFQUIT THEN
- dlg% = EXITQUIT
- ELSE
- dlg% = EXITFAILURE
- END IF
-
- Exe$ = GetWindowsDir()
- SetRestartDir Exe$
- RESTRT% = RestartListEmpty ()
- Exe$ = MakePath(GetWindowsDir(),"_msrstrt.exe")
- empty$ = ""
-
- QUITL1:
- sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
-
- IF sz$ = "REACTIVATE" THEN
- GOTO QUITL1
-
- ELSEIF sz$ = "CONTINUE" THEN
-
- UIPop 1
- END
- ELSE
- I% = ExitWindowsExec (Exe$, empty$)
- IF I% = 0 THEN
- GOTO QUITL1
- ELSE
- END
-
- ENDIF
-
- END IF
-
- ERRQUIT:
- i% = DoMsgBox("Setup were corrupted!", " ", 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
-
- IF SELECTINSTALL$ = "TRUE" THEN
-
- ' Create the directory
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
-
- ' Copy files
- AddSectionFilesToCopyList "mpegdll", SrcDir$, GetWindowsSysDir()
-
- CopyFilesInCopyList
-
-
- IF (SrcDir$ <> DEST$) AND (SrcDir$ <> DEST$+"\") THEN
-
- CreateDir DEST$, cmoNone
-
- ' Copy files
- AddSectionFilesToCopyList "mpegfiles", SrcDir$, DEST$
-
- CopyFilesInCopyList
- END IF
-
- END IF
-
- ' Create the MPEG-I.INI file
- ini$ = MakePath(GetWindowsDir(),"MPEG-I.INI")
-
- ' create section
- section$ = "System"
-
- ' Add the symbols to the MPEG-I.INI file
- CreateIniKeyValue ini$, section$, "BoardAddress", BASEIO$ , cmoOverwrite
-
- section$ = "Video"
- CreateIniKeyValue ini$, section$, "IrqNumber", INTR$ , cmoOverwrite
- CreateIniKeyValue ini$, section$, "DmaChannel", DMA$, cmoOverwrite
-
- ini$ = MakePath(GetWindowsDir(),"SYSTEM.INI")
-
- IF SELECTINSTALL$ = "TRUE" THEN
- CreateSysIniKeyValue ini$, "386Enh", "DEVICE",MakePath(DEST$,"VFIC001D.386"), cmoOverwrie
- CreateIniKeyValue ini$, "mci", "MpegVideo",MakePath(DEST$,"MCIMPEG.DRV"), cmoOverwrite
- CreateIniKeyValue ini$, "mci", "VideoCDI",MakePath(DEST$,"MCICDI.DRV"), cmoOverwrite
- CreateIniKeyValue ini$, "386Enh", "VFICDMAC","2", cmoOverwrite
- CreateIniKeyValue ini$, "386Enh", "VFICV86C","8", cmoOverwrite
- group$ = "CinaAction 34FS"
- CreateProgmanGroup group$, "", cmoNone
- ShowProgmanGroup group$, 1, cmoNone
- CreateProgmanItem group$, "CinaAction 34FS", MakePath(DEST$,"mpfuscrn.exe"),"", cmoOverwrite
- CreateProgmanItem group$, "CinaAction 34FS Setup", MakePath(DEST$,"setup.exe"),"",cmoOverwrite
- AdjustVxdInIni
- END IF
-
- ini$ = MakePath(GetWindowsDir(),"WIN.INI")
-
- IF SELECTINSTALL$ = "TRUE" THEN
- CreateIniKeyValue ini$, "mci extensions", "mpg", "MpegVideo", cmoOverwrite
- CreateIniKeyValue ini$, "mci extensions", "dat", "VideoCDI,MpegVideo", 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
-
-