home *** CD-ROM | disk | FTP | other *** search
/ Un Siglo de Tango! / tango.iso / stp / tangoins.mst < prev   
Text File  |  1995-09-30  |  25KB  |  703 lines

  1. ' ===================================================================
  2. ' Sierra 3
  3. ' ARCHIVO:    TANGOINS.MST
  4. ' PROYECTO:   INSTALAR (Un siglo de Tango!)   VERSION: 0.0
  5. ' CULPABLE:   Sergio D. Llorens               FECHA: 26/7/95
  6. '                                             ULTIMA MODIFICACION: 2/8/95
  7. ' DESCRIPCION: Script (mstest) para instalacion de Un siglo de Tango!
  8. ' ===================================================================
  9. '$INCLUDE 'setupapi.inc'
  10. '$INCLUDE 'msdetect.inc'
  11.  
  12. ' Dialog ID's - Definidos en dialogs.h
  13. CONST WELCOME_SCREEN              = 100
  14. CONST WELCOME_HELP                = 101
  15. CONST GENERIC_HELP                = 102
  16. CONST FIX_VGA_DRIVER              = 150
  17. CONST FIX_VGA_HELP                = 151
  18. CONST SYSERROR_DOS_WIN            = 200
  19. CONST SYSERROR_VGA                = 301
  20. CONST SYSERROR_VIEWER             = 400
  21. CONST SYSWAIT_MPC                 = 500
  22. CONST SYSCHECK_MPC                = 501
  23. CONST SYSDISPLAY_MPC              = 502
  24. CONST DELETE_OLD_CINEMANIA92      = 600
  25. CONST PROGRAM_GROUP               = 700
  26. CONST PROGRAM_GROUP_BOXLIST       = 701
  27. CONST ASK_HOTSPOT                 = 800
  28. CONST FILLING_CARD                = 1000
  29. CONST INSTALL_FONTS               = 1100
  30. CONST INSTALL_DIR                 = 1200
  31. CONST INSTALL_DIR_HELP            = 1201
  32. CONST SYSERROR_DISKFULL           = 1203
  33. CONST TOOBIG                      = 3000
  34. CONST SYSERROR_BADPATH            = 4000
  35. CONST SETUPQUIT_CONFIRM           = 10000
  36. CONST SETUPQUIT_FAILURE           = 10001
  37. CONST SETUPQUIT_OVERVIEW          = 10002
  38. CONST SETUPQUIT_QUIT              = 10003
  39. CONST RESTART_WINDOWS             = 10020
  40.  
  41. ' Bitmaps IDs - Definidos en dialogs.rc
  42. CONST WELCOME_BMP      = 1
  43.  
  44. ' De WINDOWS.H
  45. CONST WS_VISIBLE       = &H10000000
  46. CONST WS_BORDER        = &H00800000
  47. CONST WS_CLIPCHILDREN  = &H02000000
  48. CONST GWL_STYLE        = -16
  49. CONST SW_SHOWMAXIMIZED = 3
  50.  
  51. ' Definiciones globales
  52. GLOBAL DEST$        'directorio final de Un siglo de Tango!
  53. GLOBAL S3SYSDIR$    'directorio final de librerias de Sierra 3 Multimedia
  54. GLOBAL CUIDLL$      'CUI dll
  55. GLOBAL PROGGRP$     'default program group
  56. GLOBAL CREATEICON%  'creacion de iconos en program group
  57. GLOBAL VIEWERDIR$   'directorio de Viewer
  58. GLOBAL SRCDIR$      'directorio raiz de instalar
  59. GLOBAL WININI$      'path completo de WIN.INI
  60. GLOBAL SYSINI$      'path completo de SYSTEM.INI
  61. GLOBAL ShouldRestart% 'indica si se debe re-arrancar Windows luego de instalar
  62. GLOBAL ReducedInst% ' indica instalacion reducida
  63. GLOBAL VGADRV%      'indica si VGAPAL driver esta instalado
  64. GLOBAL Misc%
  65.  
  66. ' Prototipos de SUBs
  67. DECLARE SUB Install
  68. DECLARE SUB Init3dCtrls
  69.  
  70. ' Prototipos de funciones
  71. DECLARE FUNCTION GetModuleHandle LIB "kernel" (a$) AS INTEGER
  72. DECLARE FUNCTION WinExec LIB "kernel" (a$, b%) AS INTEGER
  73. DECLARE FUNCTION GetActiveWindow LIB "user" AS INTEGER
  74. DECLARE FUNCTION ShowWindow LIB "user" (a%, b%) AS INTEGER
  75. DECLARE FUNCTION MessageBox  lib "user" (hwnd%, lpstr$, lpstr$, uint%) as integer
  76. DECLARE FUNCTION SetWindowLong LIB "user" (hWnd%, offset%, style&) AS LONG
  77.  
  78. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  79. DECLARE FUNCTION GetFilename (szPath$) AS STRING
  80. DECLARE FUNCTION UpdateSize (szSection$, szKey$, szDestDir$) AS LONG
  81. DECLARE FUNCTION WillCopy (szSection$, szKey$, szDestDir$) AS INTEGER
  82. DECLARE FUNCTION CmpVersion (VerOld$, VerNew$) AS INTEGER
  83. DECLARE FUNCTION IsDateLater (DateOld$, DateNew$) AS INTEGER
  84.  
  85. GOTO INIT
  86.  
  87. '$INCLUDE 'stcheck.inc'
  88.  
  89. '----------------------------------------------------------------------------
  90. ' Inicializacion
  91. '----------------------------------------------------------------------------
  92. INIT:
  93.  
  94.      hWnd%=HwndFrame()
  95.      ij&=SetWindowLong(hWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  96.      j%=ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
  97.  
  98.      SRCDIR$ = GetSymbolValue("STF_SRCDIR")
  99.      WININI$ = MakePath(GetWindowsDir(), "WIN.INI")
  100.      SYSINI$ = MakePath(GetWindowsDir(), "SYSTEM.INI")
  101.  
  102. '    Init3dCtrls
  103.  
  104.      CUIDLL$ = "mscuistf.dll"    'CUI dll
  105.      ShouldRestart% = 0          'se vuelve TRUE si se instalan DRVs
  106.  
  107.      SetBitmap CUIDLL$, WELCOME_BMP
  108.      SetTitle "Instalaci≤n de Un siglo de Tango!"
  109.  
  110.      ' Busca path a TANGOINST.INF
  111.      szInf$ = GetSymbolValue("STF_SRCINFPATH")
  112.      IF szInf$ = "" THEN
  113.           szInf$ = GetSymbolValue("STF_CWDDIR") + "TANGOINS.INF"
  114.      END IF
  115.  
  116.      ReadInfFile szInf$
  117.  
  118.      ERR = 0
  119.  
  120. '--------------------------------------------------------------------------
  121. ' Verifica el sistema
  122. '--------------------------------------------------------------------------
  123.      GoSub SYSCHECK
  124.  
  125. '--------------------------------------------------------------------------
  126. ' Inicializacion de pantalla de bienvenida
  127. '--------------------------------------------------------------------------
  128. WELCOME:
  129.      ' Muestra dialogo WELCOME con WELCOME_HELP como ayuda actual
  130.      sz$ = UIStartDlg(CUIDLL$, WELCOME_SCREEN, "FWelcomeDlgProc", WELCOME_HELP, "FHelpDlgProc")
  131.      IF sz$ = "REACTIVATE" THEN
  132.           GOTO WELCOME
  133.      ELSEIF sz$ = "CONTINUE" THEN
  134.           UIPop 1
  135.      ELSE
  136.           GOSUB DIAG_QUIT    ' se oprimio "Salir"
  137.           GOTO WELCOME       ' no se quiere salir, continua instalacion
  138.      END IF
  139.  
  140. '--------------------------------------------------------------------------
  141. ' Chequea performance
  142. '--------------------------------------------------------------------------
  143. '     GoSub SYSCHECK         ' controlar FCancel!
  144.  
  145. '--------------------------------------------------------------------------
  146. ' Se asegura que Viewer no este en ejecucion
  147. '--------------------------------------------------------------------------
  148. ISVIEWERRUNNING:
  149.      MVrunning% = GetModuleHandle("MVIEWER2")
  150.  
  151.      IF (MVrunning% <> 0) THEN
  152.           VIEWERISRUNNING:
  153.           ShouldRestart% = 1
  154.      END IF
  155.  
  156. '--------------------------------------------------------------------------
  157. ' VGAPAL.DRV esta instalado?
  158. '--------------------------------------------------------------------------
  159.      VGADRV% = 0
  160.           IF UCase$(GetIniKeyString (SYSINI$, "Boot", "Display.Drv")) = "VGAPAL.DRV" THEN
  161.           VGADRV% = 1    ' cambiar a VGA
  162.      END IF
  163.  
  164. '--------------------------------------------------------------------------
  165. ' Pregunta al usuario el directorio donde instalar Un siglo de Tango!
  166. '--------------------------------------------------------------------------
  167. ASKDIRECTORY:
  168.      DEST$ = "C:\S3TANGO"          'default directorio destino
  169.      SetSymbolValue "EditTextIn", DEST$
  170.      SetSymbolValue "EditFocus", "ALL"
  171.      ' Instalacion normal por default
  172.      ReducedInst% = 0
  173.      SetSymbolValue "InstType", "NORMAL"
  174.  
  175. GETDIRECTORY:
  176.      ' Obtiene directorio donde instalar
  177.      sz$ = UIStartDlg(CUIDLL$, INSTALL_DIR, "FInstallDirDlgProc", INSTALL_DIR_HELP, "FHelpDlgProc")
  178.      IF sz$ = "REACTIVATE" THEN
  179.           GOTO GETDIRECTORY
  180.      ELSEIF sz$ = "EXIT" THEN
  181.           GOSUB DIAG_QUIT
  182.           GOTO GETDIRECTORY
  183.      END IF
  184.  
  185.      DEST$ = GetSymbolValue("EditTextOut")
  186.  
  187.      szInstType$ = GetSymbolValue("InstType")
  188.      IF (szInstType$ = "NORMAL") THEN
  189.           ReducedInst% = 0
  190.      ELSE
  191.           ReducedInst% = 1
  192.      ENDIF
  193.  
  194.      IF IsDirWritable(DEST$) = 0 THEN
  195.           GOSUB BADPATH
  196.           GOTO GETDIRECTORY
  197.      END IF
  198.  
  199.      UIPop 1
  200.  
  201. '--------------------------------------------------------------------------
  202. ' Pregunta por el Program Group donde colocar a Un siglo de Tango!
  203. '--------------------------------------------------------------------------
  204. ' Chequea si el usuario esta usando Program Manager como Shell
  205.  
  206.      PROGGRP$ = ""
  207.      sz$ = GetIniKeyString(SYSINI$, "boot", "shell")
  208.      IF sz$ <> "progman.exe" THEN
  209.           CREATEICON% = 1
  210.      END IF
  211.  
  212. ASKPROGMAN:
  213. '     ' Obtiene el nombre del Program Group donde instalar Un siglo de Tango!
  214. '     sz$ = UIStartDlg(CUIDLL$, PROGRAM_GROUP, "FPrgGroupDlgProc", GENERIC_HELP, "FHelpDlgProc")
  215. '     IF sz$ = "REACTIVATE" THEN
  216. '          GOTO ASKPROGMAN
  217. '     ELSEIF sz$ = "EXIT" THEN
  218. '          GOSUB DIAG_QUIT
  219. '          GOTO  ASKPROGMAN
  220. '     ELSEIF sz$ = "BACK" THEN
  221. '          UIPop 1
  222. '          GOTO GETDIRECTORY
  223. '     END IF                   ' puede llegar a ser un nombre valido
  224. '
  225. '     UIPop 1
  226. '
  227. '     STRIP_PAREN:
  228. '     N = INSTR(1, sz$, """")  ' Busca "
  229. '     IF N > 0 THEN
  230. '        sz$ = MID$(sz$,1,N-1) + MID$(sz$,N+1,100)
  231. '        GOTO STRIP_PAREN
  232. '