home *** CD-ROM | disk | FTP | other *** search
/ Tiburones / SHARK.iso / setup / setup.mst < prev    next >
Text File  |  1996-06-05  |  10KB  |  321 lines

  1. '**************************************************************************
  2. '*                       Overlord Setup
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc' 
  8. '$INCLUDE 'mscpydis.inc'    ''System
  9. '$INCLUDE 'msdetect.inc'    ''Detects Avalilable Disk Space
  10.  
  11.  
  12. ''Dialog ID's
  13. CONST WELCOME       = 100
  14. CONST ASKQUIT       = 200
  15. CONST DESTPATH      = 300
  16. CONST EXITFAILURE   = 400
  17. CONST EXITQUIT      = 600
  18. CONST EXITSUCCESS   = 700
  19. CONST OPTIONS       = 800
  20. CONST APPHELP       = 900
  21. CONST BADPATH       = 6400
  22.  
  23. ''Bitmap ID
  24. CONST LOGO = 1
  25.  
  26. GLOBAL DEST$        ''Default destination directory.
  27. GLOBAL OPTCUR$      ''Option selection from option dialog.
  28. GLOBAL WinDir$          ''Windows directory - to place ini file
  29. GLOBAL WinSysDir$                          
  30. GLOBAL SrcDir$                            
  31. GLOBAL SetupDir$
  32.                    
  33. DECLARE SUB Install
  34. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  35. DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER
  36. DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER
  37. DECLARE SUB Reboot LIB "iniupd.dll"
  38. DECLARE FUNCTION ExitWindowsExec  LIB "User" (Exec$, Param$) AS INTEGER
  39.  
  40.  
  41. INIT:
  42.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  43.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  44.     WinDir$ = GetWindowsDir                             ''Windows directory path
  45.     WinSysDir$ = GetWindowsSysDir       ''Windows system directory       
  46.     SrcDir$ = GetSymbolValue("STF_SRCDIR")            
  47.     SetupDir$ = MakePath(SrcDir$, "Setup")      ''Setup directory
  48.     OPTCUR$ = "ON"
  49.     
  50.     WIN32ENABLED% = 0
  51.     MajorVer% = GetWindowsMajorVersion()
  52.     MinorVer% = GetWindowsMinorVersion()
  53.  
  54.     IF MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  55.     i% = DoMsgBox("Se requiere la versi≤n Microsoft Windows 3.10 o mayor para este programa.  Actualize su versi≤n de Windows.", "Problema de Instalaci≤n", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  56.     END
  57.     END IF
  58.  
  59.  
  60.     IF OnWindowsNT() THEN
  61.       i% = DoMsgBox("Esta versi≤n de Video for Windows no es ejecutable en Windows NT.", "Problema de Instalaci≤n", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  62.  
  63.       END
  64.     END IF
  65.  
  66.     SetBitmap CUIDLL$, LOGO
  67.     SetTitle "íTiburones!: Una aventura interactiva"
  68.  
  69.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  70.     IF szInf$ = "" THEN
  71.     szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  72.     END IF
  73.     ReadInfFile szInf$
  74.       
  75.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)  
  76.     DEST$ = "C:\DISCOVER\TIBURONE"
  77.     
  78.  
  79. WELCOME:
  80.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  81.     IF sz$ = "CONTINUE" THEN
  82.     UIPop 1
  83.     ELSE
  84.     GOSUB ASKQUIT
  85.     GOTO WELCOME
  86.     END IF
  87.  
  88.  
  89.     CreateIniKeyValue Windir$ + "DISCOVER.INI","Discovery Multimedia","TIBURONES",DEST$ ,cmoOverwrite
  90.  
  91. OPTION:                       
  92.    
  93.     SetSymbolValue "CheckItemsState", OPTCUR$
  94.     
  95. OPTL1:     
  96.     
  97.     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FCustInstDlgProc", APPHELP, HELPPROC$)
  98.         
  99.     IF sz$ = "CONTINUE" THEN 
  100.     OPTCUR$ = GetSymbolValue("CheckItemsState")  
  101.     UIPop(1)      
  102.     ELSEIF sz$ = "CHK1" THEN
  103.     GOTO OPTL1
  104.     ELSEIF sz$ = "REACTIVATE" THEN
  105.     GOTO OPTL1
  106.     ELSE
  107.     GOSUB ASKQUIT
  108.     GOTO OPTION
  109.     END IF
  110.  
  111. GETPATH:
  112.     SetSymbolValue "EditTextIn", DEST$
  113.     SetSymbolValue "EditFocus", "END"
  114.     
  115. GETPATHL1:
  116.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  117.     DEST$ = GetSymbolValue("EditTextOut")
  118.  
  119.     IF sz$ = "CONTINUE" THEN
  120.     IF IsDirWritable(DEST$) = 0 THEN
  121.         GOSUB BADPATH
  122.         GOTO GETPATHL1
  123.     END IF
  124.     UIPop 1
  125.     ELSEIF sz$ = "REACTIVATE" THEN
  126.     GOTO GETPATHL1
  127.     ELSEIF sz$ = "BACK" THEN
  128.     UIPop 1
  129.     GOTO OPTION
  130.     ELSE
  131.     GOSUB ASKQUIT
  132.     GOTO GETPATH
  133.     END IF
  134.     
  135.                   
  136. '**    ClearCopyList                 
  137.     CreateDir DEST$, cmoNone
  138.       
  139.     IF MID$(OPTCUR$, 3, 2) <> "ON" THEN
  140.     GOTO SKIPVFW
  141.     END IF      
  142.      
  143. ''  Runtime files (on Windows disk)
  144.  
  145.     AddSectionFilesToCopyList "VfW Runtime", SetupDir$, WinSysDir$
  146.     AddSectionFilesToCopyList "OLE2", SetupDir$, WinSysDir$
  147.     AddSectionFilesToCopyList "ACM Drivers", SetupDir$, WinSysDir$
  148.     AddSectionFilesToCopyList "MPlayer", SetupDir$, WinDir$
  149.     AddSectionFilesToCopyList "AVICodecs", SetupDir$, WinSysDir$
  150.  
  151. SKIPVFW:
  152.  
  153. ''  Add Sharks! files to copy list
  154.     AddSectionFilesToCopyList "Files", SetupDir$, DEST$  
  155.       
  156. ''  Check windrive diskspace
  157.     SizeReq& = GetCopyListCost ("","", "")
  158.     IF SizeReq& <> 0 THEN        
  159.     i% = DoMsgBox("Insuficiente espacio en el disco duro!", "Problema de Instalaci≤n", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  160.     END
  161.     END IF                                             
  162.     
  163.                   
  164.     ' Install Sharks! and VFW runtime
  165.     Install
  166.                     
  167.  
  168.  
  169. QUIT:
  170.     ON ERROR GOTO ERRQUIT
  171.  
  172.     IF ERR = 0 THEN
  173.     dlg% = EXITSUCCESS
  174.     ELSEIF ERR = STFQUIT THEN
  175.     dlg% = EXITQUIT
  176.     ELSE
  177.     dlg% = EXITFAILURE
  178.     END IF
  179.     
  180. QUITL1:
  181.     IF dlg% = EXITSUCCESS THEN         
  182.  
  183.       IF MID$(OPTCUR$, 3, 2) = "ON" THEN   
  184.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  185.     IF sz$ = "CONTINUE" THEN
  186.         '' Restart Windows    
  187.         Exe$ = WinDir$ + "\_msrstrt.exe"   
  188.         empty$ =  ""
  189.         I% = ExitWindowsExec(Exe$, empty$)        
  190.         END
  191.     END IF              
  192.       ELSE  
  193.     END
  194.       END IF
  195.     ELSE    
  196.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  197.     IF sz$ = "REACTIVATE" THEN                             
  198.         GOTO QUITL1
  199.     END IF        
  200.     END IF      
  201.     UIPop 1
  202.     END
  203.  
  204. ERRQUIT:
  205.     i% = DoMsgBox("Fuente de instalaci≤n corrupta, contacte los servicios de soporte de Discovery.", "Mensaje de instalaci≤n", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  206.  
  207.     END
  208.  
  209.  
  210.  
  211. BADPATH:
  212.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  213.     IF sz$ = "REACTIVATE" THEN
  214.     GOTO BADPATH
  215.     END IF
  216.     UIPop 1
  217.     RETURN
  218.  
  219.  
  220.  
  221. ASKQUIT:
  222.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  223.  
  224.     IF sz$ = "EXIT" THEN
  225.     UIPopAll
  226.     ERROR STFQUIT
  227.     ELSEIF sz$ = "REACTIVATE" THEN
  228.     GOTO ASKQUIT
  229.     ELSE
  230.     UIPop 1
  231.     END IF
  232.     RETURN
  233.  
  234.  
  235.  
  236. '**
  237. '** Purpose:
  238. '**     Builds the copy list and performs all installation operations.
  239. '** Arguments:
  240. '**     none.
  241. '** Returns:
  242. '**     none.
  243. '*************************************************************************
  244. SUB Install STATIC
  245.              
  246.     
  247.     SetRestartDir WinDir$
  248.     CopyFilesInCopyList
  249.   
  250.     '' Setup the .ini files and program items
  251.     ini$ = MakePath(Dest$, "SHARKS.INI")
  252.     
  253.     CreateProgmanGroup "Discovery Multimedia", "", cmoNone
  254.     ShowProgmanGroup   "Discovery Multimedia", 1, cmoNone
  255.     CreateProgmanItem  "Discovery Multimedia","TIBURONES", MakePath(DEST$,"shark.exe"), MakePath(DEST$,"shark.exe"), cmoOverwrite
  256.     CreateProgmanItem  "Discovery Multimedia", "LΘame: íTiburones!", "NOTEPAD.EXE " + MakePath(DEST$, "readme.txt"), "NOTEPAD.EXE", cmoOverwrite
  257.     
  258.     
  259.     '' Skip VFW related actions 
  260.     IF MID$(OPTCUR$, 3, 2) <> "ON" THEN
  261.         GOTO SKIPVFWINI
  262.     END IF              
  263.     
  264.     ''VFW -- Updating WIN.INI and SYSTEM.INI 
  265.     ''  IF VflatdPresent() = 0 THEN
  266.     ''   CreateSysIniKeyValue WinDir$ + "system.ini", "386Enh", "device", "dva.386", cmoOverwrite
  267.     ''END IF
  268.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV32", "ir32.dll", cmoOverwrite
  269.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV31", "ir32.dll", cmoOverwrite
  270.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21", "ir21.dll", cmoOverwrite
  271.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.YVU9", "iyvu9.dll", cmoOverwrite
  272.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.CVID", "iccvid.drv", cmoOverwrite
  273.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  274.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MRLE", "MSRLE.drv", cmoOverwrite
  275.     CreateIniKeyValue WinDir$ + "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
  276.     CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  277.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "WaveMapper", "msacm.drv", cmoOverwrite
  278.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.msadpcm", "msadpcm.acm", cmoOverwrite
  279.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.imaadpcm", "imaadpcm.acm", cmoOverwrite
  280.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msacm.drv", "Microsoft Sound Mapper V2.00", cmoOverwrite
  281.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msadpcm.acm", "Microsoft ADPCM Codec V2.00", cmoOverwrite
  282.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "imaadpcm.acm", "Microsoft IMA ADPCM Codec V2.00", cmoOverwrite
  283.     Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg"))
  284.     Run ("regedit.exe /s " + MakePath(WinSysDir$, "OLE2.reg"))
  285.     Run ("regedit.exe /s " + MakePath(WinSysDir$, "cleanup.reg"))
  286.  
  287.     '' Mplayer
  288.     CreateProgmanItem "Accessories", "Media Player", MakePath(WinDir$, "mplayer.exe"), "", cmoOverwrite
  289.     
  290.     Run ("profdisp.exe")   
  291.     
  292. SKIPVFWINI:    
  293.     
  294.  
  295. END SUB
  296.  
  297.  
  298.  
  299. '**
  300. '** Purpose:
  301. '**     Appends a file name to the end of a directory path,
  302. '**     inserting a backslash character as needed.
  303. '** Arguments:
  304. '**     szDir$  - full directory path (with optional ending "\")
  305. '**     szFile$ - filename to append to directory
  306. '** Returns:
  307. '**     Resulting fully qualified path name.
  308. '*************************************************************************
  309. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  310.     IF szDir$ = "" THEN
  311.     MakePath = szFile$
  312.     ELSEIF szFile$ = "" THEN
  313.     MakePath = szDir$
  314.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  315.     MakePath = szDir$ + szFile$
  316.     ELSE
  317.     MakePath = szDir$ + "\" + szFile$
  318.     END IF
  319. END FUNCTION
  320.  
  321.