home *** CD-ROM | disk | FTP | other *** search
/ Edusex / Edusex.iso / setup.mst < prev    next >
Text File  |  1995-07-19  |  17KB  |  512 lines

  1. '**************************************************************************
  2. '*                       MSSetup EDUSEX
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG   ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9. '$INCLUDE 'setst.inc'
  10.  
  11. ''Dialog ID's
  12. CONST ASKQUIT      = 200
  13. CONST DESTPATH     = 300
  14. CONST EXITFAILURE  = 400
  15. CONST EXITQUIT     = 600
  16. CONST EXITSUCCESS  = 700
  17. CONST OPTIONS      = 800
  18. CONST APPHELP      = 900
  19. CONST RESTART      = 2600
  20. CONST RESTARTII    = 2700
  21. CONST CUSTINST     = 6200
  22. CONST TELEINST     = 6250
  23. CONST TOOBIG       = 6300
  24. CONST BADPATH      = 6400
  25.  
  26. ''Bitmap ID
  27. CONST LOGO         = 1
  28.  
  29. ''File Types
  30. CONST APPFILES     = 1
  31. CONST OPTFILES1    = 2
  32. CONST OPTFILES2    = 3
  33.  
  34. GLOBAL SRCDIR$
  35. GLOBAL DEST$        ''Default destination directory.
  36. GLOBAL WINDRIVE$    ''Windows drive letter.
  37. GLOBAL WINDIR$
  38. GLOBAL WINSYSDIR$
  39. GLOBAL TBKDIR$
  40. GLOBAL DEFDIR$
  41.  
  42. GLOBAL NEEDET&
  43. GLOBAL DRVSPACE&
  44. GLOBAL tb15Path$
  45.  
  46. ''***************************************************
  47. '' Driver AVI
  48. CONST ADDVFW            = 1
  49. GLOBAL VFWPATH$
  50. ''***************************************************
  51.  
  52. ''CustInst list symbol names
  53.  
  54. ''Dialog list symbol names
  55. GLOBAL CHECKSTATES$
  56. GLOBAL STATUSTEXT$
  57. GLOBAL DRIVETEXT$
  58.  
  59. DECLARE SUB BuildCopyList
  60. DECLARE SUB CalculateCopyList
  61. DECLARE SUB SetDriveStatus
  62. DECLARE SUB RegisterEntries
  63. DECLARE SUB CreateIniEntries
  64. DECLARE SUB lancioAppl
  65. DECLARE SUB SetupProgman
  66.  
  67. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  68.  
  69. DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER
  70. DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER
  71. DECLARE SUB Reboot LIB "iniupd.dll"
  72. DECLARE fUNCTION ExitWindowsExec  LIB "User" (Exec$, Param$) AS INTEGER
  73.  
  74. TRAP CleanupTrap From "MSSHLSTF.DLL"
  75.  
  76. End Trap
  77.         Inst% = HinstFrame()
  78.         ii% = CreateCover(0, 0, 0, 0, 0)
  79.         ret% = Ctl3dRegister(Inst%)
  80.         ret% = Ctl3dAutoSubClass(Inst%)
  81.         hSetup = InitSetup(COMMAND$)
  82.         hWnd% = HwndFrame()
  83.         ret% = SubSetMainWin(hWnd%)
  84.         ii% = CloseCover()
  85.  
  86.     WIN32ENABLED% = 0
  87.     MajorVer% = GetWindowsMajorVersion()
  88.     MinorVer% = GetWindowsMinorVersion()
  89.     ''*******************************************************
  90.     '' CHECK VERSIONE WINDOWS
  91.     ''*******************************************************
  92.     IF MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  93.         i% = DoMsgBox("Edusex richiede Microsoft Windows version 3.10 o successiva.", "Installazione di Edusex", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  94.         END
  95.     END IF
  96.  
  97.     ''*******************************************************    
  98.     '' CHECK SCHEDA GRAFICA
  99.     ''*******************************************************    
  100. ''    IF DeviceColor() <= 16 THEN
  101. ''     ii% = DoMsgBox("Edusex requires 256 colors", "Hardware", MB_OK)
  102. ''       GOTO QUIT
  103. ''    END IF
  104.  
  105. ON ERROR GOTO QUIT
  106.  
  107. INIT:
  108.     CUIDLL$ = "mscuistf.dll"            ''custom user interface dll
  109.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  110.     SetTitle "Installazione di Edusex"
  111.  
  112.     ''*******************************************************
  113.     '' DICHIARAZIONE DEI PATH
  114.     VFWPATH$ = "VFW\"
  115.     TBKDIR$  = "MTB30RT\"
  116.     DEFDIR$  = "EDUSEX\"
  117.     ''*******************************************************
  118.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  119.     IF szInf$ = "" THEN
  120.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  121.     END IF
  122.  
  123.     ReadInfFile szInf$
  124.  
  125.     WINDRIVE$ = UCASE$(MID$(GetWindowsDir, 1, 1))
  126.     DEST$ = WINDRIVE$ + ":\EDUSEX"
  127.     WINDIR$ = GetWindowsDir()
  128.     WINSYSDIR$ = GetWindowsSysDir()
  129.  
  130.     ''CustInst list symbols
  131.     CHECKSTATES$ = "CheckItemsState"
  132.     STATUSTEXT$  = "StatusItemsText"
  133.     DRIVETEXT$   = "DriveStatusText"
  134.  
  135.     tb15pathTMP$ = GetIniKeyString(WinDir$ + "WIN.INI", "Extensions", "tbk")
  136.     If tb15pathTMP$ <> "" then
  137.         tmp$ = ucase$(tb15pathTMP$)
  138.         IF InStr(1,tmp$,"TBOOK.EXE ") then
  139.                 Laenge%    = Len(tb15pathTMP$)
  140.                 tb15path$ = Mid$(tb15pathTMP$,1,laenge%-6)
  141.         END IF
  142.     END IF
  143.  
  144.     FOR i% = 1 TO 3 STEP 1
  145.         AddListItem CHECKSTATES$, ""
  146.     NEXT i%
  147.  
  148.     FOR i% = 1 TO 3 STEP 1
  149.         AddListItem STATUSTEXT$, ""
  150.     NEXT i%
  151.  
  152.     FOR i% = 1 TO 3 STEP 1
  153.         AddListItem DRIVETEXT$, ""
  154.     NEXT i%
  155.  
  156.     ReplaceListItem DRIVETEXT$, 2, DEST$
  157.     ReplaceListItem CHECKSTATES$, 1, "ON"
  158.  
  159.     ''File Option Variables
  160.  
  161.     ''      Driver, OptLists
  162.  
  163.     SetDriveStatus
  164.  
  165. CUSTINST:
  166.     sz$ = UIStartDlg(CUIDLL$, TELEINST, "FTeleInstDlgProc", APPHELP, HELPPROC$)
  167.  
  168.     IF sz$ = "CONTINUE" THEN
  169.         ''Install only if it will fit.
  170.                 BuildCopyList
  171.                 CalculateCopyList
  172.                 IF NEEDET& <> 0 THEN
  173.                         GOSUB TOOBIG
  174.                         GOTO CUSTINST
  175.                 END IF
  176.         UIPop 1
  177.         GOTO INSTALL
  178.     ELSEIF sz$ = "PATH" THEN
  179.         GOTO GETPATH
  180.     ELSEIF sz$ = "CHK1" THEN
  181.         GOTO CUSTINST
  182.     ELSEIF sz$ = "CHK2" THEN
  183.         GOTO CUSTINST
  184. ''    ELSEIF sz$ = "CHK3" THEN
  185. ''      GOTO CUSTINST
  186.     ELSEIF sz$ = "REACTIVATE" THEN
  187.         SetDriveStatus
  188.         GOTO CUSTINST
  189.     ELSE
  190.         GOSUB ASKQUIT
  191.         GOTO CUSTINST
  192.     END IF
  193.  
  194. INSTALL:
  195.     CreateDir DEST$, cmoNone
  196.     BuildCopyList
  197.     SetRestartDir WinDir$
  198.     CopyFilesInCopyList
  199.     CreateIniEntries
  200.     RegisterEntries
  201.     lancioAppl
  202.     SetupProgman
  203.  
  204. '' lancio programma
  205. ''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  206.     SRCDIR$  = GetSymbolValue("STF_SRCDIR")
  207. ''    TBSRC$   = MakePath(SRCDIR$, TBKDIR$)   
  208.  
  209. ''    Run ( MakePath (TBSRC$, "mtb30run.exe ") + MakePath (TBSRC$, "passwd.tbk"))
  210. ''    Run ("regedit.exe /s " + MakePath(WinSysDir$, "OLE2.reg"))
  211.       
  212.     RESTRT% = RestartListEmpty ()
  213.     Exe$ = DEST$ + "\_msrstrt.exe"
  214.     Batch$ = DEST$ + "\_mssetup.bat"
  215.     empty$ = ""
  216. RESTART:
  217. IF RESTRT% = 0 THEN
  218.         sz$ = UIStartDlg(cuidll$, RESTART, "FInfo0DlgProc", 0, "")
  219.         IF sz$ = "REACTIVATE" THEN
  220.                 GOTO RESTART
  221.         ENDIF
  222.         I% = ExitExecRestart ()
  223.         RemoveFile Exe$, cmoForce
  224.         RemoveFile Batch$, cmoForce
  225.         END
  226. ELSE
  227.         sz$ = UIStartDlg(CUIDLL$, RESTARTII, "FQuitDlgProc", 0, "")
  228.         IF sz$ = "CONTINUE" THEN
  229.                 I% = ExitWindowsExec (Exe$, empty$)
  230.                 IF I% = 0 THEN
  231.                         GOTO RESTART
  232.                 ELSE
  233.                         END
  234.                 ENDIF
  235.         ELSEIF sz$ = "EXIT" THEN
  236.                 UIPopAll
  237.                 END
  238.         ELSEIF sz$ = "REACTIVATE" THEN
  239.                 GOTO RESTART
  240.         ELSE
  241.                 UIPop 1
  242.         END IF
  243. END IF
  244.  
  245.  
  246. QUIT:
  247.     ''ON ERROR GOTO ERRQUIT
  248.  
  249.     IF ERR = 0 THEN
  250.         dlg% = EXITSUCCESS
  251.     ELSEIF ERR = STFQUIT THEN
  252.         dlg% = EXITQUIT
  253.     ELSE
  254.         dlg% = EXITQUIT          ''EXITFAILURE
  255.     END IF
  256. ''QUITL1:
  257. ''    sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  258. ''    IF sz$ = "REACTIVATE" THEN
  259. ''      GOTO QUITL1
  260. ''    END IF
  261. ''    UIPop 1
  262.  
  263. ''    END
  264.  
  265. ERRQUIT:
  266.     i% = DoMsgBox("Setup non completato!", "Messaggio di Setup", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  267.     END
  268.  
  269. GETPATH:
  270.     SetSymbolValue "EditTextIn", DEST$
  271.     SetSymbolValue "EditFocus", "END"
  272. GETPATHL1:
  273.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  274.  
  275.     IF sz$ = "CONTINUE" THEN
  276.         olddest$ = DEST$
  277.         DEST$ = GetSymbolValue("EditTextOut")
  278.  
  279.         ''Validate new path.
  280.         IF IsDirWritable(DEST$) = 0 THEN
  281.             GOSUB BADPATH
  282.             GOTO GETPATHL1
  283.         END IF
  284.         UIPop 1
  285.  
  286.         ''Truncate display if too long.
  287.         IF LEN(DEST$) > 23 THEN
  288.             ReplaceListItem DRIVETEXT$, 2, MID$(DEST$, 1, 23)+"..."
  289.         ELSE
  290.             ReplaceListItem DRIVETEXT$, 2, DEST$
  291.         END IF
  292.  
  293.         ''Recalc if path changed.
  294.         IF (olddest$ <> DEST$) AND (olddest$ <> DEST$+"\") AND (olddest$+"\" <> DEST$) THEN
  295.             SetDriveStatus
  296.         END IF
  297.  
  298.         olddest$ = ""
  299.         GOTO CUSTINST
  300.     ELSEIF sz$ = "REACTIVATE" THEN
  301.         SetDriveStatus
  302.         GOTO GETPATHL1
  303.     ELSEIF sz$ = "EXIT" THEN
  304.         GOSUB ASKQUIT
  305.         GOTO GETPATHL1
  306.     ELSE
  307.         UIPop 1
  308.         GOTO CUSTINST
  309.     END IF
  310.  
  311.  
  312.  
  313. TOOBIG:
  314.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  315.     IF sz$ = "REACTIVATE" THEN
  316.         SetDriveStatus
  317.         GOTO TOOBIG
  318.     END IF
  319.     UIPop 1
  320.     RETURN
  321.  
  322.  
  323.  
  324. BADPATH:
  325.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  326.     IF sz$ = "REACTIVATE" THEN
  327.         SetDriveStatus
  328.         GOTO BADPATH
  329.     END IF
  330.     UIPop 1
  331.     RETURN
  332.  
  333.  
  334.  
  335. ASKQUIT:
  336.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  337.  
  338.     IF sz$ = "EXIT" THEN
  339.         UIPopAll
  340.         ERROR STFQUIT
  341.     ELSEIF sz$ = "REACTIVATE" THEN
  342.         GOTO ASKQUIT
  343.     ELSE
  344.         UIPop 1
  345.     END IF
  346.     RETURN
  347.  
  348. SUB CalculateCopyList STATIC
  349.         NEEDET& = GetCopyListCost("", "", "")   
  350. END SUB
  351.  
  352. SUB SetupProgman STATIC
  353.         '' Todo Add Progman Commands
  354.  
  355.         CreateProgmanGroup "GMM", "", cmoOverwrite
  356.         ShowProgmanGroup "GMM", 1, cmoNone
  357.         
  358.     IF GetListItem(CHECKSTATES$, 1) = "ON" THEN
  359.             CreateProgmanItem "GMM", "Edusex", MakePath(WinDir$,"asym\runtime\tbload.exe")+" "+MakePath(SRCDIR$,"edusex\start.TBK"), MakePath(DEST$, "edx.ico")+",,,,"+MakePath(SRCDIR$,"edusex") , cmoOverwrite
  360.             CreateProgmanItem "GMM", "Uninstall", MakePath(SRCDIR$,"MTB30RT\tbload.exe")+" "+MakePath(SRCDIR$,"remove.exe"), MakePath(SRCDIR$, "edusex\edxrem.ico")+",,,,"+SRCDIR$ , cmoOverwrite
  361.     ELSEIF GetListItem(CHECKSTATES$, 2) = "ON" THEN
  362.         CreateProgmanItem "GMM", "Edusex", MakePath(WinDir$,"asym\runtime\tbload.exe")+" "+MakePath(DEST$,"start.TBK"), MakePath(DEST$, "edx.ico")+",,,,"+ DEST$ , cmoOverwrite
  363.             CreateProgmanItem "GMM", "Uninstall", MakePath(SRCDIR$,"MTB30RT\tbload.exe")+" "+MakePath(SRCDIR$,"remove.exe"), MakePath(SRCDIR$, "edusex\edxrem.ico")+",,,,"+SRCDIR$ , cmoOverwrite
  364.     END IF
  365.  
  366. END SUB
  367.  
  368. SUB lancioAppl STATIC
  369.  
  370.     TBSRC$   = MakePath(SRCDIR$, TBKDIR$)   
  371.  
  372.     Run ( MakePath (TBSRC$, "mtb30run.exe ") + MakePath (TBSRC$, "passwd.tbk"))
  373.  
  374. END SUB
  375.  
  376.  
  377. SUB BuildCopyList STATIC
  378.  
  379.     SRCDIR$  = GetSymbolValue("STF_SRCDIR")
  380.     TBSRC$   = MakePath(SRCDIR$, TBKDIR$)        
  381.     DEFAULTSRC$ = MakePath(SRCDIR$, DEFDIR$)
  382.     TBKDEST$ = MakePath(WINDIR$, "asym\runtime\")        
  383.  
  384.     ClearCopyList
  385.     AddSectionFilesToCopyList "DEFAULT", DEFAULTSRC$, DEST$
  386.     AddSectionFilesToCopyList "TBK", TBSRC$, TBKDEST$
  387.  
  388.     IF GetListItem(CHECKSTATES$, 2) = "ON" THEN
  389.         AddSectionFilesToCopyList "OPTION2",DEFAULTSRC$,DEST$
  390.     END IF
  391.  
  392. ''        IF GetListItem(CHECKSTATES$, 1) = "ON" THEN                     
  393. ''    '' Optional Files 1
  394. ''            AddSectionFilesToCopyList "OPTION1", SRCDIR$, DEST$
  395. ''       ELSEIF GetListItem(CHECKSTATES$, 2) = "ON" THEN                 
  396. ''    '' Optional Files 2
  397. ''            AddSectionFilesToCopyList "OPTION2", DEFAULTSRC$, DEST$
  398. ''        END IF
  399.  
  400.     IF ADDVFW <> 0 THEN                        
  401.     '' Video for Windows Files
  402.         VFWSRC$= MakePath(SRCDIR$, VFWPATH$) 
  403.     AddSectionFilesToCopyList "remove", VFWSRC$, WINSYSDIR$  
  404.         AddSectionFilesToCopyList "VfW Runtime", VFWSRC$, WINSYSDIR$
  405.         AddSectionFilesToCopyList "OLE2", VFWSRC$, WINSYSDIR$
  406.         AddSectionFilesToCopyList "ACM Drivers", VFWSRC$, WINSYSDIR$
  407.         AddSectionFilesToCopyList "MPlayer", VFWSRC$, WINDIR$
  408.         AddSectionFilesToCopyList "AVICodecs", VFWSRC$, WINSYSDIR$
  409.     END IF
  410. END SUB
  411.  
  412.  
  413. SUB CreateIniEntries STATIC
  414.  
  415.         '' Default Entries
  416.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "start.tbk", DEST$+"\start.tbc", cmoOverwrite
  417.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "a.res", DEST$+"\a.tbc", cmoOverwrite
  418.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "b.res", DEST$+"\b.tbc", cmoOverwrite
  419.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "c.res", DEST$+"\c.tbc", cmoOverwrite
  420.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "d.res", DEST$+"\d.tbc", cmoOverwrite
  421.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "e.res", DEST$+"\e.tbc", cmoOverwrite
  422.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "f.res", DEST$+"\f.tbc", cmoOverwrite
  423.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "g.res", DEST$+"\g.tbc", cmoOverwrite
  424.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "h.res", DEST$+"\h.tbc", cmoOverwrite
  425.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "dictio.res", DEST$+"\dictio.tbc", cmoOverwrite
  426.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "credits.res", DEST$+"\credits.tbc", cmoOverwrite
  427.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "edx.sbk", DEST$+"\edx.tbc", cmoOverwrite
  428.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "index.res", DEST$+"\index.tbc", cmoOverwrite
  429.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "menu.res", DEST$+"\menu.tbc", cmoOverwrite
  430.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "overview.res", DEST$+"\overview.tbc", cmoOverwrite
  431.         CreateIniKeyValue WinDir$ + "MTB30.INI","Cache files", "sigla.res", DEST$+"\sigla.tbc", cmoOverwrite
  432.  
  433.         CreateIniKeyValue WinDir$ + "WIN.INI","Extensions", "tbk", WinDir$+"asym\runtime\tbload.exe ^.tbk", cmoOverwrite
  434.  
  435.         CreateIniKeyValue WinDir$ + "WIN.INI","Edusexdir", "Edxdir", DEST$, cmoOverwrite
  436.  
  437.         CreateIniKeyValue WinDir$ + "asym.INI", "ToolBook Load Information", "MTB30", WinDir$+"asym\runtime\mtb30run.exe", cmoOverwrite
  438.         If tb15Path$ <> "" then
  439.                 CreateIniKeyValue WinDir$ + "asym.INI", "ToolBook Load Information", "tb15", tb15path$, cmoOverwrite
  440.         END IF
  441.  
  442. ''        IF GetListItem(CHECKSTATES$, 1) = "ON" THEN
  443. ''       '' Optional Entries 1
  444. ''        ELSEIF GetListItem(CHECKSTATES$, 2) = "ON" THEN
  445. ''          '' Optional Entries 2
  446. ''        END IF
  447.  
  448.         IF ADDVFW <> 0 THEN                        
  449.         '' Video for Windows Entries
  450.  
  451.     IF VflatdPresent() = 0 THEN
  452.        CreateSysIniKeyValue WinDir$ + "system.ini", "386Enh", "device", "dva.386", cmoOverwrite
  453.     END IF
  454.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV32", "ir32.dll", cmoOverwrite
  455.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV31", "ir32.dll", cmoOverwrite
  456.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21", "ir21.dll", cmoOverwrite
  457.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.YVU9", "iyvu9.dll", cmoOverwrite
  458.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.CVID", "iccvid.drv", cmoOverwrite
  459.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  460.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MRLE", "MSRLE.drv", cmoOverwrite
  461.     CreateIniKeyValue WinDir$ + "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
  462.     CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  463.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "WaveMapper", "msacm.drv", cmoOverwrite
  464.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.msadpcm", "msadpcm.acm", cmoOverwrite
  465.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.imaadpcm", "imaadpcm.acm", cmoOverwrite
  466.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "ir21.dll", "Intel Indeo(TM) Video R2.1", cmoOverwrite
  467.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msacm.drv", "Microsoft Sound Mapper V2.00", cmoOverwrite
  468.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msadpcm.acm", "Microsoft ADPCM Codec V2.00", cmoOverwrite
  469.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "imaadpcm.acm", "Microsoft IMA ADPCM Codec V2.00", cmoOverwrite
  470.  
  471. END IF
  472. END SUB
  473.  
  474.  
  475. SUB RegisterEntries STATIC
  476.  
  477.         '' Default Registers
  478.  
  479.         IF GetListItem(CHECKSTATES$, 2) = "ON" THEN
  480.         '' Optional Entries 1
  481.         END IF
  482.  
  483.         IF ADDVFW <> 0 THEN                        
  484.         '' Video for Windows Entries
  485.  
  486.                 Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg"))
  487.                 Run ("regedit.exe /s " + MakePath(WinSysDir$, "OLE2.reg"))
  488.                 Run ("regedit.exe /s " + MakePath(WinSysDir$, "cleanup.reg"))
  489.         END IF
  490.     ''run "profdisp.exe"
  491. END SUB
  492.  
  493. SUB SetDriveStatus STATIC
  494.  
  495.     free& = GetFreeSpaceForDrive(MID$(DEST$, 1, 1))
  496.     ReplaceListItem DRIVETEXT$, 1, STR$(free& / 1024) + " K"
  497.  
  498. END SUB
  499.  
  500. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  501.     IF szDir$ = "" THEN
  502.         MakePath = szFile$
  503.     ELSEIF szFile$ = "" THEN
  504.         MakePath = szDir$
  505.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  506.         MakePath = szDir$ + szFile$
  507.     ELSE
  508.         MakePath = szDir$ + "\" + szFile$
  509.     END IF
  510. END FUNCTION
  511.  
  512.