home *** CD-ROM | disk | FTP | other *** search
Wrap
'************************************************************************** '* 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 BADPATH = 6400 ''Bitmap ID CONST LOGO = 1 GLOBAL DEST$ ''Default destination directory. GLOBAL WINDIR$ ''Windows directory GLOBAL ITEMS$ ''Items directory DECLARE SUB Install DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING INIT: CUIDLL$ = "mscuistf.dll" ''Custom user interface dll SetBitmap CUIDLL$, LOGO SetTitle "Setup Italia Online" szInf$ = GetSymbolValue("STF_SRCINFPATH") IF szInf$ = "" THEN szInf$ = GetSymbolValue("STF_CWDDIR") + "IOL.INF" END IF ReadInfFile szInf$ DEST$ = "C:\IOL" WINDIR$ = GetWindowsDir() ' 'Dialog box di benvenuto ' WELCOME: sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", 0, "") IF sz$ = "CONTINUE" THEN UIPop 1 ELSE GOSUB ASKQUIT GOTO WELCOME END IF 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 ELSEIF sz$ = "BACK" THEN UIPop 1 GOTO WELCOME ELSE GOSUB ASKQUIT GOTO GETPATH END IF ITEMS$ = MakePath(DEST$,"items") Install ''Esegue l'installazione vera e propria 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("Il dischetto contiene file rovinati. Chiamate Italia Online al numero 02/4525645", "Messaggio del Setup", 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 DEST$, cmoNone CreateDir MakePath(DEST$,"dload") , cmoNone 'Crea la directory per i download CreateDir ITEMS$ , cmoNone 'Crea la directory per gli items CreateDir MakePath(DEST$,"inbox") , cmoNone 'Crea la directory per la posta CreateDir MakePath(DEST$,"outbox") , cmoNone 'Crea la directory per la posta AddSectionFilesToCopyList "Files", SrcDir$, DEST$ AddSectionFilesToCopyList "IniFiles", SrcDir$, WINDIR$ AddSectionFilesToCopyList "ItemFiles", SrcDir$, ITEMS$ AddSectionFilesToCopyList "SystemFiles", SrcDir$, MakePath(WINDIR$, "system") CopyFilesInCopyList SHELL DEST$ + "\iolzip.exe -o " + DEST$ KILL DEST$ + "\iolzip.exe" '** VOBIS '** RUN DEST$ + "\vobis16.exe" '** KILL DEST$ + "\vobis16.exe" '** crea le entry nel file .ini ini$ = GetWindowsDir + "IOL.INI" CreateIniKeyValue ini$, "System", "TcpipAddr", "194.20.24.108", cmoOverwrite CreateIniKeyValue ini$, "System", "Sound", "1", cmoOverwrite CreateIniKeyValue ini$, "System", "Distinct", "1", cmoOverwrite CreateIniKeyValue ini$, "System", "ChannelType", "1", cmoOverwrite CreateIniKeyValue ini$, "System", "TimeoutFrame", "90", cmoOverwrite CreateIniKeyValue ini$, "System", "TimeoutRequest", "150", cmoOverwrite CreateIniKeyValue ini$, "System", "IolDir", DEST$, cmoOverwrite CreateIniKeyValue ini$, "Viewers", "PCX", "Internal" , cmoOverwrite CreateIniKeyValue ini$, "Viewers", "BMP", "Internal" , cmoOverwrite CreateIniKeyValue ini$, "Viewers", "Gif", "Internal" , cmoOverwrite CreateIniKeyValue ini$, "Viewers", "Tiff", "Internal" , cmoOverwrite CreateIniKeyValue ini$, "Viewers", "JPEG", "Internal" , cmoOverwrite CreateIniKeyValue ini$, "Viewers", "Fractal", "Internal" , cmoOverwrite CreateIniKeyValue ini$, "Viewers", "DP", "minivw.exe" , cmoOverwrite CreateIniKeyValue ini$, "Viewers", "HTML", "X" , cmoOverwrite CreateIniKeyValue ini$, "Viewers", "HLP", "winhelp.exe" , cmoOverwrite CreateIniKeyValue ini$, "Viewers", "PDF", "X" , cmoOverwrite CreateIniKeyValue ini$, "Viewers", "Text", "Internal" , cmoOverwrite CreateIniKeyValue ini$, "Viewers", "RTF", "X" , cmoOverwrite CreateIniKeyValue ini$, "Viewers", "MCI", "mplayer.exe" , cmoOverwrite CreateIniKeyValue ini$, "Viewers", "AVI", "mplayer.exe" , cmoOverwrite ini$ = GetWindowsDir + "SOCKET.INI" CreateIniKeyValue ini$, "Settings", "ProtoPath", DEST$, cmoOverwrite CreateIniKeyValue ini$, "Settings", "NetCfgPath", DEST$, cmoOverwrite CreateIniKeyValue ini$, "Settings", "File", DEST$, cmoOverwrite CreateIniKeyValue ini$, "Dialup", "UseDialer", "0", cmoOverwrite CreateIniKeyValue ini$, "Dialup", "NoCarrierCheck", "1", cmoOverwrite CreateIniKeyValue ini$, "Settings", "SlipOnly", "1", cmoOverwrite CreateProgmanGroup "Italia Online", "", cmoNone ShowProgmanGroup "Italia Online", 1, cmoNone CreateProgmanItem "Italia Online", "Italia Online", MakePath(DEST$,"iol.exe"), "", cmoOverwrite s$ = "Se siete utenti giα registrati, confermate i parametri di configurazione " s$ = s$ + "in Strumenti|Preferenze|Connessione e Strumenti|Preferenze|Modem." i% = DoMsgBox(s$, "Messaggio del Setup", MB_OK+MB_TASKMODAL+MB_ICONINFO) 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