home *** CD-ROM | disk | FTP | other *** search
/ In'side Shareware 1995 April / ish0495.iso / scherz / rude / rude.ms_ / rude.ms
Text File  |  1993-01-14  |  5KB  |  200 lines

  1. '**************************************************************************
  2. '*                      Rude v1.00 Setup Script
  3. '**************************************************************************
  4.  
  5. '$INCLUDE 'setupapi.inc'
  6. '$INCLUDE 'msdetect.inc'
  7.  
  8.  
  9. ''Dialog ID's
  10. CONST WELCOME       = 100
  11. CONST ASKQUIT       = 200
  12. CONST DESTPATH      = 300
  13. CONST EXITFAILURE   = 400
  14. CONST EXITQUIT      = 600
  15. CONST EXITSUCCESS   = 700
  16. CONST APPHELP       = 900
  17. CONST BADPATH       = 6400
  18.  
  19. ''Bitmap ID
  20. CONST LOGO = 1
  21.  
  22. GLOBAL DEST$        ''Default destination directory.
  23.  
  24. DECLARE SUB Install
  25. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  26.  
  27.  
  28. INIT:
  29.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  30.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  31.  
  32.     SetTitle "P & J's Software - Rude Version 1.00 Setup"
  33.     SetBitmap CUIDLL$, LOGO
  34.  
  35.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  36.     IF szInf$ = "" THEN
  37.         szInf$ = GetSymbolValue("STF_CWDDIR") + "RUDE.INF"
  38.     END IF
  39.     ReadInfFile szInf$
  40.  
  41.     OPTCUR$ = "1"
  42.     DEST$ = "C:\RUDE"
  43.  
  44. '$IFDEF DEBUG
  45.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  46.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  47.     IF IsDriveValid(WinDrive$) = 0 THEN
  48.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  49.         GOTO QUIT
  50.     END IF
  51. '$ENDIF ''DEBUG
  52.  
  53.  
  54. WELCOME:
  55.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  56.     IF sz$ = "CONTINUE" THEN
  57.         UIPop (1)
  58.     ELSE
  59.         GOSUB ASKQUIT
  60.         GOTO WELCOME
  61.     END IF
  62.  
  63.  
  64. GETPATH:
  65.     SetSymbolValue "EditTextIn", DEST$
  66.     SetSymbolValue "EditFocus", "END"
  67. GETPATHL1:
  68.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  69.     DEST$ = GetSymbolValue("EditTextOut")
  70.  
  71.     IF sz$ = "CONTINUE" THEN
  72.         IF IsDirWritable(DEST$) = 0 THEN
  73.             GOSUB BADPATH
  74.             GOTO GETPATHL1
  75.         END IF
  76.         UIPop 1
  77.     ELSEIF sz$ = "REACTIVATE" THEN
  78.         GOTO GETPATHL1
  79.     ELSEIF sz$ = "BACK" THEN
  80.         UIPop 1
  81.         GOTO WELCOME
  82.     ELSE
  83.         GOSUB ASKQUIT
  84.         GOTO GETPATH
  85.     END IF
  86.  
  87.  
  88.     Install
  89.  
  90.  
  91. QUIT:
  92.     ON ERROR GOTO ERRQUIT
  93.  
  94.     IF ERR = 0 THEN
  95.         dlg% = EXITSUCCESS
  96.     ELSEIF ERR = STFQUIT THEN
  97.         dlg% = EXITQUIT
  98.     ELSE
  99.         dlg% = EXITFAILURE
  100.     END IF
  101. QUITL1:
  102.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  103.     IF sz$ = "REACTIVATE" THEN
  104.         GOTO QUITL1
  105.     END IF
  106.     UIPop 1
  107.  
  108.     END
  109.  
  110. ERRQUIT:
  111.     i% = DoMsgBox("Setup sources were corrupted.  You may need to obtain another distribution set from the place to obtained Rude.", "Rude Setup", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  112.     END
  113.  
  114.  
  115.  
  116. BADPATH:
  117.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  118.     IF sz$ = "REACTIVATE" THEN
  119.         GOTO BADPATH
  120.     END IF
  121.     UIPop 1
  122.     RETURN
  123.  
  124.  
  125.  
  126. ASKQUIT:
  127.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  128.  
  129.     IF sz$ = "EXIT" THEN
  130.         UIPopAll
  131.         ERROR STFQUIT
  132.     ELSEIF sz$ = "REACTIVATE" THEN
  133.         GOTO ASKQUIT
  134.     ELSE
  135.         UIPop 1
  136.     END IF
  137.     RETURN
  138.  
  139.  
  140.  
  141. '**
  142. '** Purpose:
  143. '**     Builds the copy list and performs all installation operations.
  144. '** Arguments:
  145. '**     none.
  146. '** Returns:
  147. '**     none.
  148. '*************************************************************************
  149. SUB Install STATIC
  150.  
  151.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  152.     CreateDir DEST$, cmoNone
  153.  
  154.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  155.     WriteToLogFile ""
  156.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  157.     WriteToLogFile ""
  158.     WriteToLogFile "May have had to create the directory: " + DEST$
  159.     WriteToLogFile ""
  160.  
  161.     AddSectionFilesToCopyList "Rude_Files", SrcDir$, DEST$
  162.     AddSectionFilesToCopyList "LowRider_Files", SrcDir$, MakePath(GetWindowsDir, "SYSTEM")
  163.     CopyFilesInCopyList
  164.  
  165.     CreateProgmanGroup "Rude", "", cmoNone
  166.     ShowProgmanGroup  "Rude", 1, cmoNone
  167.     CreateProgmanItem "Rude", "Rude", MakePath(DEST$,"rude.exe"), "", cmoOverwrite
  168.     CreateProgmanItem "Rude", "Polite", MakePath(DEST$,"polite.exe"), "", cmoOverwrite
  169.     CreateProgmanItem "Rude", "Rude Help", MakePath(DEST$,"rude.hlp"), "", cmoOverwrite
  170.     CreateProgmanItem "Rude", "Shareware Registration", "notepad " + MakePath(DEST$,"REGISTER.TXT"), "", cmoOverwrite
  171.  
  172.     CloseLogFile
  173.  
  174. END SUB
  175.  
  176.  
  177.  
  178. '**
  179. '** Purpose:
  180. '**     Appends a file name to the end of a directory path,
  181. '**     inserting a backslash character as needed.
  182. '** Arguments:
  183. '**     szDir$  - full directory path (with optional ending "\")
  184. '**     szFile$ - filename to append to directory
  185. '** Returns:
  186. '**     Resulting fully qualified path name.
  187. '*************************************************************************
  188. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  189.     IF szDir$ = "" THEN
  190.         MakePath = szFile$
  191.     ELSEIF szFile$ = "" THEN
  192.         MakePath = szDir$
  193.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  194.         MakePath = szDir$ + szFile$
  195.     ELSE
  196.         MakePath = szDir$ + "\" + szFile$
  197.     END IF
  198. END FUNCTION
  199.  
  200.