home *** CD-ROM | disk | FTP | other *** search
/ Internet Standards / CD1.mdf / infostnd / infostnd.mst < prev    next >
Text File  |  1994-11-11  |  20KB  |  602 lines

  1. '**************************************************************************
  2. '*
  3. '* CICA.MST - Runtime Setup Script
  4. '*
  5. '**************************************************************************
  6.     
  7.     '' Global variables
  8.  
  9.     GLOBAL TitleShortName$
  10.     GLOBAL TitleLongName$
  11.     GLOBAL MVBFileName$
  12.     GLOBAL PromptForPath%
  13.     GLOBAL DefaultPath$
  14.     GLOBAL ProgManGroup$
  15.     GLOBAL ProgManItem$
  16.     GLOBAL Drive1$
  17.     GLOBAL Drive2$
  18.     GLOBAL ListBox$
  19.     ListBox$ = "ListItemsIn"
  20.  
  21.     '' ****************************************************************
  22.     '' ** Setup Variables
  23.     '' ****************************************************************
  24.  
  25.     '' Set the following string to a short form of the title name
  26.     
  27.     TitleShortName$ = "Standards"
  28.     
  29.     '' Set the following string to a long form of the title name
  30.     
  31.     TitleLongName$ = "InfoMagic Standards CD-ROM Viewer"
  32.         
  33.     '' Set the following variable to the name of the MVB file, without extension
  34.         
  35.     MVBFileName$ = "INFOSTND"
  36.         
  37.     '' The following variable determines whether Setup prompts the user
  38.     '' to specify a directory in which to install title files. (Files
  39.     '' to be installed on the hard disk must be listed in the TITLE.INF 
  40.     '' file under the [Installed Title Files] section.) Specify one of
  41.     '' the following values:
  42.     ''
  43.     '' 0    Install title files in the Windows directory (default setting).
  44.     ''      This is an appropriate setting if you have a limited number
  45.     ''      of files to copy (for example, a single custom icon or DLL).
  46.     ''
  47.     '' 1    Display a dialog box to prompt the user for a directory in 
  48.     ''      which to install files
  49.         
  50.     PromptForPath% = 1
  51.         
  52.     '' If you have specified 1 in PromptForPath%, set the following 
  53.     '' variable to the default path that will be displayed in the dialog box
  54.         
  55.     DefaultPath$ = "C:\INFOSTND"
  56.     
  57.     '' Set the following variable to the name of the program manager group
  58.         
  59.     ProgManGroup$ = "InfoMagic Standards Browser"
  60.     
  61.     '' Set the following variable to the caption of the program manager item
  62.         
  63.     ProgManItem$ = "Standards CD-ROM"
  64.     
  65.     '***********************************************************************
  66.     '** Mainline
  67.     '***********************************************************************
  68.  
  69.     GLOBAL CUIDLL$
  70.  
  71.     '' Include files
  72.     '$INCLUDE 'setupapi.inc'
  73.     
  74.     '' Custom UI dll
  75.     CUIDLL$ = "mscuistf.dll"
  76.     
  77.     '' Dialog ID's
  78.     CONST DESTPATH      = 1000
  79.     CONST APPHELP       = 2000
  80.     CONST TOOBIG        = 3000
  81.     CONST BADPATH       = 4000
  82.     CONST SUCCESS       = 5000
  83.     CONST ASKQUIT       = 6000
  84.     CONST WELCOME       = 7000
  85.     CONST SETDRIVES     = 8000
  86.     
  87.     '' Bitmap ID
  88.     CONST LOGO = 1
  89.     
  90.     '' Functions and subroutines
  91.     '' DECLARE FUNCTION AddFont LIB "mscuistf.dll" (szFont$, szName$) AS INTEGER
  92.     DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  93.     DECLARE FUNCTION GetTitleDir (szDefault$) AS STRING
  94.     DECLARE FUNCTION CopyFiles(szTitleDir$) AS INTEGER
  95.     DECLARE SUB ModifyViewerIni(szTitleDir$)
  96.     DECLARE SUB RegisterFont(fontfile$, fontname$)
  97.     DECLARE SUB RegisterCustomFonts
  98.     DECLARE SUB ModifyProgramManager(szTitleDir$)
  99.     DECLARE SUB ShowSuccess
  100.     DECLARE SUB ShowWelcome
  101.     DECLARE SUB RegisterDrivers
  102.     Declare Function ShowWindow Lib "User" (hWnd%, nCmdShow%) As Integer
  103.     DIM hWnd%
  104.     DIM iRet%
  105.  
  106.     '' The following statement turns size checking off. Set it to scmOnFatal 
  107.     '' to enable size checking, where Setup will compare the disk file size 
  108.     '' with the INF file size and report an error if they are not the same.
  109.     
  110.     i% = SetSizeCheckMode(scmOff)
  111.     i% = SetCopyMode(1)
  112.     
  113.     '' Set the title and banner bitmap. You must rebuild MSCUISTF.DLL to 
  114.     '' alter the banner bitmap.
  115.     
  116.     SetTitle "InfoMagic Standards Setup"
  117.     SetBitmap CUIDLL$, LOGO 
  118.     
  119.     '' Read in the INF file.
  120.     
  121.     ReadInfFile GetSymbolValue("STF_CWDDIR") + "INFOSTND.INF"
  122.  
  123.     '' Maximize the opening window
  124.     hWnd% = HwndFrame()
  125.     iRet% = ShowWindow(hWnd%, 3)
  126.  
  127.         '' Display Welcome dialog
  128.         ShowWelcome
  129.     
  130.     '' Decide where to put title files
  131.     IF PromptForPath% = 1 THEN
  132.         szTitleDir$ = GetTitleDir(DefaultPath$)
  133.         IF szTitleDir$ = "" THEN
  134.             GOTO QUIT
  135.         ENDIF
  136.     ELSE
  137.         szTitleDir$ = GetWindowsDir()
  138.     ENDIF   
  139.  
  140.     OpenLogFile MakePath( szTitleDir$, "STNDLOG.OUT"), 0
  141.     WriteToLogFile ""
  142.     WriteToLogFile "  Destination Directory: " + szTitleDir$ + " may have been created."
  143.     WriteToLogFile ""   
  144.                             
  145.     '' Copy files
  146.     IF CopyFiles(szTitleDir$) = 0 THEN
  147.         GOTO QUIT
  148.     ENDIF
  149.  
  150.     '' Create the MVIEWER2.EXE MVB association 
  151.     WriteToLogFile ""   
  152.     CreateIniKeyValue "WIN.INI", "Extensions", "MVB", "mviewer2.exe", cmoNone
  153.     AddListItem ListBox$, "Add entry to: " + GetWindowsDir()+"WIN.INI [Extensions]"
  154.     
  155.  
  156.     '' Register in VIEWER.INI
  157.     ModifyViewerIni szTitleDir$
  158.  
  159.     '' Register custom fonts
  160.         RegisterCustomFonts
  161.  
  162.     '' Register drivers
  163.     RegisterDrivers
  164.     
  165.     '' Modify Program Manager
  166.     ModifyProgramManager szTitleDir$    
  167.     
  168.     CloseLogFile
  169.     
  170.     '' Success dialog
  171.     ShowSuccess
  172.     
  173.     '' Now start the title
  174.  
  175.  
  176. QUIT:
  177.     
  178.     END
  179.     
  180.  
  181. '*************************************************************************
  182. '** Purpose:
  183. '**     Prompts the user for a path for the title files
  184. '** Arguments:
  185. '**     szDefault$ - default path
  186. '** Returns:
  187. '**     New valid path name, or "" if the user quit.
  188. '*************************************************************************
  189.  
  190. FUNCTION GetTitleDir (szDefault$) STATIC AS STRING
  191.  
  192.     SetSymbolValue "String", TitleShortName$
  193.     SetSymbolValue "EditTextIn", szDefault$
  194.     SetSymbolValue "EditFocus", "ALL"
  195.  
  196.     GETPATH:
  197.  
  198.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, "FHelpDlgProc")
  199.  
  200.     IF sz$ = "CONTINUE" THEN
  201.         szTitleDir$ = GetSymbolValue("EditTextOut")
  202.         IF IsDirWritable(szTitleDir$) = 0 THEN
  203.  
  204.             BADPATH:
  205.  
  206.             sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfoDlgProc", 0, "")
  207.             IF sz$ = "REACTIVATE" THEN
  208.                 GOTO BADPATH
  209.             END IF
  210.             UIPop 1
  211.             GOTO GETPATH
  212.         END IF
  213.         UIPop 1
  214.         CreateDir szTitleDir$, cmoNone
  215.  
  216.     ELSEIF sz$ = "REACTIVATE" THEN
  217.         GOTO GETPATH
  218.  
  219.     ELSE
  220. PATHQUIT:
  221.         sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  222.  
  223.         IF sz$ = "EXIT" THEN
  224.                 szTitleDir$ = ""
  225.                 UIPopAll
  226.                 ERROR STFQUIT
  227.         ELSEIF sz$ = "REACTIVATE" THEN
  228.                 GOTO PATHQUIT
  229.         ELSE
  230.                 UIPop 1
  231.                 GOTO GETPATH
  232.         END IF
  233.  
  234.     END IF
  235.  
  236.     GetTitleDir = szTitleDir$
  237.  
  238.     SETDRIVES:
  239.  
  240.     SetSymbolValue "EditFocus", "ALL"
  241.     SetSymbolValue "NameIn", MID$(GetSymbolValue("STF_SRCDIR"),1,1)
  242.     SetSymbolValue "OrgIn", MID$(GetSymbolValue("STF_SRCDIR"),1,1)
  243.     SetSymbolValue "Org2In", MID$(GetSymbolValue("STF_SRCDIR"),1,1)
  244.     sz$ = UIStartDlg(CUIDLL$, SETDRIVES, "FNameOrgDlgProc", 0, "")
  245.     IF sz$ = "REACTIVATE" THEN
  246.         GOTO SETDRIVES
  247.     ELSEIF sz$ = "CONTINUE" THEN
  248.  
  249.         UIPop 1
  250.         Drive1$ = GetSymbolValue("NameOut")
  251.         Drive2$ = GetSymbolValue("OrgOut")
  252.  
  253. '    i% = DoMsgBox( "D1: "+Drive1$+" D2: "+Drive2$, " msg " , MB_OK+MB_TASKMODAL )
  254.     ELSE
  255. DRVQUIT:
  256.         UIPop 1
  257.         sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  258.  
  259.         IF sz$ = "EXIT" THEN
  260.                 UIPopAll
  261.                 ERROR STFQUIT
  262.         ELSEIF sz$ = "REACTIVATE" THEN
  263.                 GOTO DRVQUIT
  264.         ELSE
  265.                 UIPop 1
  266.                 GOTO SETDRIVES
  267.         END IF
  268.  
  269.     END IF
  270.  
  271. END FUNCTION
  272.  
  273.  
  274. '*************************************************************************
  275. '** Purpose:
  276. '**     Copies the files in the INF file
  277. '** Arguments:
  278. '**     szTitleDir$ - destination directory for the title files
  279. '** Returns
  280. '**     1 if files were copied, 0 otherwise
  281. '*************************************************************************
  282.  
  283. FUNCTION CopyFiles(szTitleDir$) STATIC AS INTEGER
  284.  
  285.     Syslist$ = "SysList"
  286.     Applist$ = "AppList"
  287.         
  288. '   i% = DoMsgBox( "into CopyFiles routine ", " msg " , MB_OK+MB_TASKMODAL )
  289.  
  290.     '' Add all system files to the copy list
  291.     AddSectionFilesToCopyList "System Files", GetSymbolValue("STF_SRCDIR"), GetWindowsSysDir()
  292.     
  293.     '' Add all of the title files to the copy list
  294.     AddSectionFilesToCopyList "Installed Title Files", GetSymbolValue("STF_SRCDIR"), szTitleDir$
  295.     
  296. '   i% = DoMsgBox( "about to open logfile ", " msg " , MB_OK+MB_TASKMODAL )
  297.  
  298.     FOR i% = 1 to 11 STEP 1
  299.         temp$ = GetSectionKeyFilename( "System Files", "T"+STR$( i% ) )
  300.         start% = INSTR( temp$, "\" ) + 1     ''skip the backslash
  301.         IF start% < 1 THEN 
  302.            start% = 1 
  303.         ENDIF
  304.         temp2$ = GetWindowsSysDir()+MID$( temp$, start% )
  305.         WriteToLogFile  "Adding System file... " + temp2$
  306.         AddListItem ListBox$, temp2$
  307.     NEXT i%
  308.  
  309.     
  310.     FOR i% = 1 to 4 STEP 1
  311.         temp$ = GetSectionKeyFilename( "Installed Title Files", "T"+STR$( i% ) )
  312.         start% = INSTR( temp$, "\" )
  313.        IF start% < 1 THEN 
  314.            start% = 1
  315.         ENDIF
  316.         temp2$ = szTitleDir$+MID$( temp$, start% )
  317.         WriteToLogFile  "Adding User file... " + temp2$
  318.         AddListItem ListBox$, temp2$
  319.     NEXT i%
  320.  
  321. '   i% = DoMsgBox( "just closed logfile ", " msg " , MB_OK+MB_TASKMODAL )
  322.     szExtras$ = "Extra"
  323.     szCosts$ = "Costs"
  324.     szNeededs$ = "Neededs"
  325.     FOR i% = 1 TO 26 STEP 1
  326.         AddListItem szExtras$, "0"
  327.     NEXT i%
  328.     
  329.     '' We assume that VIEWER.INI will take another 4K
  330.     ReplaceListItem szExtras$, ASC(MID$(GetWindowsDir(), 1, 1)) - ASC("A") + 1, STR$(4096)
  331.     
  332.     '' Get amount of space required
  333.     StillNeed& = GetCopyListCost(szExtras$, szCosts$, szNeededs$)
  334.     
  335.     '' Put up a message if there is not enough space
  336.     FOR i% = 1 TO 26 STEP 1
  337.         IF VAL(GetListItem(szNeededs$, i%)) > 0 THEN
  338.     
  339.             SetSymbolValue "String1", LTRIM$(STR$(VAL(GetListItem(szCosts$, i%)) / 1024))
  340.             SetSymbolValue "String2", CHR$(i% - 1 + ASC("A"))
  341.     
  342.             TOOBIG:
  343.     
  344.             sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfoDlgProc", 0, "")
  345.             IF sz$ = "REACTIVATE" THEN
  346.                 GOTO TOOBIG
  347.             END IF
  348.             UIPop 1
  349.             CopyFiles = 0
  350.             GOTO DONTCOPY
  351.         END IF
  352.     NEXT i%
  353.     
  354.     '' Copy the files
  355.     CopyFilesInCopyList
  356.     
  357.     CopyFiles = 1
  358.  
  359. DONTCOPY:
  360.  
  361. END FUNCTION
  362.  
  363.  
  364. '*************************************************************************
  365. '** Purpose:
  366. '**     Puts up a success dialog
  367. '*************************************************************************
  368.  
  369. SUB ShowSuccess STATIC
  370.  
  371.     SUCCESS:
  372.     
  373.     SetSymbolValue "String1", TitleShortName$
  374. ''  sz$ = UIStartDlg(CUIDLL$, SUCCESS, "FInfoDlgProc", 0, "")
  375.     sz$ = UIStartDlg(CUIDLL$, SUCCESS, "FListDlgProc", 0, "")
  376.     IF sz$ = "CONTINUE" THEN
  377.             UIPop 1
  378.             RUN "mviewer2.exe " + MVBFileName$ + ".MVB", NOWAIT
  379.     ELSEIF sz$ = "REACTIVATE" THEN
  380.         GOTO SUCCESS
  381.     ELSE
  382.         UIPop 1
  383.     END IF
  384.     
  385. END SUB
  386.  
  387.  
  388. '*************************************************************************
  389. '** Purpose:
  390. '**     Puts up a Welcome dialog
  391. '*************************************************************************
  392.  
  393. SUB ShowWelcome STATIC
  394.  
  395.         WELCOME:
  396.  
  397.         sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, "FHelpDlgProc")
  398.         IF sz$ = "CONTINUE" THEN
  399.                 UIPop 1
  400.                 GOTO ENDSUB
  401.         ELSEIF sz$ = "REACTIVATE" THEN
  402.                 GOTO WELCOME
  403.         END IF
  404.  
  405.         ASKQUIT:
  406.  
  407.         sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  408.  
  409.         IF sz$ = "EXIT" THEN
  410.                 UIPopAll
  411.                 ERROR STFQUIT
  412.         ELSEIF sz$ = "REACTIVATE" THEN
  413.                 GOTO ASKQUIT
  414.         ELSE
  415.                 UIPop 1
  416.                 GOTO WELCOME
  417.         END IF
  418. ENDSUB:
  419.                 
  420. END SUB
  421.  
  422.  
  423.  
  424. '*************************************************************************
  425. '** Purpose:
  426. '**     Appends a file name to the end of a directory path,
  427. '**     inserting a backslash character as needed.
  428. '** Arguments:
  429. '**     szDir$  - full directory path (with optional ending "\")
  430. '**     szFile$ - filename to append to directory
  431. '** Returns:
  432. '**     Resulting fully qualified path name.
  433. '*************************************************************************
  434.  
  435. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  436.     IF szDir$ = "" THEN
  437.         MakePath = szFile$
  438.     ELSEIF szFile$ = "" THEN
  439.         MakePath = szDir$
  440.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  441.         MakePath = szDir$ + szFile$
  442.     ELSE
  443.         MakePath = szDir$ + "\" + szFile$
  444.     END IF
  445. END FUNCTION
  446.  
  447.  
  448. '*************************************************************************
  449. '** Purpose:
  450. '**     Registers a font.
  451. '** Arguments:
  452. '**     fontfile$ - font filename
  453. '**     fontname$ - font name.
  454. '*************************************************************************
  455.  
  456. SUB RegisterFont(fontfile$, fontname$) STATIC
  457.  
  458.     '' A simple error catching wrapper around AddFont, which is a 'C' routine in MSCUISTF.DLL
  459.  
  460.     '' IF AddFont(fontfile$, fontname$) = -1 THEN
  461.        ''       j% = DoMsgBox("Could not install " + fontfile$ + " font.", "Viewer Font Installation", 0)
  462. ''    ENDIF
  463.  
  464. END SUB
  465.  
  466.  
  467. '*************************************************************************
  468. '** Purpose:
  469. '**     Registers title in VIEWER.INI
  470. '*************************************************************************
  471.  
  472. SUB ModifyViewerIni (szTitleDir$) STATIC
  473.  
  474.     '' Get the VIEWER.INI file
  475.     
  476.     szIni$ = MakePath(GetWindowsDir(), "VIEWER.INI")
  477.  
  478.     '' First register the title file, setting the Name and Path entries. 
  479.     '' We assume that the MVB file is the same directory as SETUP.EXE.
  480.     ''
  481.     '' CUSTOMIZATION: If you're installing multiple MVB files, copy the
  482.     '' following two statements for each additional file, substituting
  483.     '' the appropriate long name and MVB filename for the TitleLongName$
  484.     '' and MVBFileName$ variables.
  485.     
  486.     WriteToLogFile ""
  487.     CreateIniKeyValue szIni$, MVBFileName$, "Name", TitleLongName$, cmoOverwrite
  488.     '' CreateIniKeyValue szIni$, MVBFileName$, "Path", GetSymbolValue("STF_SRCDIR"), cmoOverwrite
  489.     CreateIniKeyValue szIni$, MVBFileName$, "Path", szTitleDir$, cmoOverwrite
  490.     CreateIniKeyValue szIni$, MVBFileName$, "CDDrive1", Drive1$,cmoOverwrite
  491.     CreateIniKeyValue szIni$, MVBFileName$, "CDDrive2", Drive2$,cmoOverwrite
  492.  
  493.         AddListItem ListBox$, GetWindowsDir()+"VIEWER.INI  (create/modify)"
  494.     
  495.     '' Now we have to register the MVB file in the [FILES] section, so 
  496.     '' Viewer can find files that are not on the path and display a 
  497.     '' special message when a file is not found.
  498.  
  499.     '' CreateIniKeyValue szIni$, "FILES", MVBFileName$ + ".MVB", GetSymbolValue("STF_SRCDIR") + "," + "Please insert the " + TitleLongName$ + " disk.", cmoOverwrite
  500.         CreateIniKeyValue szIni$, "FILES", MVBFileName$ + ".MVB", szTitleDir$ + "," + "The " + TitleLongName$ + " could not be found.  Please re-run SETUP from the CD.", cmoOverwrite
  501.         CreateIniKeyValue szIni$, "FILES", "STNDHELP.MVB", szTitleDir$ + "," + "The " + TitleLongName$ + " could not be found.  Please re-run SETUP from the CD.", cmoOverwrite
  502.         CreateIniKeyValue szIni$, "FILES", MVBFileName$ + ".DLL", szTitleDir$ + "," + "The " + TitleLongName$ + " DLL could not be found.  Please re-run SETUP from the CD.", cmoOverwrite
  503.  
  504.  
  505. END SUB
  506.  
  507.  
  508. '*************************************************************************
  509. '** Purpose:
  510. '**     Creates program manager entries for the title
  511. '*************************************************************************
  512.  
  513. SUB ModifyProgramManager (szTitleDir$) STATIC
  514.  
  515.     '' Create the program manager group
  516.  
  517.     CreateProgmanGroup ProgmanGroup$, "", cmoNone
  518.     ShowProgmanGroup ProgmanGroup$, 1, cmoNone
  519.     
  520.     '' Create an entry for the title
  521.      
  522.        WriteToLogFile ""
  523.        CreateProgmanItem ProgmanGroup$, ProgmanItem$, "mviewer2.exe " + MakePath(szTitleDir$, MVBFileName$ + ".MVB"), MakePath(szTitleDir$, MVBFileName$ + ".ICO"), cmoOverwrite
  524.        AddListItem ListBox$, "Add program manager group:" + ProgmanGroup$
  525.     
  526.     '' CUSTOMIZATION: 
  527.     ''
  528.     '' To create additional Program Manager items, copy the preceding 
  529.     '' statement for each additional item, substituting the appropriate
  530.     '' Program Manager item name for ProgmanItem$ and filename for 
  531.     '' MVBFileName$.
  532.     ''
  533.     '' To display a custom icon with the Program Manager item, specify
  534.     '' the icon filename with the fourth parameter (this parameter is 
  535.     '' currently an empty string, ""). The following example specifies 
  536.     '' an icon with the same filename as the .MVB file:
  537.     ''
  538.     ''    CreateProgmanItem ProgmanGroup$, ProgmanItem$, "mviewer2.exe " + MakePath(GetSymbolValue("STF_SRCDIR"), MVBFileName$ + ".MVB"), MakePath(GetSymbolValue("STF_SRCDIR"), MVBFileName$ + ".ICO"), cmoOverwrite
  539.  
  540. END SUB
  541.  
  542.  
  543. '*************************************************************************
  544. '** Purpose:
  545. '**     Registers custom fonts with Windows.
  546. '*************************************************************************
  547.  
  548. SUB RegisterCustomFonts STATIC
  549.  
  550.     '' CUSTOMIZATION: If you install custom fonts, then add statements
  551.     '' in this routine to register the fonts with the current Windows 
  552.     '' session and to add them to the WIN.INI [Fonts] section. 
  553.     ''
  554.     '' Note that TrueType fonts can only be installed in Windows 3.1.
  555.     '' RegisterFont automatically creates the required .FOT file for 
  556.     '' TrueType fonts.
  557.     ''    
  558.     '' The following example registers a font residing in MISTRAL.TTF
  559.     '' and installs the font with the name Mistral (True Type):
  560.     '' 
  561.     ''     RegisterFont "mistral.ttf", "Mistral (TrueType)"
  562.     ''
  563.  
  564. END SUB
  565.  
  566.  
  567. '*************************************************************************
  568. '** Purpose:
  569. '**     Registers Windows drivers
  570. '*************************************************************************
  571.  
  572. SUB RegisterDrivers STATIC
  573.  
  574. '' CUSTOMIZATION: Video for Windows is not a standard component of
  575. '' Windows 3.1. If your title uses video, proceed as follows.
  576. ''
  577. '' 1) Add the following files to the [System Files] section of the INF file:
  578. ''
  579. ''    dispdib.dll
  580. ''    msvideo.dll
  581. ''    indeo.drv
  582. ''    mciavi.drv
  583. ''    msvidc.drv
  584. ''
  585. '' 2) Add the above files to your release directory. US versions can be 
  586. ''    found in the \SYSTEM subdirectory of your Viewer disc. French and
  587. ''    German versions were not available at ship time. Please contact 
  588. ''    Microsoft or check the Multimedia Viewer section on the Microsoft
  589. ''    Compuserve Forum for further details.
  590. ''
  591. '' 3) Uncomment the following lines:
  592. ''
  593. '' CreateIniKeyValue "WIN.INI", "mci extensions", "AVI", "AVIVIDEO", cmoNone
  594. '' CreateIniKeyValue MakePath(GetWindowsDir(), "SYSTEM.INI"), "mci", "AVIVIDEO", "MCIAVI.DRV", cmoNone
  595. '' CreateIniKeyValue MakePath(GetWindowsDir(), "SYSTEM.INI"), "drivers", "vidc.msvc", "msvidc.drv", cmoNone
  596. '' CreateIniKeyValue MakePath(GetWindowsDir(), "SYSTEM.INI"), "drivers", "vidc.rt21", "indeo.drv", cmoNone
  597.  
  598. END SUB
  599.  
  600.  
  601.  
  602.