home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM User 1995 January / CDuser6Jan95.iso / WING / WING.MST < prev    next >
Text File  |  1994-06-26  |  7KB  |  268 lines

  1. '**************************************************************************
  2. '*                       WinG Setup Program
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8.  
  9. ''Dialog ID's
  10. CONST WELCOME       = 100
  11. CONST ASKQUIT       = 200
  12. CONST DESTPATH      = 300
  13. CONST DESTPATH2     = 301
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST APPHELP       = 900
  18. CONST CHECK         = 2500
  19. CONST BADPATH       = 6400
  20. CONST RESTART       = 1000
  21.  
  22. ''File Types
  23. CONST WING_RUNFILES     = 1
  24. CONST WING_BUILDFILES   = 2
  25.  
  26. ''Bitmap ID
  27. CONST LOGO = 1
  28.  
  29. GLOBAL FILEDIALOG   ''File path dialog ID
  30.  
  31. GLOBAL DEST$        ''Default destination directory.
  32.  
  33. GLOBAL CHECKSTATES$ ''Dialog list symbol names
  34. GLOBAL WINDRIVE$    ''Windows drive letter.
  35.  
  36. GLOBAL bInstallDVA%
  37.  
  38. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  39. DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER
  40.  
  41. INIT:
  42.     bInstallDVA% = 0
  43.     
  44.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  45.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  46.  
  47.     SetBitmap CUIDLL$, LOGO
  48.     SetTitle "Microsoft WinG Setup"
  49.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  50.     IF szInf$ = "" THEN
  51.     szInf$ = GetSymbolValue("STF_CWDDIR") + "wing.inf"
  52.     END IF
  53.     ReadInfFile szInf$
  54.  
  55. WELCOME:
  56.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  57.     IF sz$ = "CONTINUE" THEN
  58.     UIPop 1
  59.     ELSE
  60.     GOSUB ASKQUIT
  61.     GOTO WELCOME
  62.     END IF
  63.  
  64.  
  65.     CHECKSTATES$ = "CheckItemsIn"
  66.     AddListItem CHECKSTATES$, "ON"
  67.     AddListItem CHECKSTATES$, "OFF"
  68.  
  69. CHECK:
  70.     sz$ = UIStartDlg(CUIDLL$, CHECK, "FCheckDlgProc", APPHELP, HELPPROC$)
  71.     IF sz$ = "CONTINUE" THEN
  72.     UIPop 1
  73.     ELSE
  74.     GOSUB ASKQUIT
  75.     GOTO CHECK
  76.     END IF
  77.  
  78.     CHECKSTATES$ = "CheckItemsOut"
  79.     IF GetListItem(CHECKSTATES$, WING_RUNFILES) = "ON" THEN
  80.  
  81.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  82.     DEST$ = GetWindowsSysDir
  83.  
  84.     AddSectionFilesToCopyList "runtime", SrcDir$, DEST$
  85.     CopyFilesInCopyList
  86.  
  87.     IF VflatdPresent() = 0 THEN
  88.         CreateSysIniKeyValue GetWindowsDir + "system.ini", "386Enh", "device", GetWindowsSysDir+"dva.386", cmoOverwrite
  89.     bInstallDVA% = 1
  90.     END IF
  91.  
  92.     END IF
  93.  
  94.     IF GetListItem(CHECKSTATES$, WING_BUILDFILES) = "ON" THEN
  95.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  96.     DEST$ = WINDRIVE$ + ":\WING"
  97.     FILEDIALOG = DESTPATH2
  98.     GOSUB GETPATH
  99.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  100.     CreateDir DEST$, cmoVital
  101.  
  102.     '' add devkit files to destination
  103.  
  104.     
  105.     ' WinBug.exe taken out for first beta, maybe add it in later, and fix up .lyt file too!
  106.     'CreateDir MakePath(DEST$,"winbug"), cmoNone
  107.     'AddSectionFilesToCopyList "winbug", SrcDir$, MakePath(DEST$,"winbug")
  108.  
  109.     CreateDir MakePath(DEST$,"bin"), cmoNone
  110.     AddSectionFilesToCopyList "runtime", SrcDir$, MakePath(DEST$,"bin")
  111.     AddSectionFilesToCopyList "bin", SrcDir$, MakePath(DEST$,"bin")
  112.     AddSectionFilestoCopyList "readme", SrcDir$, DEST$
  113.     CreateDir MakePath(DEST$,"include"), cmoNone
  114.     AddSectionFilesToCopyList "include", SrcDir$, MakePath(DEST$,"include")
  115.     CreateDir MakePath(DEST$,"help"), cmoNone
  116.     AddSectionFilesToCopyList "help", SrcDir$, MakePath(DEST$,"help")
  117.     CreateDir MakePath(DEST$,"lib"), cmoNone
  118.     AddSectionFilesToCopyList "lib", SrcDir$, MakePath(DEST$,"lib")
  119.     
  120.     GOSUB ADDSAMPLEFILESTOLIST
  121.     CopyFilesInCopyList
  122.     END IF
  123.  
  124. QUIT:
  125.     ON ERROR GOTO ERRQUIT
  126.  
  127.     IF ERR = 0 THEN
  128.     dlg% = EXITSUCCESS
  129.     ELSEIF ERR = STFQUIT THEN
  130.     dlg% = EXITQUIT
  131.     ELSE
  132.     dlg% = EXITFAILURE
  133.     END IF
  134.  
  135. QUITL1:
  136.     if dlg% = EXITSUCCESS AND bInstallDVA% = 1 then
  137.      sz$ = UIStartDlg(CUIDLL$, RESTART, "FInfoDlgProc", APPHELP, HELPPROC$)
  138.      UIPop 1
  139.     endif
  140.  
  141.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  142.     IF sz$ = "REACTIVATE" THEN
  143.     GOTO QUITL1
  144.     END IF
  145.     UIPop 1
  146.  
  147.     END
  148.  
  149. ERRQUIT:
  150.     i% = DoMsgBox("Setup sources were corrupted, call 555-1212!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  151.     END
  152.  
  153.  
  154. BADPATH:
  155.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  156.     IF sz$ = "REACTIVATE" THEN
  157.     GOTO BADPATH
  158.     END IF
  159.     UIPop 1
  160.     RETURN
  161.  
  162.  
  163. ASKQUIT:
  164.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  165.  
  166.     IF sz$ = "EXIT" THEN
  167.     UIPopAll
  168.     ERROR STFQUIT
  169.     ELSEIF sz$ = "REACTIVATE" THEN
  170.     GOTO ASKQUIT
  171.     ELSE
  172.     UIPop 1
  173.     END IF
  174.     RETURN
  175.  
  176.  
  177. GETPATH:
  178.     SetSymbolValue "EditTextIn", DEST$
  179.     SetSymbolValue "EditFocus", "END"
  180.  
  181. GETPATHL1:
  182.     sz$ = UIStartDlg(CUIDLL$, FILEDIALOG, "FEditDlgProc", APPHELP, HELPPROC$)
  183.     DEST$ = GetSymbolValue("EditTextOut")
  184.  
  185.     IF sz$ = "CONTINUE" THEN
  186.     IF IsDirWritable(DEST$) = 0 THEN
  187.         GOSUB BADPATH
  188.         GOTO GETPATHL1
  189.     END IF
  190.     UIPop 1
  191.     ELSEIF sz$ = "REACTIVATE" THEN
  192.     GOTO GETPATHL1
  193.     ELSEIF sz$ = "BACK" THEN
  194.     UIPop 1
  195.     GOTO CHECK
  196.     ELSE
  197.     GOSUB ASKQUIT
  198.     GOTO GETPATH
  199.     END IF
  200.  
  201.     RETURN
  202.  
  203. ADDSAMPLEFILESTOLIST:
  204.     SamplePath$ = Makepath(DEST$,"samples")
  205.     CreateDir SamplePath$, cmoNone
  206.  
  207. '       Add doggie example program
  208.  
  209.     sample$ = "doggie"
  210.  
  211.     CreateDir MakePath(SamplePath$,sample$), cmoNone
  212.     AddSectionFilesToCopyList sample$, SrcDir$, MakePath(SamplePath$,sample$)
  213.  
  214. '       Add cube example program
  215.  
  216.     sample$ = "cube"
  217.  
  218.     CreateDir MakePath(SamplePath$,sample$), cmoNone
  219.     AddSectionFilesToCopyList sample$, SrcDir$, MakePath(SamplePath$,sample$)
  220.  
  221. '       Add timewing example program
  222.  
  223.     sample$ = "timewing"
  224.  
  225.     CreateDir MakePath(SamplePath$,sample$), cmoNone
  226.     AddSectionFilesToCopyList sample$, SrcDir$, MakePath(SamplePath$,sample$)
  227.  
  228. '       Add halftone example program
  229.  
  230.     sample$ = "halftone"
  231.  
  232.     CreateDir MakePath(SamplePath$,sample$), cmoNone
  233.     AddSectionFilesToCopyList sample$, SrcDir$, MakePath(SamplePath$,sample$)
  234.  
  235. '       Add palanim example program
  236.  
  237.     sample$ = "palanim"
  238.  
  239.     CreateDir MakePath(SamplePath$,sample$), cmoNone
  240.     AddSectionFilesToCopyList sample$, SrcDir$, MakePath(SamplePath$,sample$)
  241.  
  242. '       Other sample programs go here
  243.  
  244.     RETURN
  245.  
  246.  
  247. '**
  248. '** Purpose:
  249. '**     Appends a file name to the end of a directory path,
  250. '**     inserting a backslash character as needed.
  251. '** Arguments:
  252. '**     szDir$  - full directory path (with optional ending "\")
  253. '**     szFile$ - filename to append to directory
  254. '** Returns:
  255. '**     Resulting fully qualified path name.
  256. '*************************************************************************
  257. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  258.     IF szDir$ = "" THEN
  259.     MakePath = szFile$
  260.     ELSEIF szFile$ = "" THEN
  261.     MakePath = szDir$
  262.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  263.     MakePath = szDir$ + szFile$
  264.     ELSE
  265.     MakePath = szDir$ + "\" + szFile$
  266.     END IF
  267. END FUNCTION
  268.