home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 12 / CD_ASCQ_12_0294.iso / news / 2402 / fc4win / fc_setup.ms_ / fc_setup.bin
Text File  |  1993-09-14  |  5KB  |  180 lines

  1. '**************************************************************************
  2. '*                       FC4WIN Setup Script File
  3. '**************************************************************************
  4.  
  5. '$INCLUDE 'setupapi.inc'
  6. '$INCLUDE 'msdetect.inc'
  7.  
  8. CONST LOGO          = 1                                             'Bitmap ID 
  9. CONST WELCOME       = 100                                         'Dialog ID's  
  10. CONST ASKQUIT       = 200
  11. CONST DESTPATH      = 300
  12. CONST EXITFAILURE   = 400
  13. CONST EXITQUIT      = 600
  14. CONST EXITSUCCESS   = 700
  15. CONST APPHELP       = 900
  16. CONST BADPATH       = 6400
  17.  
  18. CONST SW_SHOWMAXIMIZED = 3
  19.  
  20. GLOBAL DEST$                                    'Default destination directory
  21.  
  22. DECLARE SUB Install
  23. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  24. DECLARE FUNCTION ShowWindow LIB "user.exe" (hwnd%, iShow%) AS INTEGER
  25. DECLARE FUNCTION FC_Register LIB "fccuistf.dll" () AS INTEGER
  26.  
  27. CUIDLL$ = "fccuistf.dll"                            'Custom user interface dll
  28. HELPPROC$ = "FHelpDlgProc"                              'Help dialog procedure
  29. DEST$ = "C:\FC4WIN"                                       'Default destination
  30.  
  31. hWnd% = HwndFrame()
  32. temp1% = ShowWindow (hWnd%, SW_SHOWMAXIMIZED)
  33.  
  34. SetBitmap CUIDLL$, LOGO
  35. SetTitle "Floppy Copy for Windows - Version 1.0"
  36.  
  37. szInf$ = GetSymbolValue("STF_SRCINFPATH")
  38.  
  39. IF szInf$ = "" THEN
  40.   szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  41. END IF
  42.  
  43. ReadInfFile szInf$
  44.  
  45. '***************************************************************Welcome Screen
  46. sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  47.  
  48. IF sz$ = "CONTINUE" THEN
  49.   UIPop 1
  50. ELSE
  51.   UIPopAll
  52.   ERROR STFQUIT
  53. END IF
  54.  
  55. '****************************************************Get File Destination Path
  56.  
  57. SetSymbolValue "EditTextIn", DEST$
  58. SetSymbolValue "EditFocus", "END"
  59.  
  60. GETPATHL1:
  61.   sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  62.   DEST$ = GetSymbolValue("EditTextOut")
  63.  
  64.   IF sz$ = "CONTINUE" THEN
  65.     IF IsDirWritable(DEST$) = 0 THEN
  66.      GOSUB BADPATH
  67.      GOTO GETPATHL1
  68.     END IF
  69.  
  70.   UIPop 1
  71.  
  72.   ELSEIF sz$ = "REACTIVATE" THEN
  73.     GOTO GETPATHL1
  74.   ELSE
  75.     UIPopAll
  76.     ERROR STFQUIT
  77.   END IF
  78.  
  79. '***************************************************** Start File Installation
  80. Install                                                         
  81.  
  82. reg_res% = FC_Register ()
  83.  
  84. QUIT:
  85.   ON ERROR GOTO ERRQUIT
  86.  
  87.   IF ERR = 0 THEN                                           'Check Error Level
  88.     dlg% = EXITSUCCESS
  89.   ELSEIF ERR = STFQUIT THEN
  90.     dlg% = EXITQUIT
  91.   ELSE
  92.     dlg% = EXITFAILURE
  93.   END IF
  94.  
  95. QUITL1:
  96.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  97.  
  98.     IF sz$ = "REACTIVATE" THEN
  99.         GOTO QUITL1
  100.     END IF
  101.     UIPop 1
  102.  
  103.     END
  104.  
  105. ERRQUIT:
  106.     i% = DoMsgBox("Setup sources were corrupted, contact author!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  107.     END
  108.  
  109. BADPATH:
  110.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  111.     IF sz$ = "REACTIVATE" THEN
  112.         GOTO BADPATH
  113.     END IF
  114.     UIPop 1
  115.     RETURN
  116.  
  117. ASKQUIT:
  118.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  119.  
  120.     IF sz$ = "EXIT" THEN
  121.         UIPopAll
  122.         ERROR STFQUIT
  123.     ELSEIF sz$ = "REACTIVATE" THEN
  124.         GOTO ASKQUIT
  125.     ELSE
  126.         UIPop 1
  127.     END IF
  128.     RETURN
  129.  
  130. '******************************************************Subroutines & Functions
  131. '** Purpose:
  132. '**     Builds the copy list and performs all installation operations.
  133. '** Arguments:
  134. '**     none.
  135. '** Returns:
  136. '**     none.
  137. '*************************************************************************
  138. SUB Install STATIC
  139.  
  140. SrcDir$ = GetSymbolValue("STF_SRCDIR")
  141. CreateDir DEST$, cmoNone
  142.  
  143. AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  144. CopyFilesInCopyList
  145.  
  146. ExecIcon$ = MakePath(DEST$,"fc4win.exe") + ",1"
  147. HelpIcon$ =  MakePath(DEST$,"fc4win.exe") + ",2" 
  148.  
  149. CreateProgmanGroup "Floppy Copy For Windows", "", cmoNone
  150. ShowProgmanGroup  "Floppy Copy For Windows", 1, cmoNone
  151. CreateProgmanItem "Floppy Copy For Windows", "FC4WIN", MakePath(DEST$,"fc4win.exe"), ExecIcon$, cmoOverwrite
  152. CreateProgmanItem "Floppy Copy For Windows", "FC4WIN Help", MakePath(DEST$,"fc4win.hlp"), HelpIcon$, cmoOverwrite
  153.  
  154. END SUB
  155.  
  156. '*****************************************************************************
  157. '** Purpose:
  158. '**     Appends a file name to the end of a directory path,
  159. '**     inserting a backslash character as needed.
  160. '** Arguments:
  161. '**     szDir$  - full directory path (with optional ending "\")
  162. '**     szFile$ - filename to append to directory
  163. '** Returns:
  164. '**     Resulting fully qualified path name.
  165. '*****************************************************************************
  166. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  167.  
  168. IF szDir$ = "" THEN
  169.   MakePath = szFile$
  170. ELSEIF szFile$ = "" THEN
  171.   MakePath = szDir$
  172. ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  173.   MakePath = szDir$ + szFile$
  174. ELSE
  175.   MakePath = szDir$ + "\" + szFile$
  176. END IF
  177.  
  178. END FUNCTION
  179.  
  180.