home *** CD-ROM | disk | FTP | other *** search
/ PC Open 11 / pcopen11.iso / IOL16 / IOL.MS_ / IOL.MS
Encoding:
Text File  |  1997-03-03  |  7.0 KB  |  233 lines

  1. '**************************************************************************
  2. '*                       MSSetup Toolkit Sample 1
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST BADPATH       = 6400
  18.  
  19. ''Bitmap ID
  20. CONST LOGO = 1
  21.  
  22. GLOBAL DEST$        ''Default destination directory.
  23. GLOBAL WINDIR$      ''Windows directory
  24. GLOBAL ITEMS$           ''Items directory
  25.  
  26. DECLARE SUB Install
  27. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  28.  
  29.  
  30. INIT:
  31.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  32.  
  33.     SetBitmap CUIDLL$, LOGO
  34.     SetTitle "Setup Italia Online"
  35.  
  36.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  37.     IF szInf$ = "" THEN
  38.     szInf$ = GetSymbolValue("STF_CWDDIR") + "IOL.INF"
  39.     END IF
  40.     ReadInfFile szInf$
  41.  
  42.     DEST$ = "C:\IOL"
  43.     WINDIR$ = GetWindowsDir()
  44.  
  45. '
  46. 'Dialog box di benvenuto
  47. '
  48. WELCOME:
  49.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", 0, "")
  50.     IF sz$ = "CONTINUE" THEN
  51.         UIPop 1
  52.     ELSE
  53.         GOSUB ASKQUIT
  54.         GOTO WELCOME
  55.     END IF
  56.  
  57.  
  58. GETPATH:
  59.     SetSymbolValue "EditTextIn", DEST$
  60.     SetSymbolValue "EditFocus", "END"
  61. GETPATHL1:
  62.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", 0, "")
  63.     DEST$ = GetSymbolValue("EditTextOut")
  64.  
  65.     IF sz$ = "CONTINUE" THEN
  66.     IF IsDirWritable(DEST$) = 0 THEN
  67.         GOSUB BADPATH
  68.         GOTO GETPATHL1
  69.     END IF
  70.     UIPop 1
  71.     ELSEIF sz$ = "REACTIVATE" THEN
  72.     GOTO GETPATHL1
  73.     ELSEIF sz$ = "BACK" THEN
  74.     UIPop 1
  75.     GOTO WELCOME
  76.     ELSE
  77.     GOSUB ASKQUIT
  78.     GOTO GETPATH
  79.     END IF
  80.  
  81.     ITEMS$ = MakePath(DEST$,"items")
  82.  
  83.     Install                     ''Esegue l'installazione vera e propria
  84.  
  85.  
  86. QUIT:
  87.     ON ERROR GOTO ERRQUIT
  88.  
  89.     IF ERR = 0 THEN
  90.     dlg% = EXITSUCCESS
  91.     ELSEIF ERR = STFQUIT THEN
  92.     dlg% = EXITQUIT
  93.     ELSE
  94.     dlg% = EXITFAILURE
  95.     END IF
  96. QUITL1:
  97.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  98.     IF sz$ = "REACTIVATE" THEN
  99.     GOTO QUITL1
  100.     END IF
  101.     UIPop 1
  102.  
  103.     END
  104.  
  105. ERRQUIT:
  106.     i% = DoMsgBox("Il dischetto contiene file rovinati. Chiamate Italia Online al numero 02/4525645", "Messaggio del Setup", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  107.     END
  108.  
  109.  
  110.  
  111. BADPATH:
  112.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  113.     IF sz$ = "REACTIVATE" THEN
  114.     GOTO BADPATH
  115.     END IF
  116.     UIPop 1
  117.     RETURN
  118.  
  119.  
  120.  
  121. ASKQUIT:
  122.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  123.  
  124.     IF sz$ = "EXIT" THEN
  125.     UIPopAll
  126.     ERROR STFQUIT
  127.     ELSEIF sz$ = "REACTIVATE" THEN
  128.     GOTO ASKQUIT
  129.     ELSE
  130.     UIPop 1
  131.     END IF
  132.     RETURN
  133.  
  134.  
  135.  
  136. '**
  137. '** Purpose:
  138. '**     Builds the copy list and performs all installation operations.
  139. '** Arguments:
  140. '**     none.
  141. '** Returns:
  142. '**     none.
  143. '*************************************************************************
  144. SUB Install STATIC
  145.  
  146.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  147.     CreateDir DEST$, cmoNone
  148.    
  149.     CreateDir MakePath(DEST$,"dload") , cmoNone 'Crea la directory per i download
  150.     CreateDir ITEMS$ , cmoNone 'Crea la directory per gli items
  151.     CreateDir MakePath(DEST$,"inbox") , cmoNone 'Crea la directory per la posta
  152.     CreateDir MakePath(DEST$,"outbox") , cmoNone 'Crea la directory per la posta
  153.  
  154.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  155.     AddSectionFilesToCopyList "IniFiles", SrcDir$, WINDIR$
  156.     AddSectionFilesToCopyList "ItemFiles", SrcDir$, ITEMS$
  157.     AddSectionFilesToCopyList "SystemFiles", SrcDir$, MakePath(WINDIR$, "system")
  158.     CopyFilesInCopyList
  159.     SHELL DEST$ + "\iolzip.exe -o " + DEST$        
  160.     KILL DEST$ + "\iolzip.exe"
  161.  
  162. '**  VOBIS    
  163. '**    RUN DEST$ + "\vobis16.exe"        
  164. '**    KILL  DEST$ + "\vobis16.exe"
  165.  
  166.     '** crea le entry nel file .ini
  167.     ini$ = GetWindowsDir + "IOL.INI"
  168.     CreateIniKeyValue ini$, "System", "TcpipAddr", "194.20.24.108", cmoOverwrite
  169.     CreateIniKeyValue ini$, "System", "Sound", "1", cmoOverwrite
  170.     CreateIniKeyValue ini$, "System", "Distinct", "1", cmoOverwrite
  171.     CreateIniKeyValue ini$, "System", "ChannelType", "1", cmoOverwrite
  172.     CreateIniKeyValue ini$, "System", "TimeoutFrame", "90", cmoOverwrite
  173.     CreateIniKeyValue ini$, "System", "TimeoutRequest", "150", cmoOverwrite
  174.     CreateIniKeyValue ini$, "System", "IolDir", DEST$, cmoOverwrite
  175.     
  176.     CreateIniKeyValue ini$, "Viewers", "PCX", "Internal" , cmoOverwrite
  177.     CreateIniKeyValue ini$, "Viewers", "BMP", "Internal" , cmoOverwrite
  178.     CreateIniKeyValue ini$, "Viewers", "Gif", "Internal" , cmoOverwrite
  179.     CreateIniKeyValue ini$, "Viewers", "Tiff", "Internal" , cmoOverwrite
  180.     CreateIniKeyValue ini$, "Viewers", "JPEG", "Internal" , cmoOverwrite
  181.     CreateIniKeyValue ini$, "Viewers", "Fractal", "Internal" , cmoOverwrite
  182.     CreateIniKeyValue ini$, "Viewers", "DP", "minivw.exe" , cmoOverwrite
  183.     CreateIniKeyValue ini$, "Viewers", "HTML", "X" , cmoOverwrite
  184.     CreateIniKeyValue ini$, "Viewers", "HLP", "winhelp.exe" , cmoOverwrite
  185.     CreateIniKeyValue ini$, "Viewers", "PDF", "X" , cmoOverwrite
  186.     CreateIniKeyValue ini$, "Viewers", "Text", "Internal" , cmoOverwrite
  187.     CreateIniKeyValue ini$, "Viewers", "RTF", "X" , cmoOverwrite
  188.     CreateIniKeyValue ini$, "Viewers", "MCI", "mplayer.exe" , cmoOverwrite
  189.     CreateIniKeyValue ini$, "Viewers", "AVI", "mplayer.exe" , cmoOverwrite
  190.     
  191.     ini$ = GetWindowsDir + "SOCKET.INI"
  192.     CreateIniKeyValue ini$, "Settings", "ProtoPath", DEST$, cmoOverwrite
  193.     CreateIniKeyValue ini$, "Settings", "NetCfgPath", DEST$, cmoOverwrite
  194.     CreateIniKeyValue ini$, "Settings", "File", DEST$, cmoOverwrite
  195.     CreateIniKeyValue ini$, "Dialup", "UseDialer", "0", cmoOverwrite
  196.     CreateIniKeyValue ini$, "Dialup", "NoCarrierCheck", "1", cmoOverwrite
  197.     CreateIniKeyValue ini$, "Settings", "SlipOnly", "1", cmoOverwrite
  198.  
  199.     CreateProgmanGroup "Italia Online", "", cmoNone
  200.     ShowProgmanGroup  "Italia Online", 1, cmoNone
  201.     CreateProgmanItem "Italia Online", "Italia Online", MakePath(DEST$,"iol.exe"), "", cmoOverwrite
  202.  
  203.     s$ = "Se siete utenti giα registrati, confermate i parametri di configurazione "
  204.     s$ = s$ + "in Strumenti|Preferenze|Connessione e Strumenti|Preferenze|Modem."
  205.  
  206.     i% = DoMsgBox(s$, "Messaggio del Setup", MB_OK+MB_TASKMODAL+MB_ICONINFO)
  207. END SUB
  208.  
  209.  
  210.  
  211. '**
  212. '** Purpose:
  213. '**     Appends a file name to the end of a directory path,
  214. '**     inserting a backslash character as needed.
  215. '** Arguments:
  216. '**     szDir$  - full directory path (with optional ending "\")
  217. '**     szFile$ - filename to append to directory
  218. '** Returns:
  219. '**     Resulting fully qualified path name.
  220. '*************************************************************************
  221. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  222.     IF szDir$ = "" THEN
  223.     MakePath = szFile$
  224.     ELSEIF szFile$ = "" THEN
  225.     MakePath = szDir$
  226.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  227.     MakePath = szDir$ + szFile$
  228.     ELSE
  229.     MakePath = szDir$ + "\" + szFile$
  230.     END IF
  231. END FUNCTION
  232.  
  233.