home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1995 June / PC_PLUS.BIN / bubble / setup.ms_ / setup.ms
Encoding:
Text File  |  1995-03-01  |  4.1 KB  |  158 lines

  1. '**************************************************************************
  2. '*                       MSSetup Toolkit BubbleHelp
  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 INSTALLED     = 200
  13. CONST ASKQUIT       = 300
  14. CONST DESTPATH      = 400
  15. CONST EXITFAILURE   = 500
  16. CONST EXITQUIT      = 600
  17. CONST EXITSUCCESS   = 700
  18. CONST OPTIONS       = 800
  19. CONST APPHELP       = 900
  20.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL EXEDEST$        ''Default destination directory.
  25. GLOBAL DLLDEST$        ''Default destination directory.
  26. GLOBAL OPTCUR$      ''Option selection from option dialog.
  27.  
  28. DECLARE SUB Install
  29. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  30.  
  31.  
  32. INIT:
  33.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  34.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  35.  
  36.     SetBitmap CUIDLL$, LOGO
  37.     SetTitle "BubbleHelp Setup"
  38.  
  39.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  40.     IF szInf$ = "" THEN
  41.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  42.     END IF
  43.     ReadInfFile szInf$
  44.  
  45.     OPTCUR$ = "1"
  46.     EXEDEST$ = GetWindowsDir() + "FUTURE\BUBBLE"
  47.     DLLDEST$ = GetWindowsSysDir()
  48.  
  49. WELCOME:
  50.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  51.     IF sz$ = "CONTINUE" THEN
  52.         UIPop 1
  53.     ELSE
  54.         GOSUB ASKQUIT
  55.         GOTO WELCOME
  56.     END IF
  57.  
  58.     drive$ = MID$(EXEDEST$, 1, 1)
  59.     free& = GetFreeSpaceForDrive(drive$)
  60.  
  61.      IF free& > 200000 THEN
  62.         
  63.        Install
  64.  
  65.      ELSE 
  66.  
  67.          i% = DoMsgBox("Insufficient disk space for installation, 200k required.", "Warning", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  68.       GOTO QUITL1
  69.  
  70.      ENDIF
  71.  
  72. QUIT:
  73.     ON ERROR GOTO ERRQUIT
  74.  
  75.     IF ERR = 0 THEN
  76.         dlg% = EXITSUCCESS
  77.     ELSEIF ERR = STFQUIT THEN
  78.         dlg% = EXITQUIT
  79.     ELSE
  80.         dlg% = EXITFAILURE
  81.     END IF
  82. QUITL1:
  83.  
  84.     END
  85.  
  86. ERRQUIT:
  87.     i% = DoMsgBox("Setup sources were corrupted, call Technical Support on 091-4910500!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  88.     END
  89.  
  90.  
  91.  
  92. ASKQUIT:
  93.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", APPHELP, "")
  94.  
  95.     IF sz$ = "EXIT" THEN
  96.         UIPopAll
  97.         ERROR STFQUIT
  98.     ELSEIF sz$ = "REACTIVATE" THEN
  99.         GOTO ASKQUIT
  100.     ELSE
  101.         UIPop 1
  102.     END IF
  103.     RETURN
  104.  
  105.  
  106.  
  107. '**
  108. '** Purpose:
  109. '**     Builds the copy list and performs all installation operations.
  110. '** Arguments:
  111. '**     none.
  112. '** Returns:
  113. '**     none.
  114. '*************************************************************************
  115. SUB Install STATIC
  116.  
  117.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  118.     CreateDir EXEDEST$, cmoNone
  119.  
  120.     AddSectionFilesToCopyList "BubbleEXE", SrcDir$, EXEDEST$
  121.     AddSectionFilesToCopyList "BubbleDLL", SrcDir$, DLLDEST$
  122.     CopyFilesInCopyList
  123.  
  124.     ini$ = MakePath(GetWindowsDir(), "FUTURE.INI")
  125.  
  126.     CreateProgmanItem "Startup", "BubbleHelp", EXEDEST$ + "\bubble.exe", "", cmoOverwrite
  127.     CreateIniKeyValue ini$, "BubbleHelp", "pbParent", EXEDEST$ + "\pbrusbub.hlp", cmoNone
  128.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  129.     sz$ = UIStartDlg(CUIDLL$, INSTALLED, "InstalledProc", APPHELP, HELPPROC$)
  130.      i% = DoMsgBox("Installation complete", "BubbleHelp Setup", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  131.  
  132. END SUB
  133.  
  134.  
  135.  
  136. '**
  137. '** Purpose:
  138. '**     Appends a file name to the end of a directory path,
  139. '**     inserting a backslash character as needed.
  140. '** Arguments:
  141. '**     szDir$  - full directory path (with optional ending "\")
  142. '**     szFile$ - filename to append to directory
  143. '** Returns:
  144. '**     Resulting fully qualified path name.
  145. '*************************************************************************
  146. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  147.     IF szDir$ = "" THEN
  148.         MakePath = szFile$
  149.     ELSEIF szFile$ = "" THEN
  150.         MakePath = szDir$
  151.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  152.         MakePath = szDir$ + szFile$
  153.     ELSE
  154.         MakePath = szDir$ + "\" + szFile$
  155.     END IF
  156. END FUNCTION
  157.  
  158.