home *** CD-ROM | disk | FTP | other *** search
/ Merriam-Webster's Dictionary for Kids / MWDICT_100.iso / family.inf next >
INI File  |  1994-09-17  |  24KB  |  867 lines

  1. DefineVariables
  2.   Text          [ProductName]           := Merriam Websters' Dictionary For Kids
  3.   Text          [MainExeName]           := MW1.EXE
  4.   Text          [Launcher]              := BlankString
  5.   Text          [CommandLineArgs1]
  6.   Text          [CommandLineArgs2]
  7.   Text          [ProductIniFile]        := MWDICT.INI
  8.   Text          [ProductIniFile1]
  9.   Text          [ProgGrpName]           := Dictionary For Kids
  10.   Text          [ProgGrpFileName]       := DICTIONA.GRP
  11.   Text          [SWTWLogo]              := BlankString
  12.   Text          [InstalledFile1]        := mwa.idx
  13.   Text          [ExeName1]
  14.   Text          [IconName1]
  15.   Text          [ExeName2]
  16.   Text          [IconName2]
  17.   Directory     [DefaultDestDir]        := MW
  18.   Directory     [SourceSubDir1]         := SCREEN2
  19.   Directory     [SubDir2]               := SCREEN2
  20.   Logical       [MinInstall]            := N
  21.   Logical       [MaxInstall]            := N
  22.   Logical       [BailOut]               := N
  23.   Logical       [PreviousInstall]       := N
  24.   Number        [Continue]              := 1012
  25.   Logical       [FromOptToMin]          := N
  26.   Logical       [Root]                  := N
  27.   Directory     [SourceDir]             := DICT
  28.   Directory     [TargetDir]
  29.   Directory     [TargetDrive]           := BlankString
  30.   Number        [NumOptions]            := 2
  31.   Text          [CurrentInstallOpt]
  32.   TextArray     [InstallableDlls]
  33.   TextArray     [InstallableExes]
  34.   TextArray     [NotEnufFreeHDSpace]
  35.  
  36. ;; VFW specific
  37.  
  38.   Logical       [VFWIcon]               := N
  39.   Text          [InstalledVFWVersion]
  40.   Text          [ProductVFWVersion]     := 00001.00010.00000.00176  ;;v1.1a & v1.1
  41.   Directory     [VFWDir]                := WINVIDEO
  42.  
  43. ;; Family specific
  44.   TextArray     [Paths]
  45.   TextArray     [Settings]
  46.   Number        [Index]
  47. EndDefineVariables
  48.  
  49. SetTopLineTo [ProductName]
  50.  
  51. ;; Turn off INSTALITS' bitmap window
  52. SetDefaultBitmap Off
  53.  
  54. ;; Normally set to `Install'. Set to `Preview' for debugging purposes.
  55. SetInstallModeTo Install
  56.  
  57. SetTraceMode Off
  58.  
  59. SetExitConfirmationPrompt off
  60.  
  61. SetPopupBorderTo double
  62.  
  63. ;; If DriveIsPresent C
  64. ;;      If FreeSpaceOnDrive C < 25000
  65. ;;      Popup There is insufficient space on C: drive for installation. Exiting Install.
  66. ;;      SoLong
  67. ;;      EndIf
  68. ;;  [InstallationDirectory] := C:\[DefaultDestDir]
  69. ;; EndIf
  70.  
  71. ;; If DriveIsPresent D
  72. ;;      If FreeSpaceOnDrive D < 25000
  73. ;;      Popup There is insufficient space on D: drive for installation. Exiting Install.
  74. ;;      SoLong
  75. ;;      EndIf
  76. ;;  [InstallationDirectory] := D:\[DefaultDestDir]
  77. ;; EndIf
  78.  
  79. SetReplacementInquiry Off
  80.  
  81. Do DisplayLogo
  82. Do CleanUpBMPs
  83. [YesOrNo4] := Y
  84.  
  85.  
  86. ;; Product Introduction Screen
  87. Do IntroDlgBox
  88.  
  89. If [Continue] = 1011
  90.   Do BailDlg
  91.   GoTo Bail
  92. EndIf
  93. Do CheckVFWVer
  94. Do FirstInstall
  95.  
  96. If [PreviousInstall]
  97.     Do ReInstallit
  98. EndIf
  99. If .not. [YesOrNo4]
  100.   Do BailDlg
  101.   GoTo Bail
  102. EndIf
  103.  
  104.  
  105. Do EditIniFile
  106. Do CreateProgramGroup
  107. Do LaunchVFWSetup
  108. Do SignOff
  109.  
  110. :Bail
  111. SoLong
  112.  
  113. Procedure InitTextArrays
  114.     ClearArray [NotEnufFreeHDSpace]
  115.     If [NumOptions] = 2
  116.         [NotEnufFreeHDSpace][1] := The installation will attempt a minimal install.
  117.         [NotEnufFreeHDSpace][2] := To continue, click the 'Yes' button. To exit the installation now, click 'No'.
  118.     EndIf
  119.     If [NumOptions] = 1
  120.         [NotEnufFreeHDSpace][1] := The installation program will now exit - click on any button.
  121.         [NotEnufFreeHDSpace][2] := BlankString
  122.     EndIf
  123. EndProcedure
  124.  
  125. Procedure PromptInstallDir
  126.     [String10] := C:\[DefaultDestDir]
  127.     :Again
  128.     Do PromptInstallDlg
  129.     If [Continue] = 1011
  130.         Do BailDlg
  131.         GoTo Bail
  132.     EndIf
  133.     [Number10] := LengthOf [String10]
  134.     If [String10] = BlankString
  135.         GoTo Again
  136.     EndIf
  137.     [String11] := SubstringOf [String10] from 1 to 1
  138.     If DriveIsPresent [String11]
  139.         GoTo Next
  140.     EndIf
  141.     GoTo Again
  142.     :Next
  143.     If DriveIsBernoulli [String11]
  144.         GoTo Again
  145.     EndIf
  146.     If DriveIsCDROM [String11]
  147.         GoTo Again
  148.     EndIf
  149.     If DriveIsRAM [String11]
  150.         GoTo Again
  151.     EndIf
  152.     If DriveIsRemote [String11]
  153.         GoTo Again
  154.     EndIf
  155.     If DriveIsRemoveable [String11]
  156.         GoTo Again
  157.     EndIf
  158.     [String11] := SubstringOf [String10] from 2 to 3
  159.     If [String11] <> :\
  160.         GoTo Again
  161.     EndIf
  162.     [InstallationDirectory] := SubstringOf [String10] from Beginning to [Number10]
  163. EndProcedure
  164.  
  165. Procedure PromptInstallDlg
  166.     DialogBox 192 116 UseHeader "Merriam Websters' Dictionary For Kids" Returns [Continue] BlackOnLightGray ModalFrame
  167.     LText @xy( 6, 8) 180 8 "Please choose an installation directory "
  168.         LText @xy( 6,16) 180 8 "on a fixed drive (e.g., C: or D: drive)."
  169.     LText @xy( 6,32) 180 8 "Type in your choice below and press     "
  170.         LText @xy( 6,40) 180 8 "<Enter> or click on `Continue'. Click on"
  171.         LText @xy( 6,48) 180 8 "`Exit' to terminate installation now.   "
  172.         EditText @xy( 6,72) 180 12 Uses [String10] Border UpperCase
  173.         DefPushButton @xy(28,96) 40 16 "Continue" 1012
  174.         PushButton @xy(124,96) 40 16 "Exit" 1011
  175.     EndDialogBox
  176. EndProcedure
  177.  
  178. Procedure ReinstallDlg
  179.     Do PromptInstallDir
  180.     [Dir1] := [InstallationDirectory]
  181. EndProcedure
  182.  
  183. Procedure OptimalDlg
  184.   Dialog BlackOnLightGray
  185.      You previously chose Optimal Install option when [ProductName]
  186.      was last installed.  Since you chose to reinstall [ProductName],
  187.      you should chose Minimal Install if your decision to reinstall
  188.      is to have any meaning.  The Setup program will remove any files
  189.      not included in the Minimal installation option.
  190.   EndDialog
  191. EndProcedure
  192.  
  193. Procedure MinimalDlg
  194.   Dialog BlackOnLightGray
  195.      You previously chose Minimal Install option when [ProductName]
  196.      was last installed.  Since you chose to reinstall [ProductName],
  197.      you should choose Optimal Install if your decision to reinstall
  198.      is to effect any changes.
  199.   EndDialog
  200. EndProcedure
  201.  
  202. Procedure BadDirDlg
  203.   Dialog [YesOrNo1] WhiteOnRed
  204.      The destination directory entered is either incorrect or non
  205.      existent.  If you wish to continue installation, enter 'Y' for
  206.      Yes, or 'N' to terminate this installation.
  207.   EndDialog
  208. EndProcedure
  209.  
  210. Procedure WishToContinueDlg
  211.   Dialog [YesOrNo4] BlackOnLightGray
  212.      You have chosen to reinstall [ProductName] over a previous
  213.      installation. If this choice is in error or if you have changed
  214.      your mind, click the 'No' button. If you wish to continue,
  215.      click the 'Yes' button
  216.   EndDialog
  217. EndProcedure
  218.  
  219. Procedure NoFloppiesDlg
  220.   Dialog BlackOnLightGray UseHeader "Non-Fixed Disk Target"
  221.      A non-fixed disk target (ex: 'A' or 'B' floppy drives) cannot
  222.      be entered as a target drive for [ProductName].  Please enter
  223.      a logical drive letter mapped to a FIXED HARD DRIVE installed
  224.      on your computer.
  225.   EndDialog
  226. EndProcedure
  227.  
  228. Procedure NotEnufFreeHDSpace
  229.   Dialog  [YesOrNo6] BlackOnLightGray
  230.      There is not sufficient free space on the hard drive selected for
  231.          [CurrentInstallOpt] installation of [ProductName].
  232.          [NotEnufFreeHDSpace][1]
  233.          [NotEnufFreeHDSpace][2]
  234.   EndDialog
  235. EndProcedure
  236.  
  237. Procedure RemoveOptimalInstallDlg
  238.   Dialog 3000 BlackOnLightGray
  239.      [ProductName] Setup is preparing your destination
  240.      hard disk for the selected Minimal installation.
  241.   EndDialog
  242. EndProcedure
  243.  
  244. Procedure BailDlg
  245.   Dialog  3000 BlackOnLightGray
  246.     You are exiting [ProductName] Setup without completing
  247.     installation. No new files, directories or MS Windows Groups
  248.     have been created.
  249.   EndDialog
  250. EndProcedure
  251.  
  252. Procedure IntroDlgBox
  253.   DialogBox 280 84 UseHeader "Welcome to Merriam Websters' Dictionary For Kids" Returns [Continue] BlackOnLightGray ModalFrame
  254.     LText @xy( 6, 8) 276 8 "Welcome to Merriam Websters' Dictionary For Kids installation. This program   "
  255.         LText @xy( 6,16) 276 8 "will copy, to a destination directory on the hard drive you select, a small   "
  256.         LText @xy( 6,24) 276 8 "number of files necessary to run Merriam Websters' Dictionary. No MS-DOS      "
  257.     LText @xy( 6,32) 276 8 "or Windows system settings will be changed.  If you wish to continue with this"
  258.     LText @xy( 6,40) 276 8 "installation, click the 'Continue' button; otherwise, click the 'Exit' button."
  259.     DefPushButton @xy( 47, 60) 40 16 "Continue" 1012
  260.     DefPushButton @xy(181, 60) 40 16 "  Exit  " 1011
  261.   EndDialogBox
  262. EndProcedure
  263.  
  264. Procedure NoInstallToRootDlg
  265.   Dialog  6000 WhiteOnRed
  266.     You hve chosen to install [ProductName] in the root directory of [String8].
  267.         The install program does not allow installations to root directories. You
  268.         will be given the opportunity again to indicate a subdirectory to install to.
  269.   EndDialog
  270. EndProcedure
  271.  
  272. Procedure LaunchVFWDlg
  273.     Dialog  [YesOrNo11] BlackOnLightGray
  274.          [ProductName] requires updated Windows video software to operate correctly.
  275.          The installation program has determined that your video software needs to
  276.          be upgraded. It is recommended that this be done by clicking the 'Yes' button.
  277.          If you do not wish to install Windows video software now, click 'No'.  To
  278.          install the Windows video upgrade at a later date, rerun this SETUP program.  
  279.     EndDialog
  280. EndProcedure
  281.  
  282. Procedure DisplayLogo
  283.     If MaxX < 300 .or. MaxX > 1024
  284.         ShowWindow Maximize
  285.         GoTo NoSWTWLogo
  286.     EndIf
  287.     If MaxX > 800
  288.         [SWTWLogo] := CD1024.BMP
  289.         GoTo SWTWLogo
  290.     EndIf
  291.     If MaxX > 640
  292.         [SWTWLogo] := CD800.BMP
  293.         GoTo SWTWLogo
  294.     EndIf
  295.     If MaxX > 300
  296.         [SWTWLogo] := CD640.BMP
  297.         GoTo SWTWLogo
  298.     EndIf
  299.     [SWTWLogo] := cd1024.BMP
  300.     :SWTWLogo
  301.     QueFiles to ShadowDirectory Quietly
  302.         [SWTWLogo]
  303.     EndQueFiles
  304.     GetQuedFiles Quietly
  305.     LoadBitmap 1 ShadowDirectory\[SWTWLogo]
  306.     ShowBitmap 1 @xy(0,0)
  307.     ShowWindow Maximize
  308.     Delay 3000
  309.     :NoSWTWLogo
  310. EndProcedure
  311.  
  312. Procedure FirstInstall
  313.   If .not. [PreviousInstall]
  314.     :DoItAgain
  315.         Do PromptInstallDir
  316.       If [Continue] = 1011
  317.         GoTo Bail
  318.     EndIf
  319.     Do GetTargetDirAndDrive
  320.     [Dir1] := [InstallationDirectory]
  321.         Do NoInstallToRoot
  322.         If [Root]
  323.             [Root] := N
  324.             GoTo DoItAgain
  325.         EndIf
  326.     If FileExists [InstallationDirectory]\[ProductIniFile]
  327.       [PreviousInstall] := Y
  328.       GoTo DontDoOption
  329.     EndIf
  330.         Do MinMaxInstallOption
  331.   :DontDoOption
  332.   EndIf
  333. EndProcedure
  334.  
  335.  
  336. Procedure MakeSubDirs
  337.     If .not.  DirectoryExists [InstallationDirectory]\[SubDir2]
  338.       CreateDirectoryIfNecessary [InstallationDirectory]\[SubDir2]
  339.     EndIf
  340. EndProcedure
  341.  
  342. Procedure GetTargetDirAndDrive
  343.   [String1] := [InstallationDirectory]
  344.   [TargetDir] := SubstringOf [String1] from 3 to End
  345.   [TargetDrive] := SubstringOf [String1] from 1 to 2
  346. EndProcedure
  347.  
  348. Procedure MinMaxInstallOption
  349.   GetMenuChoice BlackOnLightGray (2*MaxX)/3 MaxY/2 Highlight 1 UseHeader "Merriam Websters' Dictionary For Kids" BorDlg SysMenu
  350.         Optimal
  351.       ; The optimal installation requires a maximum of 14.2 MBytes of
  352.       ; hard disk space. This choice will significantly increase program
  353.       ; execution speed.
  354.     Minimum
  355.       ; The minimum installation requires about 4.5 MBytes of hard disk
  356.       ; space.  Choose this option if free space on your hard drive is
  357.       ; limited. Program performance will vary with your CD drive speed.
  358.   EndGetMenuChoice
  359.  
  360.   InCase Choice is
  361.     =1: Do OptimalInstall
  362.     =2: Do MinimalInstall
  363.   EndInCase
  364. EndProcedure
  365.  
  366.  
  367. Procedure CheckFreeSpace
  368.   If FreeSpaceOnDrive [TargetDrive] < QueSize
  369.         UnQueAllFiles
  370.         If [NumOptions] < 2
  371.             Do InitTextArrays
  372.     Do NotEnufFreeHDSpace
  373.             GoTo NoMin
  374.         EndIf
  375.         Do InitTextArrays
  376.     Do NotEnufFreeHDSpace
  377.     If .not. [YesOrNo6]
  378.             Do BailDlg
  379.             GoTo Bail
  380.     EndIf
  381.     If [YesOrNo6] .and. [MaxInstall]      ;;already tried Max install
  382.             [NumOptions] := [NumOptions] - 1
  383.       Do MinimalInstall
  384.             [YesOrNo6] := N
  385.     EndIf
  386.       If [YesOrNo6] .and. [MinInstall]      ;;Already tried Min Install
  387.             :NoMin
  388.             Do BailDlg
  389.             GoTo Bail
  390.       EndIf
  391.   EndIf
  392. EndProcedure
  393.  
  394. Procedure OptimalInstall
  395.     If [NumOptions] > 1
  396.         [CurrentInstallOpt] := Maximum
  397.     Endif
  398.     [MaxInstall] := Y
  399.     [MinInstall] := N
  400.     QueFiles to [InstallationDirectory] Always NoInquiry
  401.         MW1.EXE
  402.         MWDICT.INI
  403.         MWS.IDX
  404.         MWA.IDX
  405.         MWK.IDX
  406.         MWW.IDX
  407.         MW.DD
  408.     EndQueFiles
  409.     Do MakeSubDirs
  410.     QueFiles to [InstallationDirectory]\[SubDir2] Always NoInquiry
  411.         GAMDUM.BMP
  412.         MW1MAIN.BMP
  413.         HISTORY.BMP
  414.         WRDFIND.BMP
  415.         SYNONYM.BMP
  416.         WARN2.BMP
  417.     EndQueFiles
  418.   Do CheckFreeSpace
  419.     GetQuedFiles
  420. EndProcedure
  421.  
  422. Procedure RemoveOptimalInstall
  423.   DeleteFiles from [InstallationDirectory] Quietly
  424.         MW1.EXE
  425.         MWDICT.INI
  426.         MWS.IDX
  427.         MWA.IDX
  428.         MWK.IDX
  429.         MWW.IDX
  430.         MW.DD
  431.   EndDeleteFiles
  432.   DeleteFiles from [InstallationDirectory] Quietly
  433.         GAMDUM.BMP
  434.         MW1MAIN.BMP
  435.         HISTORY.BMP
  436.         WRDFIND.BMP
  437.         SYNONYM.BMP
  438.         WARN2.BMP
  439.     EndDeleteFiles
  440.   [FromOptToMin] := Y
  441. EndProcedure
  442.  
  443. Procedure MinimalInstall
  444.     [CurrentInstallOpt] := Minimum
  445.     [MinInstall] := Y
  446.     [MaxInstall] := N
  447.     If [FromOptToMin]
  448.         Do RemoveOptimalInstall
  449.     EndIf
  450.   [DefaultDestDir] := [InstallFromDirectory]\[SourceDir]
  451.     QueFiles to [InstallationDirectory] Always NoInquiry
  452.         MW1.EXE
  453.         MWDICT.INI
  454.         MWS.IDX
  455.     EndQueFiles
  456.     Do MakeSubDirs
  457.     QueFiles to [InstallationDirectory]\[SubDir2] Always NoInquiry
  458.         GAMDUM.BMP
  459.         MW1MAIN.BMP
  460.         HISTORY.BMP
  461.         WRDFIND.BMP
  462.         SYNONYM.BMP
  463.         WARN2.BMP
  464.     EndQueFiles
  465.     [NumOptions] := [NumOptions] - 1
  466.   Do CheckFreeSpace
  467.     [NumOptions] := [NumOptions] + 1
  468.     GetQuedFiles
  469. EndProcedure
  470.  
  471. Procedure CheckVFWVer
  472.  
  473.     If .not. FileExists [WindowsSystemDirectory]\VER.DLL
  474.         QueFiles to [WindowsSystemDirectory] Always NoInquiry
  475.             ver.dll
  476.         EndQueFiles
  477.         GetQuedFiles Quietly
  478.     EndIf
  479.  
  480.     If .not. FileExists [WindowsSystemDirectory]\MSVIDEO.DLL
  481.             [VFWIcon] := Y
  482.     EndIf
  483.  
  484.     If .not. FileExists [WindowsSystemDirectory]\ACMCMPRS.DLL
  485.             [VFWIcon] := Y
  486.     EndIf
  487.  
  488.     If .not. FileExists [WindowsSystemDirectory]\AVICAP.DLL
  489.             [VFWIcon] := Y
  490.     EndIf
  491.  
  492.     If .not. FileExists [WindowsSystemDirectory]\AVIFILE.DLL
  493.             [VFWIcon] := Y
  494.     EndIf
  495.  
  496.  
  497.     If .not. FileExists [WindowsSystemDirectory]\CLEANUP.REG
  498.             [VFWIcon] := Y
  499.     EndIf
  500.  
  501.     If .not. FileExists [WindowsSystemDirectory]\COMPOBJ.DLL
  502.             [VFWIcon] := Y
  503.     EndIf
  504.  
  505.  
  506.     If .not. FileExists [WindowsSystemDirectory]\CTL3D.DLL
  507.             [VFWIcon] := Y
  508.     EndIf
  509.  
  510.     If .not. FileExists [WindowsSystemDirectory]\DISPDIB.DLL
  511.             [VFWIcon] := Y
  512.     EndIf
  513.  
  514.     If .not. FileExists [WindowsSystemDirectory]\DVA.386
  515.             [VFWIcon] := Y
  516.     EndIf
  517.  
  518.  
  519.     If .not. FileExists [WindowsSystemDirectory]\ICCVID.DRV
  520.             [VFWIcon] := Y
  521.     EndIf
  522.  
  523.  
  524.     If .not. FileExists [WindowsSystemDirectory]\IMAADPCM.ACM
  525.             [VFWIcon] := Y
  526.     EndIf
  527.  
  528.  
  529.     If .not. FileExists [WindowsSystemDirectory]\INDEOV.DRV
  530.             [VFWIcon] := Y
  531.     EndIf
  532.  
  533.  
  534.     If .not. FileExists [WindowsSystemDirectory]\IR30.DLL
  535.             [VFWIcon] := Y
  536.     EndIf
  537.  
  538.     If .not. FileExists [WindowsSystemDirectory]\IR21_R.DLL
  539.             [VFWIcon] := Y
  540.     EndIf
  541.  
  542.     If .not. FileExists [WindowsSystemDirectory]\MCIAVI.DRV
  543.             [VFWIcon] := Y
  544.     EndIf
  545.  
  546.     If .not. FileExists [WindowsSystemDirectory]\MSACM.DLL
  547.             [VFWIcon] := Y
  548.     EndIf
  549.  
  550.     If .not. FileExists [WindowsSystemDirectory]\MSACM.DRV
  551.             [VFWIcon] := Y
  552.     EndIf
  553.  
  554.  
  555.     If .not. FileExists [WindowsSystemDirectory]\MSADPCM.ACM
  556.             [VFWIcon] := Y
  557.     EndIf
  558.  
  559.  
  560.     If .not. FileExists [WindowsSystemDirectory]\MSVIDC.DRV
  561.             [VFWIcon] := Y
  562.     EndIf
  563.  
  564.     If .not. FileExists [WindowsSystemDirectory]\OLE2.DLL
  565.             [VFWIcon] := Y
  566.     EndIf
  567.  
  568.     If .not. FileExists [WindowsSystemDirectory]\OLE2.REG
  569.             [VFWIcon] := Y
  570.     EndIf
  571.  
  572.     If .not. FileExists [WindowsSystemDirectory]\OLE2CONV.DLL
  573.             [VFWIcon] := Y
  574.     EndIf
  575.  
  576.  
  577.     If .not. FileExists [WindowsSystemDirectory]\OLE2DISP.DLL
  578.             [VFWIcon] := Y
  579.     EndIf
  580.  
  581.     If .not. FileExists [WindowsSystemDirectory]\OLE2NLS.DLL
  582.             [VFWIcon] := Y
  583.     EndIf
  584.  
  585.  
  586.     If .not. FileExists [WindowsSystemDirectory]\OLE2PROX.DLL
  587.             [VFWIcon] := Y
  588.     EndIf
  589.  
  590.     If .not. FileExists [WindowsSystemDirectory]\STORAGE.DLL
  591.             [VFWIcon] := Y
  592.     EndIf
  593.  
  594.     If .not. FileExists [WindowsSystemDirectory]\TYPELIB.DLL
  595.             [VFWIcon] := Y
  596.     EndIf
  597.  
  598.  
  599.     If FileExists [WindowsSystemDirectory]\MSVIDEO.DLL
  600.         [InstalledVFWVersion] := FileVersionOf [WindowsSystemDirectory]\MSVIDEO.DLL
  601.         If ([InstalledVFWVersion] < [ProductVFWVersion])
  602.             [VFWIcon] := Y
  603.         EndIf
  604.     EndIf
  605. EndProcedure
  606.  
  607. Procedure LaunchVFWSetup
  608.     If [VFWIcon]
  609.  
  610.         Do LaunchVFWDlg
  611.         If [YesOrNo11]
  612.             [VFWIcon] := N
  613.             Run [InstallFromDirectory]\[SourceDir]\[VFWDir]\wvsetup.exe
  614.         EndIf
  615.     EndIf
  616. EndProcedure
  617.  
  618. Procedure NoInstallToRoot
  619.     [String7] := [Dir1]
  620.     [String8] := SubstringOf [String7] from 1 to 2
  621.     If ([String7] = [String8]\)
  622.         Do NoInstallToRootDlg
  623.         [Root] := Y
  624.     EndIf
  625. EndProcedure
  626.  
  627. Procedure ReInstallit
  628.   :Loop
  629.   Do WishToContinueDlg
  630.   If [YesOrNo4] = N
  631.     GoTo End
  632.   EndIf
  633.   Do ReinstallDlg
  634.     Do NoInstallToRoot
  635.     If [Root]
  636.         [Root] := N
  637.         GoTo Loop
  638.     EndIf
  639.   If DirectoryExists [Dir1]
  640.     [InstallationDirectory] :=  [Dir1]
  641.     [YesOrNo3] := Y
  642.     Do GetTargetDirAndDrive
  643.         If [NumOptions] = 1
  644.             Do OptimalInstall
  645.             GoTo End
  646.         EndIf
  647.     If FileExists [Dir1]\[MainExeName] ;;If already Optimal Install
  648.       [FromOptToMin] := Y
  649.       Do MinMaxInstallOption
  650.         GoTo Found
  651.     EndIf
  652.     If FileExists [Dir1]\[InstalledFile1] ;;If already Optimal Install
  653.       [FromOptToMin] := Y
  654.       Do MinMaxInstallOption
  655.     EndIf
  656.         :Found
  657.     If .not. [FromOptToMin]                     ;;If already Minimal Install
  658.       Do MinMaxInstallOption
  659.     EndIf
  660.     [FromOptToMin] := N
  661.   EndIf
  662.   If .not. [YesOrNo3]
  663.     Do BadDirDlg
  664.     If [YesOrNo1]
  665.       GoTo Loop
  666.     EndIf
  667.     If .not. [YesOrNo1]
  668.       [YesOrNo4] := N
  669.     EndIf
  670.   EndIf
  671.   :End
  672. EndProcedure
  673.  
  674. Procedure LoadIniPaths
  675.     ClearArray [Settings]
  676.     [Settings][1] := VID_PATH
  677.     [Settings][2] := ILLUS_PATH
  678.     [Settings][3] := AUD_PATH
  679.     [Settings][4] := SCREEN_PATH
  680.     [Settings][5] := SCREEN_PATH_2
  681.     [Settings][6] := GAME_PATH
  682.     [Settings][7] := DATA_PATH
  683.     [Settings][8] := INDEX_PATH_MWA
  684.     [Settings][9] := INDEX_PATH_MWK
  685.     [Settings][10] := INDEX_PATH_MWS
  686.     [Settings][11] := INDEX_PATH_MWW
  687.     [Settings][12] := ABOUT_PATH
  688.     [Settings][13] := HELP_PATH
  689.     ClearArray [Paths]
  690.     [Paths][1] := vid\
  691.     [Paths][2] := ill\
  692.     [Paths][3] := aud\
  693.     [Paths][4] := screen\
  694.     [Paths][5] := screen2\
  695.     [Paths][6] := games\
  696.     [Paths][7] := data\
  697.     [Paths][8] := index\mwa\
  698.     [Paths][9] := index\mwk\
  699.     [Paths][10] := index\mws\
  700.     [Paths][11] := index\mww\
  701.     [Paths][12] := about\
  702.     [Paths][13] := help\
  703. EndProcedure
  704.  
  705. Procedure EditIniFile
  706.         SetFileAttrTo 00 for [InstallationDirectory]\[ProductIniFile]
  707.       [Array2][1] := PATHS
  708.       [Array2][2] := VID_PATH
  709.       [Array2][3] := [InstallFromDirectory]\[SourceDir]\vid\
  710.       [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  711.       WritePrivateProfileString Using [Array2] NoBackup
  712.         ClearArray [Array2]
  713.       [Array2][1] := PATHS
  714.       [Array2][2] := ILLUS_PATH
  715.       [Array2][3] := [InstallFromDirectory]\[SourceDir]\ill\
  716.       [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  717.       WritePrivateProfileString Using [Array2] NoBackup
  718.         ClearArray [Array2]
  719.       [Array2][1] := PATHS
  720.       [Array2][2] := AUD_PATH
  721.       [Array2][3] := [InstallFromDirectory]\[SourceDir]\aud\
  722.       [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  723.       WritePrivateProfileString Using [Array2] NoBackup
  724.         ClearArray [Array2]
  725.       [Array2][1] := PATHS
  726.       [Array2][2] := SCREEN_PATH
  727.       [Array2][3] := [InstallFromDirectory]\[SourceDir]\screen\
  728.       [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  729.       WritePrivateProfileString Using [Array2] NoBackup
  730.         ClearArray [Array2]
  731.       [Array2][1] := PATHS
  732.       [Array2][2] := SCREEN_PATH_2
  733.       [Array2][3] := [InstallationDirectory]\screen2\
  734.       [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  735.       WritePrivateProfileString Using [Array2] NoBackup
  736.         ClearArray [Array2]
  737.       [Array2][1] := PATHS
  738.       [Array2][2] := GAME_PATH
  739.       [Array2][3] := [InstallFromDirectory]\[SourceDir]\games\
  740.       [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  741.       WritePrivateProfileString Using [Array2] NoBackup
  742.         ClearArray [Array2]
  743.       [Array2][1] := PATHS
  744.       [Array2][2] := DATA_PATH
  745.       [Array2][3] := [InstallFromDirectory]\[SourceDir]\data\
  746.       [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  747.       WritePrivateProfileString Using [Array2] NoBackup
  748.         ClearArray [Array2]
  749.         If [MinInstall]
  750.             [Array2][1] := PATHS
  751.             [Array2][2] := INDEX_PATH_MWA
  752.             [Array2][3] := [InstallFromDirectory]\[SourceDir]\index\mwa\
  753.             [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  754.             WritePrivateProfileString Using [Array2] NoBackup
  755.             ClearArray [Array2]
  756.         EndIf
  757.         If [MaxInstall]
  758.             [Array2][1] := PATHS
  759.             [Array2][2] := INDEX_PATH_MWA
  760.             [Array2][3] := [InstallationDirectory]\
  761.             [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  762.             WritePrivateProfileString Using [Array2] NoBackup
  763.             ClearArray [Array2]
  764.         EndIf
  765.         If [MinInstall]
  766.             [Array2][1] := PATHS
  767.             [Array2][2] := INDEX_PATH_MWK
  768.             [Array2][3] := [InstallFromDirectory]\[SourceDir]\index\mwk\
  769.             [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  770.             WritePrivateProfileString Using [Array2] NoBackup
  771.             ClearArray [Array2]
  772.         EndIf
  773.         If [MaxInstall]
  774.             [Array2][1] := PATHS
  775.             [Array2][2] := INDEX_PATH_MWK
  776.             [Array2][3] := [InstallationDirectory]\
  777.             [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  778.             WritePrivateProfileString Using [Array2] NoBackup
  779.             ClearArray [Array2]
  780.         EndIf
  781.       [Array2][1] := PATHS
  782.       [Array2][2] := INDEX_PATH_MWS
  783.       [Array2][3] := [InstallationDirectory]\
  784.       [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  785.       WritePrivateProfileString Using [Array2] NoBackup
  786.         ClearArray [Array2]
  787.         If [MinInstall]
  788.             [Array2][1] := PATHS
  789.             [Array2][2] := INDEX_PATH_MWW
  790.             [Array2][3] := [InstallFromDirectory]\[SourceDir]\index\mww\
  791.             [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  792.             WritePrivateProfileString Using [Array2] NoBackup
  793.             ClearArray [Array2]
  794.         EndIf
  795.         If [MaxInstall]
  796.             [Array2][1] := PATHS
  797.             [Array2][2] := INDEX_PATH_MWW
  798.             [Array2][3] := [InstallationDirectory]\
  799.             [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  800.             WritePrivateProfileString Using [Array2] NoBackup
  801.             ClearArray [Array2]
  802.         EndIf
  803.       [Array2][1] := PATHS
  804.       [Array2][2] := ABOUT_PATH
  805.       [Array2][3] := [InstallFromDirectory]\[SourceDir]\about\
  806.       [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  807.       WritePrivateProfileString Using [Array2] NoBackup
  808.         ClearArray [Array2]
  809.       [Array2][1] := PATHS
  810.       [Array2][2] := HELP_PATH
  811.       [Array2][3] := [InstallFromDirectory]\[SourceDir]\help\
  812.       [Array2][4] := [InstallationDirectory]\[ProductIniFile]
  813.       WritePrivateProfileString Using [Array2] NoBackup
  814.         ClearArray [Array2]
  815. EndProcedure
  816.  
  817.  
  818.  
  819.  
  820. Procedure CreateProgramGroup
  821.   [YesOrNo2] := N
  822.   If FileExists c:\WINDOWS\[ProgGrpFileName]
  823.     ProgramManagerDDE
  824.       DeleteGroup([ProgGrpName])
  825.     EndProgramManagerDDE
  826.     [YesOrNo2] := Y
  827.   EndIf
  828.     If [MaxInstall]
  829.         ProgramManagerDDE
  830.           CreateGroup([ProgGrpName])
  831.             AddItem([TargetDrive][TargetDir]\MW1.EXE, Dictionary For Kids)
  832.         EndProgramManagerDDE
  833.     EndIf
  834.     If [MinInstall]
  835.         ProgramManagerDDE
  836.           CreateGroup([ProgGrpName])
  837.             AddItem([TargetDrive][TargetDir]\MW1.EXE, Dictionary For Kids)
  838.         EndProgramManagerDDE
  839.     EndIf
  840.   If [YesOrNo2]
  841.     ProgramManagerDDE
  842.       Reload([ProgGrpName])
  843.     EndProgramManagerDDE
  844.   EndIf
  845.     
  846. EndProcedure
  847.  
  848. Procedure CleanUpBMPs
  849.     DeleteFiles from ShadowDirectory Quietly
  850.         [SWTWLogo]
  851.     EndDeleteFiles
  852. EndProcedure
  853.  
  854. Procedure SignOff
  855.   Dialog BlackOnLightGray
  856.     [ProductName] installation is complete.
  857.   EndDialog
  858. EndProcedure
  859.  
  860. Procedure DDENonFatalErrorTrap
  861. ;; Trap the dde error for ReplaceItem.
  862. ;; See Simple.Stf for more information on how to
  863. ;; use ProgramManager's DDENonFatalErrorTrap.
  864. EndProcedure
  865.  
  866. EndScript
  867.