home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Puzzlemania
/
PUZMANIA.iso
/
pc
/
other
/
setup.mst
< prev
next >
Wrap
Text File
|
1995-09-09
|
5KB
|
167 lines
'**************************************************************************
'* Puzzlemania Setup
'**************************************************************************
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'mscpydis.inc' ' System
'$INCLUDE 'msdetect.inc' ' Detects Avalilable Disk Space
' Dialog ID's
CONST WELCOME = 100
CONST ASKQUIT = 200
CONST EXITSUCCESS = 700
CONST APPHELP = 2000
CONST SUCCESSHELP = 2300
CONST BADWINVER = 6500
CONST HASWINNT = 6600
' Bitmap ID
CONST LOGO = 1
' The following were taken from windows.h. &H means they're hex
CONST WS_VISIBLE = &H10000000
CONST WS_BORDER = &H00800000
CONST WS_CLIPCHILDREN = &H02000000
CONST GWL_STYLE = -16
CONST SW_SHOWMAXIMIZED = 3
GLOBAL RebootMsg%
GLOBAL PuzzleDestDir$
DECLARE SUB CreateProgGroup
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER
DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%, iShow%) AS INTEGER
DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG
'******************************************************************
'** Declare the funcitons in USER.EXE we need to register a
'** unique message identifier and needed to post that message
'** to the Setup shell program. See the Windows api documentation
'** for additional information on these functions.
'******************************************************************
DECLARE FUNCTION PostMessage LIB "user" (hwnd%, msg%, wparam%, lparam&) AS INTEGER
DECLARE FUNCTION RegisterWindowMessage LIB "user" (szRebootMessage$) AS INTEGER
INIT:
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
WIN32ENABLED% = 0
MajorVer% = GetWindowsMajorVersion()
MinorVer% = GetWindowsMinorVersion()
IF MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
GOSUB WRONGWIN
END
END IF
IF OnWindowsNT() THEN
GOSUB WINNT
END
END IF
SetBitmap CUIDLL$, LOGO
SetTitle "PUZZLEMANIA"
hWnd% = HwndFrame()
i1& = SetWindowLong(hWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
j1%=ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
END IF
ReadInfFile szInf$
'***************************************************************
'** Here we go registering the message so we can communicate
'** with the Setup shell.
'***************************************************************
RebootMsg% = RegisterWindowMessage ("SetupOK")
WELCOME:
sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSE
GOSUB ASKQUIT
GOTO WELCOME
END IF
' We just create the program group and start the QT installer
PuzzleDestDir$ = GetSymbolValue("STF_SRCDIR")
PuzzleDestDir$ = MID$(PuzzleDestDir$, 1, 2) 'extract volume we are running from
CreateProgGroup
QUIT:
sz$ = UIStartDlg(CUIDLL$, EXITSUCCESS, "FInfo0DlgProc", SUCCESSHELP, HELPPROC$)
IF sz$ = "REACTIVATE" THEN
GOTO QUIT
END IF
' Run QuickTime install
j% = PostMessage (65535, RebootMsg%, 0, 0)
END ' exit
ASKQUIT:
sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
IF sz$ = "EXIT" THEN
UIPopAll
END
ELSEIF sz$ = "REACTIVATE" THEN
GOTO ASKQUIT
ELSE
UIPop 1
END IF
RETURN
WRONGWIN:
sz$ = UIStartDlg(CUIDLL$, BADWINVER, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO WRONGWIN
END IF
UIPop 1
RETURN
WINNT:
sz$ = UIStartDlg(CUIDLL$, HASWINNT, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO WINNT
END IF
UIPop 1
RETURN
' Creates program group.
SUB CreateProgGroup STATIC
CreateProgmanGroup "PUZZLEMANIA", "", cmoNone
ShowProgmanGroup "PUZZLEMANIA", 1, cmoNone
CreateProgmanItem "PUZZLEMANIA", "PUZZLEMANIA", MakePath(PuzzleDestDir$, "puzmania.exe"), "", cmoOverwrite
CreateProgmanItem "PUZZLEMANIA", "About PUZZLEMANIA", MakePath(PuzzleDestDir$, "puzmania.wri"), "", cmoOverwrite
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