home *** CD-ROM | disk | FTP | other *** search
/ Computer Buyer 1995 September / C_BUYER.ISO / free / ep.ms_ / ep.ms
Text File  |  1994-08-22  |  5KB  |  205 lines

  1. '$INCLUDE 'setupapi.inc'
  2.  
  3. ''Dialog ID's
  4. CONST WELCOME       = 100
  5. CONST ASKQUIT       = 200
  6. CONST DESTPATH      = 300
  7. CONST EXITFAILURE   = 400
  8. CONST EXITQUIT      = 600
  9. CONST EXITSUCCESS   = 700
  10. CONST APPHELP       = 900
  11. CONST BADPATH       = 6400
  12. CONST CHECKDIR      = 1000
  13. CONST TOOBIG        = 6300
  14. CONST SW_MAXIMIZE   = 3   'Maximize Window
  15.  
  16. GLOBAL DEST$        ''Default destination directory.
  17.  
  18. DECLARE SUB Install
  19. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  20. DECLARE FUNCTION ShowWindow LIB "user" (hwnd%, nCmdShow%) AS INTEGER
  21. DECLARE SUB OurSetBitmap LIB "mscuistf.dll" (hWnd%,id%,wFlags%)
  22.  
  23.  
  24. INIT:
  25.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  26.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  27.  
  28.     OurSetBitmap HwndFrame(),200,0      ''Custom SetBitmap for Home Logo
  29.     OurSetBitmap HwndFrame(),104,1
  30.     fTmp% = ShowWindow(HwndFrame(), SW_MAXIMIZE)
  31.     SetTitle "Custom Entertainment Pack"
  32.  
  33.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  34.     IF szInf$ = "" THEN
  35.     szInf$ = GetSymbolValue("STF_CWDDIR") + "setup.INF"
  36.     END IF
  37.     ReadInfFile szInf$
  38.  
  39.     DEST$ = "C:\EP"
  40.  
  41.    
  42. WELCOME:
  43.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  44.     IF sz$ = "CONTINUE" THEN
  45.     UIPop 1
  46.     ELSE
  47.     GOSUB ASKQUIT
  48.     GOTO WELCOME
  49.     END IF
  50.  
  51.  
  52. GETPATH:
  53.     SetSymbolValue "EditTextIn", DEST$
  54.     SetSymbolValue "EditFocus", "END"
  55. GETPATHL1:
  56.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  57.     DEST$ = GetSymbolValue("EditTextOut")
  58.  
  59.     IF sz$ = "CONTINUE" THEN
  60.     IF IsDirWritable(DEST$) = 0 THEN
  61.         GOSUB BADPATH
  62.         GOTO GETPATHL1
  63.     END IF
  64.     UIPop 1
  65.     ELSEIF sz$ = "REACTIVATE" THEN
  66.     GOTO GETPATHL1
  67.     ELSEIF sz$ = "BACK" THEN
  68.     UIPop 1
  69.     GOTO WELCOME
  70.     ELSE
  71.     GOSUB ASKQUIT
  72.     GOTO GETPATH
  73.     END IF
  74.  
  75.     IF DoesDirExist(DEST$)=0 THEN
  76.     If DEST$<>"C:\WEPPB" THEN
  77.         sz$ = UIStartDlg(CUIDLL$, CHECKDIR, "FInfoDlgProc", APPHELP, HELPPROC$)
  78.         IF SZ$ = "BACK" THEN 
  79.             UIPOP 1
  80.             GOTO GETPATH
  81.         ELSE
  82.             UIPOP 1
  83.         ENDIF
  84.     ENDIF
  85.     ENDIF
  86.  
  87. CHECKSIZE:
  88.     IF (GetFreeSpaceForDrive(MID$(DEST$,1,1)) < 3200000) THEN
  89.     sz$ = UIStartDlg(CUIDLL$,TOOBIG,"FInfoDlgProc", APPHELP,HELPPROC$)
  90.     UIPOP 1
  91.     GOTO GETPATHL1
  92.     ENDIF
  93.  
  94.     Install
  95.  
  96.  
  97. QUIT:
  98.     ON ERROR GOTO ERRQUIT
  99.  
  100.     IF ERR = 0 THEN
  101.     dlg% = EXITSUCCESS
  102.     ELSEIF ERR = STFQUIT THEN
  103.     dlg% = EXITQUIT
  104.     ELSE
  105.     dlg% = EXITFAILURE
  106.     END IF
  107. QUITL1:
  108.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "")
  109.     IF sz$ = "REACTIVATE" THEN
  110.     GOTO QUITL1
  111.     END IF
  112.     UIPop 1
  113.  
  114.     END
  115.  
  116. ERRQUIT:
  117.     i% = DoMsgBox("Setup sources were corrupted!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  118.     END
  119.  
  120.  
  121.  
  122. BADPATH:
  123.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfoDlgProc", 0, "")
  124.     IF sz$ = "REACTIVATE" THEN
  125.     GOTO BADPATH
  126.     END IF
  127.     UIPop 1
  128.     RETURN
  129.  
  130.  
  131.  
  132. ASKQUIT:
  133.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  134.  
  135.     IF sz$ = "EXIT" THEN
  136.     UIPopAll
  137.     ERROR STFQUIT
  138.     ELSEIF sz$ = "REACTIVATE" THEN
  139.     GOTO ASKQUIT
  140.     ELSE
  141.     UIPop 1
  142.     END IF
  143.     RETURN
  144.  
  145.  
  146.  
  147. '**
  148. '** Purpose:
  149. '**     Builds the copy list and performs all installation operations.
  150. '** Arguments:
  151. '**     none.
  152. '** Returns:
  153. '**     none.
  154. '*************************************************************************
  155. SUB Install STATIC
  156.  
  157.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  158.     CreateDir DEST$, cmoNone
  159.  
  160.     WINDIR$=GetWindowsDir()
  161.  
  162.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  163.     AddSectionFilesToCopyList "Windows Files",SrcDir$, WINDIR$
  164.  
  165.     CopyFilesInCopyList
  166.     ClearBillboardList
  167.  
  168.     CreateProgmanGroup "Custom Entertainment Pack", "", cmoNone
  169.     ShowProgmanGroup  "Custom Entertainment Pack", 1, cmoNone
  170.     CreateProgmanItem "Custom Entertainment Pack","Dr. Black Jack",MakePath(DEST$,"blakjak.exe"), "", cmoOverwrite
  171.     CreateProgmanItem "Custom Entertainment Pack","Rodent's Revenge",MakePath(Dest$,"rodent.exe"),"", cmoOverwrite
  172.     CreateProgmanItem "Custom Entertainment Pack","Fuji Golf",MakePath(Dest$,"fujigolf.exe"),"",cmoOverwrite
  173.     CreateProgmanItem "Custom Entertainment Pack","JigSawed",MakePath(Dest$,"jigsawed"),"",cmoOverwrite
  174.     CreateProgmanItem "Custom Entertainment Pack","Life Genesis ",MakePath(DEST$,"lifegen.exe"), "", cmoOverwrite
  175.     CreateProgmanItem "Custom Entertainment Pack","Rattler Race",MakePath(Dest$,"rattler.exe"),"", cmoOverwrite
  176.     CreateProgmanItem "Custom Entertainment Pack","Chess",MakePath(Dest$,"chess.exe"),"",cmoOverwrite
  177.     CreateProgmanItem "Custom Entertainment Pack","SkiFree",MakePath(Dest$,"ski.exe"),"",cmoOverwrite
  178.     
  179. END SUB
  180.  
  181.  
  182.  
  183. '**
  184. '** Purpose:
  185. '**     Appends a file name to the end of a directory path,
  186. '**     inserting a backslash character as needed.
  187. '** Arguments:
  188. '**     szDir$  - full directory path (with optional ending "\")
  189. '**     szFile$ - filename to append to directory
  190. '** Returns:
  191. '**     Resulting fully qualified path name.
  192. '*************************************************************************
  193. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  194.     IF szDir$ = "" THEN
  195.     MakePath = szFile$
  196.     ELSEIF szFile$ = "" THEN
  197.     MakePath = szDir$
  198.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  199.     MakePath = szDir$ + szFile$
  200.     ELSE
  201.     MakePath = szDir$ + "\" + szFile$
  202.     END IF
  203. END FUNCTION
  204.  
  205.