home *** CD-ROM | disk | FTP | other *** search
- '**************************************************************************
- '* MSSetup
- '**************************************************************************
-
- '$DEFINE DEBUG ''Define for script development/debugging
-
- '$INCLUDE 'setupapi.inc'
- '$INCLUDE 'msdetect.inc'
- '$INCLUDE 'msregdb.inc'
- '$INCLUDE 'msshared.inc'
-
- ''definitionen
- Declare Function GetModuleHandle Lib "Kernel" (ModuleName As String) As Integer
- Declare Function Ctl3dAutoSubclass Lib "Ctl3D.DLL" (hInst As Integer) As Integer
- Declare Function Ctl3dRegister Lib "Ctl3D.DLL" (hInst As Integer) As Integer
- Declare Function Ctl3dUnregister Lib "Ctl3D.DLL" (hInst As Integer) As Integer
-
- ''Dialog ID's
- CONST WELCOME = 100
- CONST ASKQUIT = 200
- CONST DESTPATH = 300
- CONST EXITFAILURE = 400
- CONST EXITQUIT = 600
- CONST EXITSUCCESS = 700
- CONST BADPATH = 6400
-
- ''Bitmap ID
- CONST LOGO = 1
-
- GLOBAL DEST$ ''Default destination directory.
- GLOBAL OPTCUR$ ''Option selection from option dialog.
-
- DECLARE SUB Install
-
- INIT:
- Inst% = GetModuleHandle("setup.exe")
- ret = Ctl3dRegister(Inst%)
- ret = Ctl3dAutoSubclass(Inst%)
-
- CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
- HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
-
- SetBitmap CUIDLL$, LOGO
- SetTitle "--- Setup ---"
- SetAbout "Peter's Spiele und Utility", "Copyright by Peter H÷hn, Berlin ⌐1993"
- SetCopyGaugePosition 130,110
-
- szInf$ = GetSymbolValue("STF_SRCINFPATH")
- IF szInf$ = "" THEN
- szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
- END IF
- ReadInfFile szInf$
-
- OPTCUR$ = "1"
- DEST$ = "C:\PHOEHN"
-
- '$IFDEF DEBUG
- i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal
- WinDrive$ = MID$(GetWindowsDir, 1, 1)
- IF IsDriveValid(WinDrive$) = 0 THEN
- i% = DoMsgBox("Windows Laufwerk ('"+WinDrive$+"') ist nicht korrekt.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
- GOTO QUIT
- END IF
- '$ENDIF ''DEBUG
-
-
- WELCOME:
- sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", 0, "")
- UIPop 1
-
- GETPATH:
- SetSymbolValue "EditTextIn", DEST$
- SetSymbolValue "EditFocus", "END"
- GETPATHL1:
- sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", 0, "")
- 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
- ELSE
- GOSUB ASKQUIT
- GOTO GETPATH
- END IF
-
-
- Install
-
-
- QUIT:
- ON ERROR GOTO ERRQUIT
-
- IF ERR = STFQUIT THEN
- END
- END IF
-
- 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
-
- Inst% = GetModuleHandle("test.exe")
- ret = Ctl3dUnregister(Inst%)
- END
-
- ERRQUIT:
- i% = DoMsgBox("Das Setupfile ist defekt, das Programm wird beendet.", "Setup-Fehlermeldung", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- Inst% = GetModuleHandle("test.exe")
- ret = Ctl3dUnregister(Inst%)
- 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 DEST$, cmoNone
-
- OpenLogFile DEST$ + "\LOGFILE.OUT", 0
- WriteToLogFile " "
- WriteToLogFile "Diese Programme sind Public Domain"
- WriteToLogFile "und dⁿrfen nur KOSTENLOS weiter gegeben"
- WriteToLogFile "werden."
- WriteToLogFile " "
- WriteToLogFile "Public Domain, hei▀t das es wirklich fⁿr"
- WriteToLogFile "jeden FREI VERF▄GBAR sein sollte und niemand"
- WriteToLogFile "sich auf KOSTEN der Public Domain Autoren"
- WriteToLogFile "eine GOLDENE NASE verdient."
- WriteToLogFile " "
- WriteToLogFile "Ich hoffe das andere Autoren auch so Denken"
- WriteToLogFile "und mir zustimmen."
- WriteToLogFile " "
- WriteToLogFile "Peter H÷hn"
- WriteToLogFile "Alte Jakobstra▀e 169"
- WriteToLogFile "10969 Berlin"
- WriteToLogFile " "
- WriteToLogFile "Tel.: 030 / 614 26 75"
- WriteToLogFile " "
-
- Win$ = GetWindowsDir()
- WinSys$ = GetWindowsSysDir()
- P1$ = "PH-Spiele"
- P2$ = "PH-Utilitys"
- Sp$ = DEST$ + "\Spiele"
- Pt$ = DEST$ + "\Spiele\Punkte"
- Wa$ = DEST$ + "\Spiele\Wav"
- Ww$ = DEST$ + "\Spiele\Winwahn"
- Ut$ = DEST$ + "\Utilitys"
- AddSectionFilesToCopyList "Dlls", SrcDir$, WinSys$
- AddSectionFilesToCopyList "Ini", SrcDir$, Win$
- AddSectionFilesToCopyList "Spiele", SrcDir$, Sp$
- ' AddSectionFilesToCopyList "Punkte", SrcDir$, Pt$
- AddSectionFilesToCopyList "Wav", SrcDir$, Wa$
- AddSectionFilesToCopyList "Winwahn", SrcDir$, Ww$
- AddSectionFilesToCopyList "Utilitys", SrcDir$, Ut$
- CopyFilesInCopyList
-
- WinIni$ = GetWindowsDir() + "PANGAMES.INI"
- CreateIniKeyValue WinIni$, "Spiele", "Path", DEST$+"\Spiele" , cmoOverwrite
-
- CreateProgmanGroup P1$, DEST$+"\Spiele", cmoNone
- ShowProgmanGroup P1$, 1, cmoNone
- CreateProgmanItem P1$, "Hanoi", Sp$ + "\Hanoi.exe", Sp$ + "\Hanoi.exe, 1, 1, 1", cmoOverwrite
- CreateProgmanItem P1$, "Kniffel", Sp$ + "\kniffel.exe", Sp$ + "\kniffel.exe, 0, 1, 1", cmoOverwrite
- CreateProgmanItem P1$, "Memory", Sp$ + "\Memory.exe", Sp$ + "\Memory.exe, 113, 1, 1", cmoOverwrite
- CreateProgmanItem P1$, "Win17 & 4", Sp$ + "\Win17.exe", Sp$ + "\Win17.exe, 1, 1, 1", cmoOverwrite
- CreateProgmanItem P1$, "WinWahn", Sp$ + "\winwahn\Winwahn.exe", Sp$ + "\winwahn\winwahn.exe, 0, 1, 1", cmoOverwrite
-
- CreateProgmanGroup P2$, DEST$+"\Utilitys", cmoNone
- ShowProgmanGroup P2$, 1, cmoNone
- CreateProgmanItem P2$, "BerlinUhr", Ut$ + "\BlnUhr.exe", "", cmoOverwrite
- CreateProgmanItem P2$, "Cdplayer", Ut$ + "\Cdplayer.exe", "", cmoOverwrite
- CreateProgmanItem P2$, "FileFinder", Ut$ + "\ff.exe", "", cmoOverwrite
- CreateProgmanItem P2$, "IconView", Ut$ + "\IconView.exe", "", cmoOverwrite
- CreateProgmanItem P2$, "IniEdit", Ut$ + "\IniEdit.exe", "", cmoOverwrite
- CreateProgmanItem P2$, "LabelPrinter", Ut$ + "\Label.exe", "", cmoOverwrite
- CreateProgmanItem P2$, "QuickStart", Ut$ + "\Qstart.exe", Ut$ + "\Qstart.exe, 2, 1, 1", cmoOverwrite
- CreateProgmanItem P2$, "ScanDisk", Ut$ + "\Scandisk.exe", "", cmoOverwrite
- CreateProgmanItem P2$, "SHowBitmap", Ut$ + "\ShowBmp.exe", "", cmoOverwrite
- CreateProgmanItem P2$, "Trash", Ut$ + "\Trash.exe", "", cmoOverwrite
- CreateProgmanItem P2$, "WinInfo", Ut$ + "\WinInfo.exe", "", cmoOverwrite
- CreateProgmanItem P2$, "WinTimer", Ut$ + "\W_timer.exe", "", cmoOverwrite
- CreateProgmanItem P2$, "WinExit", Ut$ + "\Winexit.exe", "", cmoOverwrite
-
- CloseLogFile
-
- END SUB
-