home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: DFÜ und Kommunikation / SOS-DFUE.ISO / programm / windows / reader / dstr10 / dstread.mst < prev    next >
Encoding:
Text File  |  1994-03-13  |  5.4 KB  |  203 lines

  1. '$INCLUDE 'setupapi.inc'
  2. '$INCLUDE 'msdetect.inc'
  3.  
  4. ''Dialog ID's
  5. CONST WELCOME       = 100
  6. CONST ASKQUIT       = 200
  7. CONST DESTPATH      = 300
  8. CONST EXITFAILURE   = 400
  9. CONST EXITQUIT      = 600
  10. CONST EXITSUCCESS   = 700
  11. CONST APPHELP       = 900
  12. CONST BADPATH       = 6400
  13.  
  14. ''Bitmap ID
  15. CONST LOGO = 1
  16.  
  17. GLOBAL DEST$        ''Default destination directory.
  18.  
  19. DECLARE SUB Install
  20. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  21.  
  22.  
  23. INIT:
  24.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  25.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  26.  
  27.     SetBitmap CUIDLL$, LOGO
  28.     SetTitle "DSTReader Install Program"
  29.  
  30.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  31.     IF szInf$ = "" THEN
  32.         szInf$ = GetSymbolValue("STF_CWDDIR") + "DSTREAD.INF"
  33.     END IF
  34.     ReadInfFile szInf$
  35.  
  36.     OPTCUR$ = "1"
  37.     DEST$ = "C:\DSTREAD"
  38.  
  39. '$IFDEF DEBUG
  40.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  41.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  42.     IF IsDriveValid(WinDrive$) = 0 THEN
  43.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  44.         GOTO QUIT
  45.     END IF
  46. '$ENDIF ''DEBUG
  47.  
  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.  
  59. GETPATH:
  60.     SetSymbolValue "EditTextIn", DEST$
  61.     SetSymbolValue "EditFocus", "END"
  62. GETPATHL1:
  63.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  64.     DEST$ = GetSymbolValue("EditTextOut")
  65.  
  66.     IF sz$ = "CONTINUE" THEN
  67.         IF IsDirWritable(DEST$) = 0 THEN
  68.             GOSUB BADPATH
  69.             GOTO GETPATHL1
  70.         END IF
  71.         UIPop 1
  72.     ELSEIF sz$ = "REACTIVATE" THEN
  73.         GOTO GETPATHL1
  74.     ELSEIF sz$ = "BACK" THEN
  75.         UIPop 1
  76.         GOTO WELCOME
  77.     ELSE
  78.         GOSUB ASKQUIT
  79.         GOTO GETPATH
  80.     END IF
  81.  
  82.  
  83.     Install
  84.  
  85.  
  86. QUIT:
  87.     ON ERROR GOTO ERRQUIT
  88.  
  89.     IF ERR = 0 THEN
  90.         dlg% = EXITSUCCESS
  91.     ELSEIF ERR = STFQUIT THEN
  92.         dlg% = EXITQUIT
  93.     ELSE
  94.         dlg% = EXITFAILURE
  95.     END IF
  96. QUITL1:
  97.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  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, call 555-1212!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  107.     END
  108.  
  109.  
  110.  
  111. BADPATH:
  112.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  113.     IF sz$ = "REACTIVATE" THEN
  114.         GOTO BADPATH
  115.     END IF
  116.     UIPop 1
  117.     RETURN
  118.  
  119.  
  120.  
  121. ASKQUIT:
  122.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  123.  
  124.     IF sz$ = "EXIT" THEN
  125.         UIPopAll
  126.         ERROR STFQUIT
  127.     ELSEIF sz$ = "REACTIVATE" THEN
  128.         GOTO ASKQUIT
  129.     ELSE
  130.         UIPop 1
  131.     END IF
  132.     RETURN
  133.  
  134.  
  135.  
  136. '**
  137. '** Purpose:
  138. '**     Builds the copy list and performs all installation operations.
  139. '** Arguments:
  140. '**     none.
  141. '** Returns:
  142. '**     none.
  143. '*************************************************************************
  144. SUB Install STATIC
  145.  
  146.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  147.     CreateDir DEST$, cmoNone
  148.     CreateDir MakePath( DEST$, "working" ), cmoNone
  149.     CreateDir MakePath( DEST$, "taglines" ), cmoNone
  150.     CreateDir MakePath( DEST$, "vaults" ), cmoNone
  151.  
  152.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  153.     WriteToLogFile ""
  154.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  155.     WriteToLogFile ""
  156.     WriteToLogFile "May have had to create the directory: " + DEST$
  157.     WriteToLogFile ""
  158.  
  159.     ClearCopyList
  160.     AddSectionFilesToCopyList "ProgramFiles", SrcDir$, DEST$
  161.     AddSectionFilesToCopyList "SystemFiles", SrcDir$, GetWindowsSysDir
  162.     AddSectionFilesToCopyList "OtherFiles", SrcDir$, GetWindowsDir
  163.     CopyFilesInCopyList
  164.  
  165.     CreateProgmanGroup "DSTReader", "", cmoNone
  166.     ShowProgmanGroup  "DSTReader", 1, cmoNone
  167.     CreateProgmanItem "DSTReader", "DSTReader", MakePath(DEST$,"DSTREAD.EXE"), "", cmoOverwrite
  168.     CreateProgmanItem "DSTReader", "Read Me Now!", "WRITE "+MakePath(DEST$,"README.WRI"), "", cmoOverwrite
  169.     CreateProgmanItem "DSTReader", "DSTReader Help", "WINHELP "+MakePath(DEST$,"dstread.hlp"), "", cmoOverwrite
  170.  
  171.     CreateIniKeyValue GetWindowsDir+"dstread.ini", "Dirs", "WorkingDirectory", MakePath( DEST$, "WORKING" ), cmoOverwrite
  172.     CreateIniKeyValue GetWindowsDir+"dstread.ini", "Dirs", "VaultDirectory", MakePath( DEST$, "VAULTS" ), cmoOverwrite
  173.     CreateIniKeyValue GetWindowsDir+"dstread.ini", "Dirs", "TagLineDirectory", MakePath( DEST$, "TAGLINES" ), cmoOverwrite
  174.  
  175.     CloseLogFile
  176.  
  177. END SUB
  178.  
  179.  
  180.  
  181. '**
  182. '** Purpose:
  183. '**     Appends a file name to the end of a directory path,
  184. '**     inserting a backslash character as needed.
  185. '** Arguments:
  186. '**     szDir$  - full directory path (with optional ending "\")
  187. '**     szFile$ - filename to append to directory
  188. '** Returns:
  189. '**     Resulting fully qualified path name.
  190. '*************************************************************************
  191. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  192.     IF szDir$ = "" THEN
  193.         MakePath = szFile$
  194.     ELSEIF szFile$ = "" THEN
  195.         MakePath = szDir$
  196.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  197.         MakePath = szDir$ + szFile$
  198.     ELSE
  199.         MakePath = szDir$ + "\" + szFile$
  200.     END IF
  201. END FUNCTION
  202.  
  203.