home *** CD-ROM | disk | FTP | other *** search
/ Windows 95 v2.4 Fix / W95-v2.4fix.iso / VMCARR.ESP / DISK1 / VMAP.MST < prev    next >
Encoding:
Text File  |  1994-07-31  |  11.5 KB  |  332 lines

  1. '**************************************************************************
  2. '*                       MSSetup Toolkit Sample 1
  3. '**************************************************************************
  4.  
  5. ''$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. DECLARE FUNCTION max_window LIB "cui.dll" (a%) AS INTEGER 
  11. DECLARE FUNCTION IsIdCorrect LIB "cui.dll" (b$) AS INTEGER
  12.  
  13. ''Dialog ID's
  14. CONST WELCOME       = 100
  15. CONST ASKQUIT       = 200
  16. CONST DESTPATH      = 300
  17. CONST EXITFAILURE   = 400
  18. CONST EXITQUIT      = 600
  19. CONST EXITSUCCESS   = 700
  20. CONST OPTIONS       = 800
  21. CONST APPHELP       = 900
  22. CONST BADPATH       = 6400
  23. CONST CDGETNAMEORG  = 7500
  24. CONST    CDBADNAME   = 7700
  25. CONST BILLBOARD     = 9926
  26.  
  27. ''Bitmap ID
  28. CONST LOGO = 1
  29.  
  30. GLOBAL DEST$        ''Default destination directory.
  31. GLOBAL OPTCUR$      ''Option selection from option dialog.
  32. GLOBAL USER$
  33. GLOBAL PRODUCTID$
  34.  
  35. DECLARE SUB Install
  36. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  37. GLOBAL u%
  38.  
  39. INIT:
  40.     CUIDLL$ = "cui.dll"  ''"mscuistf.dll" ''Custom user interface dll
  41.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  42.     u%=max_window( HwndFrame())    
  43.     
  44.     SetBitmap CUIDLL$, LOGO
  45.     SetTitle "Instalacion de VisualMap"
  46.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  47.     IF szInf$ = "" THEN
  48.         szInf$ = GetSymbolValue("STF_CWDDIR") + "vmap.INF"
  49.     END IF
  50.     ReadInfFile szInf$
  51.  
  52.     OPTCUR$ = "1"
  53.     DEST$ = "C:\VMAP"
  54.  
  55. '$IFDEF DEBUG
  56.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  57.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  58.     IF IsDriveValid(WinDrive$) = 0 THEN
  59.         i% = DoMsgBox("El Disco de Windows ('"+WinDrive$+"') no es vßlido.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  60.         GOTO QUIT
  61.     END IF
  62. '$ENDIF ''DEBUG
  63.  
  64.  
  65. WELCOME:
  66.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  67.     IF sz$ = "CONTINUE" THEN
  68.         UIPop 1
  69.     ELSE
  70.         GOSUB ASKQUIT
  71.         GOTO WELCOME
  72.     END IF
  73.  
  74.  
  75. OPTION:
  76.     SetSymbolValue "RadioDefault", OPTCUR$
  77. OPTL1:
  78.     sz$ = "CONTINUE"
  79.     ''sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  80.     '' Salomon meti≤ mano
  81.     OPTCUR$ = GetSymbolValue("ButtonChecked")
  82.  
  83.     IF sz$ = "CONTINUE" THEN
  84.         UIPop(1)
  85.     ELSEIF sz$ = "REACTIVATE" THEN
  86.         GOTO OPTL1
  87.     ELSE
  88.         GOSUB ASKQUIT
  89.         GOTO OPTION
  90.     END IF
  91.  
  92. GETUSERINFO:
  93.     sz$=UIStartDlg(CUIDLL$,CDGETNAMEORG ,"FNameOrgDlgProc",APPHELP,HELPPROC$)
  94.     USER$=GetSymbolValue("NameOut")
  95.     PRODUCTID$=GetSymbolValue("OrgOut")
  96.     UIPop 1
  97.     if IsIdCorrect(Ltrim$(Rtrim$(PRODUCTID$)))=0 then
  98.     sz$=UIStartDlg(CUIDLL$,CDBADNAME,"FInfo0DlgProc",APPHELP,HELPPROC$)
  99.     UIPop 1
  100.     'if sz$="CANCEL" THEN GOSUB ASKQUIT
  101.         GOTO GETUSERINFO
  102.  
  103.     end if
  104. WINMODE:
  105.     kk%=GetWindowsMode()
  106.     IF kk% <> 2 THEN
  107.       kk%=DoMsgBox("Window no estß en modo 386-Extendido. Arranque Windows con WIN /3 y en el panel de control configure la Memoria Virtual.", "Mensaje de Instalaci≤n", MB_OK+MB_TASKMODAL+MB_ICONEXCLAMATION)
  108.     END IF
  109.  
  110. PREVINTS:
  111.     if 0<> DoesIniKeyExist("WIN.INI","VMAP","VMAP") then
  112.       kk%=DoMsgBox("Parece existir una instalaci≤n anterior de VisualMap. Aseg·rese de que el programa no estß arrancado antes de continuar","Mensaje de Instalaci≤n", MB_OK+MB_TASKMODAL+MB_ICONEXCLAMATION)
  113.       DEST$=GetIniKeyString("WIN.INI","VMAP","VMAP")
  114.  
  115.     END IF
  116. GETPATH:
  117.     
  118.     SetSymbolValue "EditTextIn", DEST$
  119.     SetSymbolValue "EditFocus", "END"
  120. GETPATHL1:
  121.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  122.     DEST$ = GetSymbolValue("EditTextOut")
  123.     'if RIGHT$(DEST$,1)="\" DEST$=LEFT$(DEST$,len(DEST$)-1)
  124.     IF sz$ = "CONTINUE" THEN
  125.         IF IsDirWritable(DEST$) = 0 THEN
  126.             GOSUB BADPATH
  127.             GOTO GETPATHL1
  128.         END IF
  129.         UIPop 1
  130.     ELSEIF sz$ = "REACTIVATE" THEN
  131.         GOTO GETPATHL1
  132.     ELSEIF sz$ = "BACK" THEN
  133.         UIPop 1
  134.         GOTO OPTION
  135.     ELSE
  136.         GOSUB ASKQUIT
  137.         GOTO GETPATH
  138.     END IF
  139. kkk&=GetFreeSpaceForDrive(MID$(DEST$, 1, 1))
  140. 'kk%=DoMsgBox(STR$(kkk&),"kk",MB_OK)
  141. IF kkk& < 8500000 THEN
  142.   kk%=DoMsgBox("No hay suficiente espacio en el disco "+MID$(DEST$, 1, 1)+":. Salga y haga sitio antes de volver a instalar.", "Mensaje de Instalaci≤n", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  143.   UIPopAll
  144.   ERROR STFQUIT
  145. END IF
  146.     Install
  147.  
  148.  
  149. QUIT:
  150.     ON ERROR GOTO ERRQUIT
  151.  
  152.     IF ERR = 0 THEN
  153.         dlg% = EXITSUCCESS
  154.     ELSEIF ERR = STFQUIT THEN
  155.         dlg% = EXITQUIT
  156.     ELSE
  157.         dlg% = EXITFAILURE
  158.     END IF
  159. QUITL1:
  160.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  161.     IF sz$ = "REACTIVATE" THEN
  162.         GOTO QUITL1
  163.     END IF
  164.     UIPop 1
  165.  
  166.     END
  167.  
  168. ERRQUIT:
  169.     i% = DoMsgBox("Los discos de Instalaci≤n estan mal..., llamar al (91) 372-9920", "Mensaje de Instalaci≤n", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  170.     END
  171.  
  172.  
  173.  
  174. BADPATH:
  175.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  176.     IF sz$ = "REACTIVATE" THEN
  177.         GOTO BADPATH
  178.     END IF
  179.     UIPop 1
  180.     RETURN
  181.  
  182.  
  183.  
  184. ASKQUIT:
  185.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  186.  
  187.     IF sz$ = "EXIT" THEN
  188.         UIPopAll
  189.     ERROR STFQUIT
  190.     ELSEIF sz$ = "REACTIVATE" THEN
  191.         GOTO ASKQUIT
  192.     ELSE
  193.         UIPop 1
  194.     END IF
  195.     RETURN
  196.  
  197.  
  198.  
  199. '**
  200. '** Purpose:
  201. '**     Builds the copy list and performs all installation operations.
  202. '** Arguments:
  203. '**     none.
  204. '** Returns:
  205. '**     none.
  206. '*************************************************************************
  207. '' Nombre de archivo grafico de arranque
  208. CONST ARCHOWG$ = "espa\data\vmap.OWG"   '' Cambiar en el futuro
  209.  
  210. SUB Install STATIC
  211.  
  212.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  213.     CreateDir DEST$, cmoNone
  214.  
  215.     CreateDir MakePath(DEST$,"espa") ,cmoNone
  216.     CreateDir MakePath(DEST$,"espa\prof"),cmoNone
  217.     CreateDir MakePath(DEST$,"espa\bmp"),cmoNone
  218.  
  219.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  220.     WriteToLogFile ""
  221.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  222.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  223.     WriteToLogFile ""
  224.     WriteToLogFile "May have had to create the directory: " + DEST$
  225.     WriteToLogFile ""
  226.  
  227.     SysDir$=GetWindowsSysDir()
  228.  
  229.     ''uno%=SetDecompMode(1)
  230.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  231.     AddSectionFilesToCopyList "data", SrcDir$, DEST$+"\espa\data\"
  232.     AddSectionFilesToCopyList "bmp", SrcDir$, DEST$+"\espa\bmp\"
  233.     AddSectionFilesToCopyList "system", SrcDir$, SysDir$
  234.     'AddToBillBoardList "cui.dll", BILLBOARD, "FModelessBmDlgProc", 10
  235.     'AddToBillBoardList "cui.dll", BILLBOARD, "FModelessBmDlgProc", 10
  236.     'AddToBillBoardList "cui.dll", BILLBOARD, "FModelessBmDlgProc", 10
  237.     SetCopyGaugePosition 2, 90
  238.     CopyFilesInCopyList
  239.  
  240.     ini$ = MakePath(DEST$, "vmap.INI")
  241.     cityini$=MakePath(DEST$,"espa\prof\vmap.ini" )
  242.     CreateIniKeyValue "WIN.INI", "VMAP", "VMAP", DEST$, cmoOverwrite   '' salomon
  243.  
  244.     CreateIniKeyValue ini$, "Status", "Zoom", "3" , cmoOverwrite
  245.     CreateIniKeyValue cityini$, "Status", "Zoom", "3" , cmoOverwrite
  246. ' Centrado del Mapa 
  247.     CreateIniKeyValue ini$, "Status", "GsbV", "-882" , cmoOverwrite
  248.     CreateIniKeyValue cityini$, "Status", "GsbV", "-882" , cmoOverwrite
  249.     CreateIniKeyValue ini$, "Status", "GsbH", "3883" , cmoOverwrite
  250.     CreateIniKeyValue cityini$, "Status", "GsbH", "3883" , cmoOverwrite
  251.     CreateIniKeyValue ini$, "Status", "Maximized", "1" , cmoOverwrite
  252.     CreateIniKeyValue cityini$, "Status", "Maximized", "1" , cmoOverwrite
  253.     CreateIniKeyValue ini$, "Status", "text", "1" , cmoOverwrite
  254.     CreateIniKeyValue cityini$, "Status", "text", "1" , cmoOverwrite
  255.     CreateIniKeyValue ini$, "Status", "color", "1" , cmoOverwrite
  256.     CreateIniKeyValue cityini$, "Status", "color", "1" , cmoOverwrite
  257.     CreateIniKeyValue ini$, "ID","User",USER$,cmoOverwrite
  258.     CreateIniKeyValue ini$, "ID","Id",PRODUCTID$,cmoOverwrite 
  259.     CreateIniKeyValue ini$,"Ciudades","Espa±a","espa",cmoOverwrite
  260. CreateIniKeyValue cityini$, "Status", "nFiles", "4" , cmoOverwrite
  261.     CreateIniKeyValue cityini$, "Show", "9", "" , cmoNone  '' hot
  262.     CreateIniKeyValue cityini$, "Show", "13", "" , cmoNone  
  263.     CreateIniKeyValue cityini$, "Show", "10", "" , cmoNone  '' par
  264.     CreateIniKeyValue cityini$, "Show", "12", "" , cmoNone  
  265.     CreateIniKeyValue cityini$, "Show", "11", "" , cmoNone  '' resta
  266.     CreateIniKeyValue cityini$, "Show", "17", "" , cmoNone
  267.     CreateIniKeyValue cityini$, "Show", "92", "" , cmoNone  '' parques
  268.     CreateIniKeyValue cityini$, "Show", "96", "" , cmoNone  '' playazul
  269.     CreateIniKeyValue cityini$, "Show", "62", "" , cmoNone  '' gas
  270.     CreateIniKeyValue cityini$, "Show", "75", "" , cmoNone  '' puertos
  271.     CreateIniKeyValue cityini$, "Show", "41", "" , cmoNone  '' hidro
  272.     CreateIniKeyValue cityini$, "Show", "54", "" , cmoNone  '' pueblos
  273.     CreateIniKeyValue cityini$, "Show", "55", "" , cmoNone
  274.     CreateIniKeyValue cityini$, "Show", "56", "" , cmoNone
  275.     CreateIniKeyValue cityini$, "Show", "57", "" , cmoNone
  276.     CreateIniKeyValue cityini$, "Show", "100", "" , cmoNone  '' carreteras
  277.     CreateIniKeyValue cityini$, "Show", "110", "" , cmoNone
  278.     CreateIniKeyValue cityini$, "Show", "120", "" , cmoNone
  279.     CreateIniKeyValue cityini$, "Show", "130", "" , cmoNone
  280.     CreateIniKeyValue cityini$, "Show", "140", "" , cmoNone
  281.     CreateIniKeyValue cityini$, "Show", "150", "" , cmoNone
  282.     CreateIniKeyValue cityini$, "Show", "160", "" , cmoNone
  283.  
  284. 'ODBC Setup .......................
  285.  
  286.     winDir$=GetWindowsDir()
  287.     odbcIni$=MakePath(winDir$,"odbc.ini")
  288.     CreateIniKeyValue odbcIni$, "ODBC Data Sources", "espa", "WATCOM SQL" , cmoOverwrite
  289.     CreateIniKeyValue odbcIni$, "espa", "Driver", MakePath(DEST$,"wsqlodbc.dll") , cmoOverwrite
  290.     CreateIniKeyValue odbcIni$, "espa", "UID", "DBA" , cmoOverwrite
  291.     CreateIniKeyValue odbcIni$, "espa", "PWD", "SQL" , cmoOverwrite
  292.     CreateIniKeyValue odbcIni$, "espa", "Description", "Espa±a" , cmoOverwrite
  293.     CreateIniKeyValue odbcIni$, "espa", "Database", MakePath(DEST$,"espa\data\vmap.db") , cmoOverwrite
  294.     CreateIniKeyValue odbcIni$, "espa", "Start", MakePath(DEST$,"rtstartw.exe -b -c150k %d") , cmoOverwrite 
  295.     progma$=MakePath(DEST$, "vmap.exe -cespa")
  296.     CreateProgmanGroup "VisualMap", "", cmoNone
  297.     'ShowProgmanGroup  "VisualMap", 1, cmoNone
  298.     CreateProgmanItem "VisualMap", "VM Espa±a", progma$, "", cmoOverwrite
  299.     progma$=MakePath(DEST$, "vmap.exe -cbarna")
  300.     CreateProgmanItem "VisualMap", "VM Barcelona", progma$, "", cmoOverwrite
  301.     progma$=MakePath(DEST$, "vmap.exe -cmadrid")
  302.     CreateProgmanItem "VisualMap", "VM Madrid", progma$, "", cmoOverwrite
  303.     CreateProgmanItem "VisualMap","Leeme","write.exe "+MakePath(DEST$, "leeme.wri"),"",cmoOverwrite
  304.  
  305. CloseLogFile
  306. END SUB
  307.  
  308.  
  309.  
  310. '**
  311. '** Purpose:
  312. '**     Appends a file name to the end of a directory path,
  313. '**     inserting a backslash character as needed.
  314. '** Arguments:
  315. '**     szDir$  - full directory path (with optional ending "\")
  316. '**     szFile$ - filename to append to directory
  317. '** Returns:
  318. '**     Resulting fully qualified path name.
  319. '*************************************************************************
  320. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  321.     IF szDir$ = "" THEN
  322.         MakePath = szFile$
  323.     ELSEIF szFile$ = "" THEN
  324.         MakePath = szDir$
  325.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  326.         MakePath = szDir$ + szFile$
  327.     ELSE
  328.     MakePath = szDir$ + "\" + szFile$
  329.     END IF
  330. END FUNCTION
  331.  
  332.