home *** CD-ROM | disk | FTP | other *** search
/ CS Internet Ready Kit / CS_INTERNET.iso / Win31 / Winsock / INSTALL.MST < prev    next >
Encoding:
Text File  |  1997-10-10  |  6.4 KB  |  222 lines

  1. '**************************************************************************
  2. '*                           CS Internet Sign-Up
  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 PROGROUP      = 260
  14. CONST DESTPATH      = 300
  15. CONST EXITFAILURE   = 400
  16. CONST EXITQUIT      = 600
  17. CONST EXITSUCCESS   = 700
  18. CONST OPTIONS       = 800
  19. CONST APPHELP       = 900
  20. CONST BADPATH       = 6400
  21.  
  22. ''Bitmap ID
  23. CONST LOGO = 0
  24.  
  25. GLOBAL DEST$        ''Default destination directory.
  26.  
  27. CONST SW_MINIMIZE   = 6
  28. CONST SW_RESTORE    = 9
  29. CONST SW_SHOW       = 5
  30.  
  31. CONST IDYES         = 6
  32.  
  33. DECLARE FUNCTION FindWindow LIB "user" (szClassName$, szWindow$) AS INTEGER
  34. DECLARE SUB      ShowWindow LIB "user" (hwnd%, nCmdShow%)
  35. DECLARE SUB      WinExec LIB "kernel" (szCmdLine$, nCmdShow%)
  36.  
  37. DECLARE SUB      UpdateNetscapeIni LIB "mscuistf.dll" (szIniPath$)
  38.  
  39. DECLARE FUNCTION IsBadWin32s LIB "mscuistf.dll" () AS INTEGER
  40.  
  41. DECLARE SUB      Install
  42. DECLARE SUB      CreateNewsDir (szNetscapeIni$, szNewsDir$)
  43. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  44.  
  45. INIT:
  46.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  47.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  48.  
  49.     'SetBitmap CUIDLL$, LOGO
  50.     SetTitle "CS Internet Sign-Up"
  51.  
  52.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  53.     IF szInf$ = "" THEN
  54.         szInf$ = GetSymbolValue("STF_CWDDIR") + "INSTALL.INF"
  55.     END IF
  56.     ReadInfFile szInf$
  57.  
  58.  
  59.     ' If there is an existing Netscape installation then use the current
  60.     ' directory as the default location; otherwise use \NETSCAPE
  61. '    DEST$ = GetIniKeyString("WIN.INI", "Inet", "ini")
  62.  '   IF DEST$ = "" THEN
  63.         DEST$ = MID$(GetWindowsDir, 1, 1) + ":\Internet"
  64. '    ELSE
  65. '        SPLITPATH DEST$, drv$, dir$, filename$, ext$
  66. '        DEST$ = drv$ + MID$(dir$, 1, LEN(dir$) - 1)
  67. '    END IF
  68.  
  69. WELCOME:
  70.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  71.     IF sz$ = "CONTINUE" THEN
  72.         UIPop 1
  73.     ELSE
  74.         GOSUB ASKQUIT
  75.         GOTO WELCOME
  76.     END IF
  77.  
  78. GETPATH:
  79.     SetSymbolValue "EditTextIn", DEST$
  80. GETPATHL1:
  81.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FGetPathDlgProc", APPHELP, HELPPROC$)
  82.     DEST$ = GetSymbolValue("EditTextOut")
  83.  
  84.     IF sz$ = "CONTINUE" THEN
  85.         IF IsDirWritable(DEST$) = 0 THEN
  86.             GOSUB BADPATH
  87.             GOTO GETPATHL1
  88.         END IF
  89.         UIPop 1
  90.     ELSEIF sz$ = "REACTIVATE" THEN
  91.         GOTO GETPATHL1
  92.     ELSE
  93.         GOSUB ASKQUIT
  94.         GOTO GETPATH
  95.     END IF
  96.  
  97. CHOOSEGROUP:
  98.     SetSymbolValue "ProgramGroup", "CS Internet"
  99. CHOOSEGROUP1:
  100.     sz$ = UIStartDlg(CUIDLL$, PROGROUP, "FProgramGroupDlgProc", APPHELP, HELPPROC$)
  101.  
  102.     IF sz$ = "CONTINUE" THEN
  103.         UIPop 1
  104.     ELSEIF sz$ = "REACTIVATE" THEN
  105.         GOTO CHOOSEGROUP1
  106.     ELSE
  107.         GOSUB ASKQUIT
  108.         GOTO CHOOSEGROUP1
  109.     END IF
  110.  
  111.     Install
  112.  
  113. QUIT:
  114.     ON ERROR GOTO ERRQUIT
  115.  
  116.     IF ERR = 0 THEN
  117.          IF DoMsgBox("Installation is complete. Would you like to read the README file now?", "CS Internet Sign-Up", MB_YESNO) = IDYES THEN
  118.             WinExec "NOTEPAD " + MakePath(Dest$, "README.TXT"), SW_SHOW
  119.          END IF
  120.          END
  121.     ELSEIF ERR = STFQUIT THEN
  122.         dlg% = EXITQUIT
  123.     ELSE
  124.         dlg% = EXITFAILURE
  125.     END IF
  126. QUITL1:
  127.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  128.     IF sz$ = "REACTIVATE" THEN
  129.         GOTO QUITL1
  130.     END IF
  131.     UIPop 1
  132.  
  133.     END
  134.  
  135. ERRQUIT:
  136.     i% = DoMsgBox("Setup sources were corrupted!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  137.     END
  138.  
  139. BADPATH:
  140.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  141.     IF sz$ = "REACTIVATE" THEN
  142.         GOTO BADPATH
  143.     END IF
  144.     UIPop 1
  145.     RETURN
  146.  
  147. ASKQUIT:
  148.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  149.  
  150.     IF sz$ = "EXIT" THEN
  151.         UIPopAll
  152.         ERROR STFQUIT
  153.     ELSEIF sz$ = "REACTIVATE" THEN
  154.         GOTO ASKQUIT
  155.     ELSE
  156.         UIPop 1
  157.     END IF
  158.     RETURN
  159.  
  160.  
  161. '**
  162. '** Purpose:
  163. '**     Builds the copy list and performs all installation operations.
  164. '** Arguments:
  165. '**     none.
  166. '** Returns:
  167. '**     none.
  168. '*************************************************************************
  169. SUB Install STATIC
  170.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  171.     CreateDir DEST$, cmoNone
  172.     CreateDir MakePath(DEST$, "TRUMPET"), cmoNone
  173.     CreateDir MakePath(DEST$, "QVT"), cmoNone
  174.     CreateDir MakePath(DEST$, "FTP"), cmoNone
  175.  
  176.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  177.     AddSectionFilesToCopyList "Trumpet", SrcDir$, DEST$+"\TRUMPET"
  178.     AddSectionFilesToCopyList "Qvt", SrcDir$, DEST$+"\QVT"
  179.     AddSectionFilesToCopyList "Ftp", SrcDir$, DEST$+"\FTP"
  180.  
  181.     CopyFilesInCopyList
  182.  
  183.     ' Show the Program Manager
  184.     ShowWindow FindWindow("PROGMAN", NULL), SW_RESTORE
  185.  
  186.     ' Update program group and program items
  187.     Group$ = GetSymbolValue("ProgramGroup")
  188.     CreateProgmanGroup Group$, "", cmoNone
  189.     ShowProgmanGroup  Group$, 1, cmoNone
  190.     SLEEP 1
  191.     CreateProgmanItem Group$, "TCPManager", MakePath(DEST$, "TRUMPET\TCPMAN.EXE"), "", cmoOverwrite
  192.     CreateProgmanItem Group$, "FTP", MakePath(DEST$, "FTP\WS_FTP.EXE"), "", cmoOverwrite
  193.     CreateProgmanItem Group$, "Qvtnet", MakePath(DEST$, "QVT\QVTNET16.EXE"), "", cmoOverwrite
  194.     ' Only add a README file icon if this is the default program group
  195.     if Group$ = "CS Internet" then
  196.         CreateProgmanItem Group$, "Read Me", "notepad "+ MakePath(DEST$, "README.TXT"), "", cmoOverwrite
  197.     end if
  198.     SLEEP 1
  199. END SUB
  200.  
  201. '**
  202. '** Purpose:
  203. '**     Appends a file name to the end of a directory path,
  204. '**     inserting a backslash character as needed.
  205. '** Arguments:
  206. '**     szDir$  - full directory path (with optional ending "\")
  207. '**     szFile$ - filename to append to directory
  208. '** Returns:
  209. '**     Resulting fully qualified path name.
  210. '*************************************************************************
  211. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  212.     IF szDir$ = "" THEN
  213.         MakePath = szFile$
  214.     ELSEIF szFile$ = "" THEN
  215.         MakePath = szDir$
  216.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  217.         MakePath = szDir$ + szFile$
  218.     ELSE
  219.         MakePath = szDir$ + "\" + szFile$
  220.     END IF
  221. END FUNCTION
  222.