home *** CD-ROM | disk | FTP | other *** search
/ Tales From Lantropolis / Tales_From_Lantropolis_1996.zip / tfl1.bin / lantrop / intel.mst < prev    next >
Text File  |  1996-01-21  |  6KB  |  227 lines

  1. ''$DEFINE DEBUG  ''Define for script development/debugging
  2.  
  3. '$INCLUDE 'setupapi.inc'
  4. '$INCLUDE 'msdetect.inc'
  5.  
  6. ''Dialog ID's
  7. CONST WELCOME       = 100
  8. CONST ASKQUIT       = 200
  9. CONST DESTPATH      = 300
  10. CONST EXITFAILURE   = 400
  11. CONST EXITQUIT      = 600
  12. CONST EXITSUCCESS   = 700
  13. CONST OPTIONS       = 800
  14. CONST APPHELP       = 900
  15. CONST BADPATH       = 6400
  16.  
  17. ''Bitmap ID
  18. CONST LOGO = 1
  19.  
  20. GLOBAL DEST$        ''Default destination directory
  21.  
  22. DECLARE SUB Install
  23. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  24. DECLARE FUNCTION CheckOS AS INTEGER
  25.  
  26. INIT:
  27.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  28.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  29.  
  30. '    SetBitmap CUIDLL$, LOGO
  31.     SetTitle "LANtropolis Install"
  32.  
  33.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  34.  
  35.     IF szInf$ = "" THEN
  36.         szInf$ = GetSymbolValue("STF_CWDDIR") + "INTEL.INF"
  37.     END IF
  38.  
  39.     ReadInfFile szInf$
  40.  
  41.     OPTCUR$ = "1"
  42.     DEST$ = "C:\LANTROP"
  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. WELCOME:
  54.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  55.     IF sz$ = "CONTINUE" THEN
  56.         UIPop 1
  57.     ELSE
  58.         GOSUB ASKQUIT
  59.         GOTO WELCOME
  60.     END IF
  61.  
  62. GETPATH:
  63.     SetSymbolValue "EditTextIn", DEST$
  64.     SetSymbolValue "EditFocus", "END"
  65.  
  66. GETPATHL1:
  67.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  68.     DEST$ = GetSymbolValue("EditTextOut")
  69.  
  70.     IF sz$ = "CONTINUE" THEN
  71.         IF IsDirWritable(DEST$) = 0 THEN
  72.             GOSUB BADPATH
  73.             GOTO GETPATHL1
  74.         END IF
  75.         UIPop 1
  76.     ELSEIF sz$ = "REACTIVATE" THEN
  77.         GOTO GETPATHL1
  78.     ELSEIF sz$ = "BACK" THEN
  79.         UIPop 1
  80.         GOTO WELCOME
  81.     ELSE
  82.         GOSUB ASKQUIT
  83.         GOTO GETPATH
  84.     END IF
  85.  
  86.     Install
  87.  
  88. QUIT:
  89.     ON ERROR GOTO ERRQUIT
  90.  
  91.     IF ERR = 0 THEN
  92.         dlg% = EXITSUCCESS
  93.     ELSEIF ERR = STFQUIT THEN
  94.         dlg% = EXITQUIT
  95.     ELSE
  96.         dlg% = EXITFAILURE
  97.     END IF
  98.  
  99. QUITL1:
  100.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  101.     IF sz$ = "REACTIVATE" THEN
  102.         GOTO QUITL1
  103.     END IF
  104.     UIPop 1
  105.  
  106.     END
  107.  
  108. ERRQUIT:
  109.     i% = DoMsgBox("Setup sources were corrupted, call (415) 544-9900!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  110.     END
  111.  
  112. BADPATH:
  113.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  114.     IF sz$ = "REACTIVATE" THEN
  115.         GOTO BADPATH
  116.     END IF
  117.     UIPop 1
  118.     RETURN
  119.  
  120. ASKQUIT:
  121.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  122.  
  123.     IF sz$ = "EXIT" THEN
  124.         UIPopAll
  125.         ERROR STFQUIT
  126.     ELSEIF sz$ = "REACTIVATE" THEN
  127.         GOTO ASKQUIT
  128.     ELSE
  129.         UIPop 1
  130.     END IF
  131.     RETURN
  132.  
  133. '**
  134. '** Purpose:
  135. '**     Builds the copy list and performs all installation operations.
  136. '** Arguments:
  137. '**     none.
  138. '** Returns:
  139. '**     none.
  140. '*************************************************************************
  141. SUB Install STATIC
  142.  
  143.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  144.     CreateDir DEST$, cmoNone
  145.  
  146.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  147.     WriteToLogFile ""
  148.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  149.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  150.     WriteToLogFile ""
  151.     WriteToLogFile "May have had to create the directory: " + DEST$
  152.     WriteToLogFile ""
  153.  
  154.     j% = CheckOS()
  155.  
  156.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  157.     WriteToLogFile "AddSection"
  158.  
  159.     CopyFilesInCopyList
  160.     WriteToLogFile "CopyFilesInCopyList"
  161.  
  162.     CreateProgmanGroup "LANtropolis", "", cmoNone
  163.     ShowProgmanGroup  "LANtropolis", 1, cmoNone
  164.     CreateProgmanItem "LANtropolis", "The Case of the Ham in the Bandwidth",MakePath(DEST$,"lantrop.exe"), "", cmoOverwrite
  165.     CreateProgmanItem "LANtropolis", "LANtropolis Readme", "notepad.exe "+MakePath(DEST$,"readme.txt"), "", cmoOverwrite
  166.     CreateProgmanItem "LANtropolis", "Product Offers and Information",MakePath(DEST$,"products.exe"), "", cmoOverwrite
  167.  
  168.     AddDos5Help "YOURAPP", "A brief help text for your Windows application."+chr$(10)+"It can be continued on another line with chr$(10).", cmoNone
  169.  
  170.     CloseLogFile
  171.  
  172.  
  173.  
  174. END SUB
  175.  
  176. '**
  177. '** Purpose:
  178. '**     Appends a file name to the end of a directory path,
  179. '**     inserting a backslash character as needed.
  180. '** Arguments:
  181. '**     szDir$  - full directory path (with optional ending "\")
  182. '**     szFile$ - filename to append to directory
  183. '** Returns:
  184. '**     Resulting fully qualified path name.
  185. '*************************************************************************
  186. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  187.     IF szDir$ = "" THEN
  188.         MakePath = szFile$
  189.     ELSEIF szFile$ = "" THEN
  190.         MakePath = szDir$
  191.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  192.         MakePath = szDir$ + szFile$
  193.     ELSE
  194.         MakePath = szDir$ + "\" + szFile$
  195.     END IF
  196. END FUNCTION
  197.  
  198. rem Check for unique Win95/WinNT file and Acrobat Reader
  199. rem ----------------------------------------------------
  200. FUNCTION CheckOS STATIC AS INTEGER
  201.     cursor% = ShowWaitCursor()
  202.     GetLocalHardDrivesList "HardDrives"
  203.     NumDrives% = GetListLength("HardDrives")
  204.     IF (NUMDRIVES% > 0) THEN
  205.         FOR i% = 1 TO NumDrives% STEP 1
  206.             CurrentDrive$ = GetListItem("HardDrives",i%) + ":\"
  207.  
  208.             rem Look for GDI32.DLL in WINDOWS Directory
  209.             rem ---------------------------------------
  210.                 MyWinDir$ = GetWindowsDir
  211.                 OldFilePath$ = ""
  212.                 OldFilePath$ = FindFileInTree("GDI32.DLL",MyWinDir$)
  213.  
  214.                 rem If we DO find it...
  215.                 IF (OldFilePath$ <> "") THEN 
  216.            CreateIniKeyValue MakePath(MyWinDir$,"LANTROP.INI"), "LANTROP", "OS", "WIN95", cmoOverWrite
  217.  
  218.                 rem If we do NOT find it...
  219.                 rem IF (OldFilePath$ = "") THEN
  220.  
  221.                 END IF
  222.  
  223.         NEXT i%
  224.     END IF
  225.     RestoreCursor cursor%
  226. END FUNCTION
  227.