home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1997 January
/
VPR9701A.ISO
/
TELSV
/
TELESV.MST
< prev
next >
Wrap
Text File
|
1996-10-03
|
9KB
|
317 lines
'**************************************************************************
'* MSSetup Toolkit Sample 1
'**************************************************************************
'$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 OPTIONS1 = 800
CONST OPTIONS2 = 810
CONST APPHELP = 900
CONST CUSTINST = 6200
CONST BADPATH = 6400
''Screen Saver Active
CONST SPI_SETSCREENSAVEACTIVE=17
CONST SPI_SETSCREENSAVETIMEOUT=15
CONST SPIF_UPDATEINIFILE=1
CONST SPIF_SENDWININICHAGE=2
DECLARE FUNCTION SystemParametersInfo LIB "user.exe" (uAction%, uParam%, lpvParam&, fuWinIni%) AS INTEGER
''WindowSize
CONST SW_SHOWMAXIMIZED = 3
DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%,iShow%) AS INTEGER
CONST LOGO = 1
GLOBAL DEST$ ''Default destination directory.
GLOBAL OPTCUR$ ''Option selection from option dialog
GLOBAL DRIVETEXT$ '' Dest Path
DECLARE SUB Install
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
INIT:
hWnd% = HwndFrame()
junk% = ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
SetBitmap CUIDLL$, LOGO
SetTitle "Internet TELESAVER Setup"
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + "telesv.INF"
END IF
ReadInfFile szInf$
OPTCUR$ = "1"
DEST$ = GetWindowsDir()
DRIVETEXT$ = "DriveStatusText"
FOR i% = 1 TO 7 STEP 1
AddListItem DRIVETEXT$,""
NEXT i%
ReplaceListItem DRIVETEXT$,7,DEST$
'$IFDEF DEBUG
i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal
WinDrive$ = MID$(GetWindowsDir, 1, 1)
IF IsDriveValid(WinDrive$) = 0 THEN
i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
GOTO QUIT
END IF
'$ENDIF ''DEBUG
''WELCOME:
'' sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
'' IF sz$ = "CONTINUE" THEN
'' UIPop 1
'' ELSE
'' GOSUB ASKQUIT
'' GOTO WELCOME
'' END IF
''CUSTINST:
'' sz$ = UIStartDlg(CUIDLL$, CUSTINST, "FCustInstDlgProc", APPHELP, HELPPROC$)
'' IF sz$ = "CONTINUE" THEN
''Install only if it will fit.
''FOR i% = 1 TO 3 STEP 1
'' IF GetListItem(BIGLIST$, i%) <> "" THEN
'' GOSUB TOOBIG
'' GOTO CUSTINST
'' END IF
''NEXT i%
'' UIPop 1
''GOTO INSTALL
'' ELSEIF sz$ = "REACTIVATE" THEN
''RecalcPath
''SetDriveStatus
''GOTO CUSTINST
'' GOTO OPTL1
'' ELSE
'' GOSUB ASKQUIT
'' GOTO CUSTINST
'' END IF
''OPTION:
'' SetSymbolValue "RadioDefault", OPTCUR$
OPTL1:
sz$ = UIStartDlg(CUIDLL$, CUSTINST, "FCustInstDlgProc", APPHELP, HELPPROC$)
''OPTCUR$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
UIPop(1)
ELSEIF sz$ = "REACTIVATE" THEN
GOTO OPTL1
ELSE
GOSUB ASKQUIT
GOTO OPTL1
END IF
''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 OPTION
'' ELSE
'' GOSUB ASKQUIT
'' GOTO GETPATH
'' END IF
Install
OPTION1:
SetSymbolValue "RadioDefault", OPTCUR$
SELECT1:
sz$ = UIStartDlg(CUIDLL$, OPTIONS1, "FRadioDlgProc", APPHELP, HELPPROC$)
OPTCUR$ = GetSymbolValue("ButtonChecked")
Connect$ = STR$(VAL(OPTCUR$)-1)
IF sz$ = "CONTINUE" THEN
ini$ = MakePath(DEST$,"teletext.ini")
CreateIniKeyValue ini$, "TELESV", "接続", Connect$, cmoNone
OPTCUR$ = "1"
UIPop(1)
ELSEIF sz$ = "REACTIVATE" THEN
GOTO SELECT1
''ELSE
'' GOSUB ASKQUIT
'' GOTO OPTION
END IF
OPTION2:
SetSymbolValue "RadioDefault", OPTCUR$
SELECT2:
sz$ = UIStartDlg(CUIDLL$, OPTIONS2, "FRadioDlgProc", APPHELP, HELPPROC$)
OPTCUR$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
ini$ = MakePath(DEST$,"teletext.ini")
IF OPTCUR$ = "1" THEN
Brouse$ = "NETSCAPE"
ELSE
Brouse$ = "IEXPLORE"
END IF
CreateIniKeyValue ini$, "TELESV", "起動ブラウザ", Brouse$, cmoNone
UIPop(1)
ELSEIF sz$ = "REACTIVATE" THEN
GOTO SELECT2
''ELSE
'' GOSUB ASKQUIT
'' GOTO OPTION
END IF
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 555-1212!", "Setup Message", 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")
Fname$ = "telesv.scr"
''CreateDir DEST$, cmoNone
''OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
''WriteToLogFile ""
''WriteToLogFile " User chose as destination directory: '" + DEST$ + "'"
''WriteToLogFile " User chose option: '" + OPTCUR$ + "'"
''WriteToLogFile ""
''WriteToLogFile "May have had to create the directory: " + DEST$
''WriteToLogFile ""
AddSectionFilesToCopyList "Files", SrcDir$, DEST$
''AddSectionKeyFileToCopyList "Options", OPTCUR$, SrcDir$, DEST$
CopyFilesInCopyList
''Activate TELESAVER
CreateIniKeyValue GetWindowsDir()+"system.ini", "boot", "SCRNSAVE.EXE", GetWindowsSysDir()+Fname$, cmoOverwrite
i%=SystemParametersInfo (SPI_SETSCREENSAVETIMEOUT, 600, 0, SPIF_UPDATEINIFILE+SPIF_SENDWININICHANGE)
i%=SystemParametersInfo (SPI_SETSCREENSAVEACTIVE, 1, 0, SPIF_UPDATEINIFILE+SPIF_SENDWININICHANGE)
''ini$ = MakePath(DEST$, "DEMO.INI")
''CreateIniKeyValue "WIN.INI", "MSSetup Sample 1", "Option", OPTCUR$, cmoNone
''CreateIniKeyValue ini$, "Section 1", "Key 1", "Value 1" , cmoNone
''CreateIniKeyValue ini$, "Section 2", "Key 2", "Value 2" , cmoNone
''CreateIniKeyValue ini$, "Section 3", "Key 3", "Value 3" , cmoNone
''CreateProgmanGroup "MSSetup Sample 1", "", cmoNone
''ShowProgmanGroup "MSSetup Sample 1", 1, cmoNone
''CreateProgmanItem "MSSetup Sample 1", "dialogs", "dlgedit.exe "+MakePath(DEST$,"dialogs.res"), "", cmoOverwrite
''CreateProgmanItem "MSSetup Sample 1", "dlgprocs.c", "notepad.exe "+MakePath(DEST$,"dlgprocs.c"), "", cmoOverwrite
''AddDos5Help "YOURAPP", "A brief help text for your Windows application."+chr$(10)+"It can be continued on another line with chr$(10).", cmoNone
''CloseLogFile
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