home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Multimedia Jumpstart 1.1a / CD_ROM.BIN / develpmt / sdk / vfw11.win / vfwdk / setup.mst < prev    next >
Encoding:
Text File  |  1993-11-19  |  11.6 KB  |  350 lines

  1. '**************************************************************************
  2. '*                       VfW 1.1 DK Setup
  3. '**************************************************************************
  4.  
  5. '$INCLUDE 'setupapi.inc'
  6. '$INCLUDE 'mscpydis.inc'    ''System
  7. '$INCLUDE 'msdetect.inc'    ''Detects Avalilable Disk Space
  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 APPHELP3      = 1700
  18. CONST SMALLDEST     = 2100
  19. CONST BADPATH       = 6400
  20.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL WantedDestSize&  '' Total Disk Size required for installation
  25.  
  26. ''File Types
  27. GLOBAL DEST$        ''Default destination directory.
  28. GLOBAL BIN$
  29. GLOBAL INC$
  30. GLOBAL LIBDIR$
  31. GLOBAL TOOLS$
  32. GLOBAL DEBUG$
  33. GLOBAL MISC$
  34. GLOBAL ACMHELP$
  35. GLOBAL ACMAPP$
  36. GLOBAL AVICLIP$
  37. GLOBAL AVIEDIT$
  38. GLOBAL AVIVIEW$
  39. GLOBAL BRAVADO$
  40. GLOBAL CAPCPP$
  41. GLOBAL CAPTEST$
  42. GLOBAL DSEQFILE$
  43. GLOBAL ICMAPP$
  44. GLOBAL ICSAMPLE$
  45. GLOBAL ICWALK$
  46. GLOBAL IMAADPCM$
  47. GLOBAL LANGPLAY$
  48. GLOBAL MCIPLAY$
  49. GLOBAL MCIPUZZL$
  50. GLOBAL MCIVISCA$
  51. GLOBAL MOVPLAY$
  52. GLOBAL MPLAY$
  53. GLOBAL MSFILTER$
  54. GLOBAL MSRLEC$
  55. GLOBAL PALMAP$
  56. GLOBAL TXTOUT$
  57. GLOBAL VBCAPTST$
  58. GLOBAL VBMCITST$
  59. GLOBAL WAVEFILE$
  60. GLOBAL WRITEAVI$
  61. GLOBAL DOC$
  62.  
  63. GLOBAL WINDRIVE$    ''Windows Drive Letter.
  64.  
  65. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  66. DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER
  67. SrcDir$ = GetSymbolValue("STF_SRCDIR")
  68. WinDir$ = GetWindowsDir()
  69. WinSysDir$ = GetWindowsSysDir()
  70.  
  71. INIT:
  72.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  73.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  74.  
  75.     WIN32ENABLED% = 0
  76.     MajorVer% = GetWindowsMajorVersion()
  77.     MinorVer% = GetWindowsMinorVersion()
  78.  
  79.     IF  MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  80.     i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software.  Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  81.     END
  82.     END IF
  83.  
  84.     IF OnWindowsNT() THEN
  85.     i% = DoMsgBox("Support for Windows NT is not included in this version of the Video for Windows 1.1 development kit.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  86.     END
  87.     END IF
  88.  
  89.  
  90.     SetBitmap CUIDLL$, LOGO
  91.     SetTitle "Video for Windows 1.1 Development Kit"
  92.  
  93.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  94.     IF szInf$ = "" THEN
  95.     szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  96.     END IF
  97.     ReadInfFile szInf$
  98.  
  99.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  100.     DEST$ = WINDRIVE$ + ":\VFWDK"
  101.  
  102. WELCOME:
  103.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  104.     IF sz$ = "CONTINUE" THEN
  105.     UIPop 1
  106.     ELSE
  107.     GOSUB ASKQUIT
  108.     GOTO WELCOME
  109.     END IF
  110.  
  111. GETPATH:
  112.     SetSymbolValue "EditTextIn", DEST$
  113.     SetSymbolValue "EditFocus", "END"
  114. GETPATHL1:
  115.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP3, HELPPROC$)
  116.     DEST$ = GetSymbolValue("EditTextOut")
  117.  
  118.     IF sz$ = "CONTINUE" THEN
  119.     IF IsDirWritable(DEST$) = 0 THEN
  120.         GOSUB BADPATH
  121.         GOTO GETPATHL1
  122.     END IF
  123.     UIPop 1
  124.     ELSEIF sz$ = "REACTIVATE" THEN
  125.     GOTO GETPATHL1
  126.     ELSEIF sz$ = "BACK" THEN
  127.     UIPop 1
  128.     GOTO WELCOME
  129.     ELSE
  130.     GOSUB ASKQUIT
  131.     GOTO GETPATH
  132.     END IF
  133.  
  134.     ClearCopyList
  135.  
  136. '' Creating destination tree
  137.     BIN$ =  DEST$ + "\BIN"
  138.     TOOLS$ = DEST$ + "\TOOLS"
  139.         DEBUG$ = TOOLS$ + "\DEBUG"
  140.     INC$ = DEST$ + "\INC"
  141.     LIBDIR$ = DEST$ + "\LIB"
  142.     MISC$ = DEST$ + "\MISC"
  143.     ACMHELP$ = DEST$ + "\ACMHELP"
  144.     ACMAPP$ = DEST$ + "\SAMPLES\ACMAPP"
  145.     AVICLIP$ = DEST$ + "\SAMPLES\AVICLIP"
  146.     AVIEDIT$ = DEST$ + "\SAMPLES\AVIEDIT"
  147.     AVIVIEW$ = DEST$ + "\SAMPLES\AVIVIEW"
  148.     BRAVADO$ = DEST$ + "\SAMPLES\BRAVADO"
  149.         CAPCPP$ = DEST$ + "\SAMPLES\CAPCPP"
  150.     CAPTEST$ = DEST$ + "\SAMPLES\CAPTEST"
  151.     DSEQFILE$ = DEST$ + "\SAMPLES\DSEQFILE"
  152.     ICMAPP$ = DEST$ + "\SAMPLES\ICMAPP"
  153.     ICSAMPLE$ = DEST$ + "\SAMPLES\ICSAMPLE"
  154.     ICWALK$ = DEST$ + "\SAMPLES\ICWALK"
  155.     IMAADPCM$ = DEST$ + "\SAMPLES\IMAADPCM"
  156.     LANGPLAY$ = DEST$ + "\SAMPLES\LANGPLAY"
  157.     MCIPLAY$ = DEST$ + "\SAMPLES\MCIPLAY"
  158.     MCIPUZZL$ = DEST$ + "\SAMPLES\MCIPUZZL"
  159.     MCIVISCA$ = DEST$ + "\SAMPLES\MCIVISCA"
  160.     MOVPLAY$ = DEST$ + "\SAMPLES\MOVPLAY"
  161.     MPLAY$ = DEST$ + "\SAMPLES\MPLAY"
  162.     MSFILTER$ = DEST$ + "\SAMPLES\MSFILTER"
  163.     MSRLEC$ = DEST$ + "\SAMPLES\MSRLEC"
  164.         PALMAP$ = DEST$ + "\SAMPLES\PALMAP"
  165.         TXTOUT$ = DEST$ + "\SAMPLES\TXTOUT"
  166.     VBCAPTST$ = DEST$ + "\SAMPLES\VBCAPTST"
  167.     VBMCITST$ = DEST$ + "\SAMPLES\VBMCITST"
  168.     WAVEFILE$ = DEST$ + "\SAMPLES\WAVEFILE"
  169.     WRITEAVI$ = DEST$ + "\SAMPLES\WRITEAVI"
  170.     DOC$ = DEST$ + "\DOC"
  171.  
  172. '' Setting files to be copied
  173.     AddSectionFilesToCopyList "TXT", SrcDir$, DEST$
  174.     AddSectionFilesToCopyList "BIN", SrcDir$, BIN$
  175.     AddSectionFilesToCopyList "TOOLS", SrcDir$, TOOLS$
  176.     AddSectionFilesToCopyList "DEBUG", SrcDir$, DEBUG$
  177.     AddSectionFilesToCopyList "INC", SrcDir$, INC$
  178.     AddSectionFilesToCopyList "LIB", SrcDir$, LIBDIR$
  179.     AddSectionFilesToCopyList "MISC", SrcDir$, MISC$
  180.     AddSectionFilesToCopyList "ACMHELP", SrcDir$, ACMHELP$
  181.     AddSectionFilesToCopyList "ACMAPP", SrcDir$, ACMAPP$
  182.     AddSectionFilesToCopyList "AVICLIP", SrcDir$, AVICLIP$
  183.     AddSectionFilesToCopyList "AVIEDIT", SrcDir$, AVIEDIT$
  184.     AddSectionFilesToCopyList "AVIVIEW", SrcDir$, AVIVIEW$
  185.     AddSectionFilesToCopyList "BRAVADO", SrcDir$, BRAVADO$
  186.     AddSectionFilesToCopyList "CAPCPP", SrcDir$, CAPCPP$
  187.     AddSectionFilesToCopyList "CAPTEST", SrcDir$, CAPTEST$
  188.     AddSectionFilesToCopyList "DSEQFILE", SrcDir$, DSEQFILE$
  189.     AddSectionFilesToCopyList "ICMAPP", SrcDir$, ICMAPP$
  190.     AddSectionFilesToCopyList "ICSAMPLE", SrcDir$, ICSAMPLE$
  191.     AddSectionFilesToCopyList "ICWALK", SrcDir$, ICWALK$
  192.     AddSectionFilesToCopyList "IMAADPCM", SrcDir$, IMAADPCM$
  193.     AddSectionFilesToCopyList "LANGPLAY", SrcDir$, LANGPLAY$
  194.     AddSectionFilesToCopyList "MCIPLAY", SrcDir$, MCIPLAY$
  195.     AddSectionFilesToCopyList "MCIPUZZL", SrcDir$, MCIPUZZL$
  196.     AddSectionFilesToCopyList "MCIVISCA", SrcDir$, MCIVISCA$
  197.     AddSectionFilesToCopyList "MOVPLAY", SrcDir$, MOVPLAY$
  198.     AddSectionFilesToCopyList "MPLAY", SrcDir$, MPLAY$
  199.     AddSectionFilesToCopyList "MSFILTER", SrcDir$, MSFILTER$
  200.     AddSectionFilesToCopyList "MSRLEC", SrcDir$, MSRLEC$
  201.     AddSectionFilesToCopyList "PALMAP", SrcDir$, PALMAP$
  202.     AddSectionFilesToCopyList "TXTOUT", SrcDir$, TXTOUT$
  203.     AddSectionFilesToCopyList "VBCAPTST", SrcDir$, VBCAPTST$
  204.     AddSectionFilesToCopyList "VBMCITST", SrcDir$, VBMCITST$
  205.     AddSectionFilesToCopyList "WAVEFILE", SrcDir$, WAVEFILE$
  206.     AddSectionFilesToCopyList "WRITEAVI", SrcDir$, WRITEAVI$
  207.     AddSectionFilesToCopyList "DOC", SrcDir$, DOC$
  208.     AddSectionFilesToCopyList "DLLs", SrcDir$, WinSysDir$
  209.  
  210. '' Check to see that there is enough disk space
  211.     WantedDiskSize& = GetCopyListCost ("","","")
  212.     If WantedDiskSize& <> 0 then
  213.     GOSUB SMALLDEST
  214.     GOTO GETPATH
  215.     END IF
  216.  
  217. CopyFilesInCopyList
  218.  
  219.     CreateProgmanGroup "VfW 1.1 DK", "", cmoNone
  220.     ShowProgmanGroup  "VfW 1.1 DK", 1, cmoNone
  221.  
  222.     CreateProgmanItem "VfW 1.1 DK", "Read Me First", MakePath(DEST$, "dev_kit.txt"), "", cmoOverwrite
  223.     CreateProgmanItem "VfW 1.1 DK", "Programmer's Guide", MakePath(WinSysDir$, "MVIEWER2.EXE ")+ MakePath(DOC$, "DK_DOC.MVB"), "", cmoOverwrite
  224.     CreateProgmanItem "VfW 1.1 DK", "ACMApp", MakePath(BIN$, "acmapp.EXE"), "", cmoOverwrite
  225.     CreateProgmanItem "VfW 1.1 DK", "AVIClip", MakePath(BIN$, "aviclip.EXE"), "", cmoOverwrite
  226.     CreateProgmanItem "VfW 1.1 DK", "AVIEdit", MakePath(BIN$, "aviedit.EXE"), "", cmoOverwrite
  227.     CreateProgmanItem "VfW 1.1 DK", "AVIView", MakePath(BIN$, "aviview.EXE"), "", cmoOverwrite
  228.     CreateProgmanItem "VfW 1.1 DK", "CapCPP", MakePath(BIN$, "capcpp.EXE"), "", cmoOverwrite
  229.     CreateProgmanItem "VfW 1.1 DK", "CapTest", MakePath(BIN$, "captest.EXE"), "", cmoOverwrite
  230.     CreateProgmanItem "VfW 1.1 DK", "ICMApp", MakePath(BIN$, "icmapp.EXE"), "", cmoOverwrite
  231.     CreateProgmanItem "VfW 1.1 DK", "ICWalk", MakePath(BIN$, "icwalk.EXE"), "", cmoOverwrite
  232.     CreateProgmanItem "VfW 1.1 DK", "LangPlay", MakePath(BIN$, "langplay.EXE"), "", cmoOverwrite
  233.     CreateProgmanItem "VfW 1.1 DK", "MCIPlay", MakePath(BIN$, "mciplay.EXE"), "", cmoOverwrite
  234.     CreateProgmanItem "VfW 1.1 DK", "MCIPuzzle", MakePath(BIN$, "MCIPuzzl.EXE"), "", cmoOverwrite
  235.     CreateProgmanItem "VfW 1.1 DK", "Movie Player", MakePath(BIN$, "mplay.EXE"), "", cmoOverwrite
  236.     CreateProgmanItem "VfW 1.1 DK", "Movie Player 1", MakePath(BIN$, "movplay1.EXE"), "", cmoOverwrite
  237.     CreateProgmanItem "VfW 1.1 DK", "Movie Player 2", MakePath(BIN$, "movplay2.EXE"), "", cmoOverwrite
  238.     CreateProgmanItem "VfW 1.1 DK", "VB CapTest", MakePath(BIN$, "vbcaptst.EXE"), "", cmoOverwrite
  239.     CreateProgmanItem "VfW 1.1 DK", "VB MCITest", MakePath(BIN$, "vbmcitst.EXE"), "", cmoOverwrite
  240.     CreateProgmanItem "VfW 1.1 DK", "WriteAVI", MakePath(BIN$, "writeavi.EXE"), "", cmoOverwrite
  241.  
  242.     CreateIniKeyValue "WIN.INI", "Extensions", "mvb", "mviewer2.exe ^.mvb", cmoOverwrite
  243.  
  244.     '' Set the following string to a short form of the title name
  245.     '' (for example, "Gallery")
  246.     
  247.     TitleShortName$ = "DK-GUIDE"
  248.     
  249.     '' Set the following string to a long form of the title name
  250.     '' (for example, "Viewer 2.0 Gallery")
  251.     
  252.     TitleLongName1$ = "Video for Windows 1.1 development kit documentation"
  253.         
  254.     '' Set the following variable to the name of the MVB file, without 
  255.     '' the filename extension (for example, "GALLERY")
  256.     MVBFileName1$ = "dk_doc"
  257.  
  258.     szIni$ = MakePath(GetWindowsDir(), "VIEWER.INI")
  259.  
  260.     '' First register the title file, setting the Name and Path entries. 
  261.     '' We assume that the MVB file is the same directory as SETUP.EXE.
  262.     ''
  263.     '' CUSTOMIZATION: If you're installing multiple MVB files, copy the
  264.     '' following two statements for each additional file, substituting
  265.     '' the appropriate long name and MVB filename for the TitleLongName$
  266.     '' and MVBFileName$ variables.
  267.     
  268.     CreateIniKeyValue szIni$, MVBFileName1$, "Name", TitleLongName1$, cmoOverwrite
  269.     CreateIniKeyValue szIni$, MVBFileName1$, "Path", DOC$, cmoOverwrite
  270.  
  271. QUIT:
  272.     ON ERROR GOTO ERRQUIT
  273.  
  274.     IF ERR = 0 THEN
  275.     dlg% = EXITSUCCESS
  276.     ELSEIF ERR = STFQUIT THEN
  277.     dlg% = EXITQUIT
  278.     ELSE
  279.     dlg% = EXITFAILURE
  280.     END IF
  281. QUITL1:
  282.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  283.     IF sz$ = "REACTIVATE" THEN
  284.     GOTO QUITL1
  285.     END IF
  286.     UIPop 1
  287.  
  288.     END
  289.  
  290. ERRQUIT:
  291.     i% = DoMsgBox("Setup sources were corrupted, call the included support number", "Setup Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  292.     END
  293.  
  294. BADPATH:
  295.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  296.     IF sz$ = "REACTIVATE" THEN
  297.     GOTO BADPATH
  298.     END IF
  299.     UIPop 1
  300.     RETURN
  301.  
  302. ASKQUIT:
  303.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  304.  
  305.     IF sz$ = "EXIT" THEN
  306.     UIPopAll
  307. ''        ERROR STFQUIT
  308.     END
  309.     ELSEIF sz$ = "REACTIVATE" THEN
  310.     GOTO ASKQUIT
  311.     ELSE
  312.     UIPop 1
  313.     END IF
  314.     RETURN
  315.  
  316. SMALLDEST:
  317.     sz$ = UIStartDlg(CUIDLL$, SMALLDEST, "FInfo0DlgProc", 0, "")
  318.     IF sz$ = "REACTIVATE" THEN
  319.     GOTO SMALLDEST
  320.     END IF
  321.     UIPop 1
  322.     RETURN
  323.  
  324.  
  325.  
  326.  
  327.  
  328. '**
  329. '** Purpose:
  330. '**     Appends a file name to the end of a directory path,
  331. '**     inserting a backslash character as needed.
  332. '** Arguments:
  333. '**     szDir$  - full directory path (with optional ending "\")
  334. '**     szFile$ - filename to append to directory
  335. '** Returns:
  336. '**     Resulting fully qualified path name.
  337. '*************************************************************************
  338. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  339.     IF szDir$ = "" THEN
  340.     MakePath = szFile$
  341.     ELSEIF szFile$ = "" THEN
  342.     MakePath = szDir$
  343.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  344.     MakePath = szDir$ + szFile$
  345.     ELSE
  346.     MakePath = szDir$ + "\" + szFile$
  347.     END IF
  348. END FUNCTION
  349.  
  350.