home *** CD-ROM | disk | FTP | other *** search
/ CD Direkt 1995 #3 / _.ISO / cdd / winanw / mssinfo / install / mssinfo.mst < prev    next >
Text File  |  1994-11-02  |  6KB  |  223 lines

  1. '**************************************************************************
  2. '* Filename: MSSINFO.MST
  3. '* Description: Test Basic driver program for the MSSI System Census
  4. '*                for Windows setup program.
  5. '**************************************************************************
  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 OPTIONS       = 800
  18. CONST APPHELP       = 900
  19. CONST BADPATH       = 6400
  20.  
  21. CONST WM_SYSCOMMAND = 274
  22. CONST SC_MAXIMIZE   = 61488
  23.  
  24.  
  25. ''Bitmap ID
  26. CONST LOGO640 = 1
  27. CONST LOGO800 = 2
  28. CONST LOGO1024 = 3
  29.  
  30. GLOBAL DEST$        ''Default destination directory.
  31.  
  32. DECLARE SUB Install
  33. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  34.  
  35. DECLARE FUNCTION SendMessage LIB "user" (hwnd AS INTEGER, uMsg AS INTEGER, wParam AS INTEGER, lParam AS LONG) AS LONG
  36.  
  37.  
  38. 'HwndFrame()
  39.  
  40. INIT:
  41.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  42.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  43.  
  44. 'Maximize the frame window
  45.     t = HwndFrame
  46.     l& = SendMessage( t, 274, 61488, 0) 
  47.  
  48.     if GetScreenWidth <= 640 then
  49.         nLogo = LOGO640
  50.     elseif GetScreenWidth <= 800 then
  51.         nLogo = LOGO800
  52.     else
  53.         nLogo = LOGO1024
  54.     endif
  55.  
  56.     SetBitmap CUIDLL$, nLogo
  57.     SetTitle "MSSI System Census for Windows Setup"
  58.  
  59.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  60.     IF szInf$ = "" THEN
  61.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  62.     END IF
  63.     ReadInfFile szInf$
  64.  
  65.     OPTCUR$ = "1"
  66.     DEST$ = "C:\MSSINFO"
  67.  
  68. '$IFDEF DEBUG
  69.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  70.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  71.     IF IsDriveValid(WinDrive$) = 0 THEN
  72.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  73.         GOTO QUIT
  74.     END IF
  75. '$ENDIF ''DEBUG
  76.  
  77.  
  78. WELCOME:
  79.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  80.     IF sz$ = "CONTINUE" THEN
  81.         UIPop 1
  82.     ELSE
  83.         GOSUB ASKQUIT
  84.         GOTO WELCOME
  85.     END IF
  86.  
  87.  
  88. GETPATH:
  89.     SetSymbolValue "EditTextIn", DEST$
  90.     SetSymbolValue "EditFocus", "END"
  91. GETPATHL1:
  92.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  93.     DEST$ = GetSymbolValue("EditTextOut")
  94.  
  95.     IF sz$ = "CONTINUE" THEN
  96.         IF IsDirWritable(DEST$) = 0 THEN
  97.             GOSUB BADPATH
  98.             GOTO GETPATHL1
  99.         END IF
  100.         UIPop 1
  101.     ELSEIF sz$ = "REACTIVATE" THEN
  102.         GOTO GETPATHL1
  103.     ELSEIF sz$ = "BACK" THEN
  104.         UIPop 1
  105.         GOTO WELCOME
  106.     ELSE
  107.         GOSUB ASKQUIT
  108.         GOTO GETPATH
  109.     END IF
  110.  
  111.  
  112.     Install
  113.  
  114.  
  115. QUIT:
  116.     ON ERROR GOTO ERRQUIT
  117.  
  118.     IF ERR = 0 THEN
  119.         dlg% = EXITSUCCESS
  120.     ELSEIF ERR = STFQUIT THEN
  121.         dlg% = EXITQUIT
  122.     ELSE
  123.         dlg% = EXITFAILURE
  124.     END IF
  125. QUITL1:
  126.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  127.     IF sz$ = "REACTIVATE" THEN
  128.         GOTO QUITL1
  129.     END IF
  130.     UIPop 1
  131.  
  132.     END
  133.  
  134. ERRQUIT:
  135.     i% = DoMsgBox("Setup sources were corrupted, Contact your disk vendor or MSSI (CIS:72540,1501)!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  136.     END
  137.  
  138.  
  139.  
  140. BADPATH:
  141.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  142.     IF sz$ = "REACTIVATE" THEN
  143.         GOTO BADPATH
  144.     END IF
  145.     UIPop 1
  146.     RETURN
  147.  
  148.  
  149.  
  150. ASKQUIT:
  151.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  152.  
  153.     IF sz$ = "EXIT" THEN
  154.         UIPopAll
  155.         ERROR STFQUIT
  156.     ELSEIF sz$ = "REACTIVATE" THEN
  157.         GOTO ASKQUIT
  158.     ELSE
  159.         UIPop 1
  160.     END IF
  161.     RETURN
  162.  
  163.  
  164.  
  165. '**
  166. '** Purpose:
  167. '**     Builds the copy list and performs all installation operations.
  168. '** Arguments:
  169. '**     none.
  170. '** Returns:
  171. '**     none.
  172. '*************************************************************************
  173. SUB Install STATIC
  174.  
  175. 'Create the directory to install the app files to
  176.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  177.     CreateDir DEST$, cmoNone
  178.  
  179. 'Copy the app files to the dir selected by the user
  180.     AddSectionFilesToCopyList "SharewareFiles", SrcDir$, DEST$
  181.     AddSectionFilesToCopyList "AppFiles", SrcDir$, DEST$
  182.     WinDir$ = GetWindowsDir
  183.     AddSectionFilesToCopyList "IniFiles", SrcDir$, WinDir$
  184.     CopyFilesInCopyList
  185.  
  186. 'Create the program manager group and icon
  187.     CreateProgmanGroup "MSSI System Census", "", cmoNone
  188.     ShowProgmanGroup  "MSSI System Census", 1, cmoNone
  189.     CreateProgmanItem "MSSI System Census", "MSSI System Census", MakePath(DEST$,"mssinfo.exe"), "", cmoOverwrite
  190.     CreateProgmanItem "MSSI System Census", "System Census Help", MakePath(DEST$,"mssinfo.hlp"), "", cmoOverwrite
  191.     CreateProgmanItem "MSSI System Census", "MSSI Shareware Registration", MakePath(DEST$,"mssi_reg.exe"), "", cmoOverwrite
  192.     CreateProgmanItem "MSSI System Census", "README.TXT", MakePath(DEST$,"readme.txt"), "", cmoOverwrite
  193.     CreateProgmanItem "MSSI System Census", "ORDER.TXT", MakePath(DEST$,"order.txt"), "", cmoOverwrite
  194.     CreateProgmanItem "MSSI System Census", "LICENSE.TXT", MakePath(DEST$,"license.txt"), "", cmoOverwrite
  195.     CreateProgmanItem "MSSI System Census", "VENDOR.TXT", MakePath(DEST$,"vendor.txt"), "", cmoOverwrite
  196.  
  197. END SUB
  198.  
  199.  
  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.  
  223.