home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Today (BR) Volume 2 #6 / CDRTV2N6.iso / config.mst < prev    next >
Text File  |  1995-11-24  |  17KB  |  426 lines

  1. '**************************************************************************
  2. '*                        Instalaτπo
  3. '**************************************************************************
  4. '$INCLUDE 'setupapi.inc'
  5. '$INCLUDE 'mscpydis.inc'    ''System
  6. '$INCLUDE 'msdetect.inc'    ''Detects Avalilable Disk Space
  7.  
  8. ''Dialog ID's
  9. CONST WELCOME       = 100
  10. CONST ASKQUIT       = 200
  11. CONST DESTPATH      = 300
  12. CONST EXITFAILURE   = 400
  13. CONST EXITQUIT      = 600
  14. CONST EXITSUCCESS   = 700
  15. CONST APPHELP       = 900
  16. CONST CHECK         = 2500
  17. CONST SMALLWIN      = 2200
  18. CONST RESTART       = 2600
  19. CONST RESTARTII     = 2700
  20. CONST BADPATH       = 6400
  21.  
  22. ''Bitmap ID
  23. CONST LOGO = 1
  24.  
  25. GLOBAL SizeReq&  '' Total Disk Size required for installation no diret≤rio de instalacao
  26. GLOBAL WinSysReq& '' Requerido no diret≤rio do windows\system
  27.  
  28. ''File Types
  29. GLOBAL appDEST$        ''Default destination directory.
  30. GLOBAL WinDir$
  31. GLOBAL WinSysDir$
  32. GLOBAL WinSys32Dir$
  33. GLOBAL WINDRIVE$    ''Windows Drive Letter.
  34. GLOBAL CHECKSTATES$
  35. GLOBAL MinorVer%
  36. GLOBAL OnNT$
  37. GLOBAL SrcDir$
  38. GLOBAL QuerInstalar%
  39.  
  40. DECLARE SUB Install
  41. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  42. DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER
  43. DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER
  44. DECLARE SUB Reboot LIB "iniupd.dll"
  45.  
  46. DECLARE FUNCTION ExitWindowsExec  LIB "User" (Exec$, Param$) AS INTEGER
  47.  
  48. DECLARE FUNCTION GetDC LIB "User" (hWnd%) As Integer
  49. DECLARE FUNCTION ReleaseDC LIB "User" (hWnd%,hDC%) AS INTEGER
  50. DECLARE FUNCTION GetDeviceCaps LIB "GDI" (hDC%,nIndex%) AS INTEGER
  51.  
  52. INIT:
  53.   
  54.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  55.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  56.     
  57.     WIN32ENABLED% = 0
  58.     MajorVer% = GetWindowsMajorVersion()
  59.     MinorVer% = GetWindowsMinorVersion()
  60.     Processor% = GetProcessorType()
  61.     WinDir$ = GetWindowsDir()
  62.     DEST$ = GetWindowsDir()    
  63.     WinSysDir$ = GetWindowsSysDir()
  64.     WinSys32Dir$ = WinDir$ + "system32"
  65.  
  66.     x% = GetScreenWidth
  67.     y% = GetScreenHeight 
  68.  
  69.     'IF (x% <> 640) OR (y% <> 480) THEN
  70.     '            Lixo$ = "O programa de instalaτπo do Amaral Netto detectou uma         " + Chr$(13) + Chr$(10)
  71.     '    Lixo$ = Lixo$ + "resoluτπo de vφdeo diferente de 640 X 480. Com a resoluτπo    " + Chr$(13) + Chr$(10)
  72.     '    Lixo$ = Lixo$ + "atual o programa Amaral Netto nπo funcionarß corretamente.    " + Chr$(13) + Chr$(10)
  73.     '    Lixo$ = Lixo$ + "Por favor, para executar o programa, ap≤s instalado, altere   " + Chr$(13) + Chr$(10)
  74.     '    Lixo$ = Lixo$ + "a resoluτπo do seu driver de vφdeo para 640 X 480.            " + Chr$(13) + Chr$(13)
  75.     '    Lixo$ = Lixo$ + "A instalaτπo continuarß normalmente.                          " + Chr$(13) + Chr$(10)
  76.     '    Lixo$ = Lixo$ + "Em caso de d·vida, entre em contato com a Z-Movie.            "
  77.     '    i% = DoMsgBox(Lixo$,"Qualidade do Vφdeo", MB_OK+MB_TASKMODAL+MB_ICONHAND)            
  78.     'END IF        
  79.     
  80.     IF MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  81.     i% = DoMsgBox("Para a instalaτπo deste software Θ necessßria uma versπo mais nova do windows. Por favor, atualize o seu software.", "Problema na Instalaτπo", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  82.     'i% = DoMsgBox("You need an upgrade version of your MS Windows to install this software.", "Installation Error", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  83.     END
  84.     END IF
  85.  
  86.     'Prevents installation on 286
  87.     IF Processor% < 3 THEN
  88.     i% = DoMsgBox("A Pororoca precisa de um processador mais atual.", "Problema na instalaτπo.", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  89.     'i% = DoMsgBox("You need a powerfull processor to run this software.","Installation Error.", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  90.     END
  91.     END IF
  92.  
  93.     ' Use Wowexec to determine version of NT.  3.1 did not stamp wowexec and wow returns 3.1 as version
  94.     IF OnWindowsNT() THEN
  95.       OnNT$ = "TRUE"
  96.       WowVersion$ = GetVersionOfFile(WinSys32Dir$ + "\wowexec.exe")
  97.       IF WowVersion$ = "" THEN
  98.          i% = DoMsgBox("O MS Video for Windows nπo executa no windows NT versπo 3.1.", "Problema na instalaτπo", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  99.          'i% = DoMsgBox("You can't run MS Video for Windows in then MS Windows NT 3.1.", "Installation Error", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  100.          END
  101.       END IF
  102.     END IF
  103.  
  104.     SetBitmap CUIDLL$, LOGO
  105.     SetTitle "Oficina de Criaτπo do Daniel Azulay - Instalaτπo"
  106.  
  107.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  108.     IF szInf$ = "" THEN
  109.        szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  110.     END IF
  111.     ReadInfFile szInf$
  112.  
  113.     WINDRIVE$ = MID$(GetWindowsDir, 1, 1)
  114.  
  115. WELCOME:
  116.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  117.     IF sz$ = "CONTINUE" THEN
  118.        UIPop 1
  119.      ELSE
  120.     GOSUB ASKQUIT
  121.     GOTO WELCOME
  122.     END IF
  123.  
  124.      
  125.  
  126.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  127. ''Prepare Copy list and check size
  128.  
  129. '' Se o usußrio resolver copiar os arquivos para o diret≤rio de destino
  130. '   TempString$ = "Deseja copiar os arquivos executaveis para o HD ?" + Chr$(13) + Chr$(10)
  131. '   TempString$ = TempString$ + "Vantagem - Melhor performace." + Chr$(13) + Chr$(10)
  132. '   TempString$ = TempString$ + "Essencial com menos de 16Mb de RAM" + Chr$(13) + Chr$(10)
  133. '   TempString$ = TempString$ + "Espaτo necessßrio - 6Mb"    
  134. '   QuerInstalar% = DoMsgBox(TempString$, "Instalaτπo da Pororoca", 4)
  135.  
  136.    ClearCopyList
  137.  
  138.     'IF QuerInstalar% = 6 THEN
  139.     appDEST$ = "C:\OFICINA"
  140. GETPATH:        
  141.         SetSymbolValue "EditTextIn", appDEST$
  142.         SetSymbolValue "EditFocus", "END"
  143. GETPATHL1:
  144.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  145.     appDEST$ = GetSymbolValue("EditTextOut")
  146.      IF sz$ = "CONTINUE" THEN
  147.          IF IsDirWritable(appDEST$) = 0 THEN
  148.              GOSUB BADPATH
  149.              GOTO GETPATHL1
  150.             END IF
  151.                 UIPop 1
  152.      ELSEIF sz$ = "REACTIVATE" THEN
  153.             GOTO GETPATHL1
  154.     ELSEIF sz$ = "BACK" THEN
  155.             UIPop 1
  156.             GOTO GETPATH
  157.     ELSE
  158.             GOSUB ASKQUIT
  159.                     GOTO GETPATH
  160.         END IF
  161.  
  162.  
  163.  
  164.         CreateDir appDEST$, cmoNone
  165.         
  166.         AddSectionFilesToCopyList "AZULAY", MakePath(SrcDir$,"setup"), appDEST$
  167.         
  168.     'ENDIF
  169.  
  170. ''Aqui Termina o exemplo do setup do windows...
  171.  
  172. ''  Runtime files (on Windows disk)
  173. ''  Do not install OLE or MPlayer if on next release of NT or Windows
  174.  
  175.     IF ((NOT OnNT$ = "TRUE") AND MinorVer% < 50) THEN            'These files not necessary on Windows NT
  176.     AddSectionFilesToCopyList "MPlayer", MakePath(SrcDir$,"setup"), WinDir$
  177.     AddSectionFilesToCopyList "OLE2", MakePath(SrcDir$,"setup"), WinSysDir$
  178.     END IF
  179.     AddSectionFilesToCopyList "WINSYS", MakePath(SrcDir$,"setup"), WinSysDir$
  180.     AddSectionFilesToCopyList "runtime", MakePath(SrcDir$,"setup"), WinSysDir$
  181.     AddSectionFilesToCopyList "VfW Runtime", MakePath(SrcDir$,"setup"), WinSysDir$
  182.     AddSectionFilesToCopyList "ACM Drivers", MakePath(SrcDir$,"setup"), WinSysDir$
  183.     AddSectionFilesToCopyList "AVICodecs", MakePath(SrcDir$,"setup"), WinSysDir$
  184.     IF OnNT$ = "TRUE" THEN
  185.     AddSectionFilesToCopyList "NT MSVideo", MakePath(SrcDir$,"setup"), WinSys32Dir$
  186.     ENDIF
  187. ''*************************************************************************************************************************
  188. ''*************************************************************************************************************************
  189. ''To add a DCI provider, please un-comment the AddSectionFilesToCopyList,
  190. ''and add a "DCI Provider" section with to the SETUP.INF file.
  191. ''
  192. ''    AddSectionFilesToCopyList "DCI Provider", MakePath(SrcDir$,"setup"), WinSysDir$
  193. ''*************************************************************************************************************************
  194. ''*************************************************************************************************************************
  195.  
  196. ''  Check windrive diskspace
  197.     SizeReq& = GetCopyListCost ("","", "")
  198.     IF SizeReq& <> 0 THEN
  199.     GOSUB SMALLWIN
  200.     END
  201.     END IF
  202.  
  203. Install
  204.  
  205. '' Restart Windows: if it has to updates ACM from DOS, it restarts Windows automatically
  206. '' else, it gives the user the choice
  207.     RESTRT% = RestartListEmpty ()
  208.     Exe$ = DEST$ + "\_msrstrt.exe"
  209.     Batch$ = DEST$ + "\_mssetup.bat"
  210.     empty$ = ""
  211. RESTART:
  212.     IF RESTRT% = 0 THEN
  213.        sz$ = UIStartDlg(CUIDLL$, RESTART, "FInfo0DlgProc", 0, "")
  214.        IF sz$ = "REACTIVATE" THEN
  215.       GOTO RESTART
  216.        ENDIF
  217.        I% = ExitExecRestart ()
  218.        RemoveFile Exe$, cmoForce
  219.        RemoveFile Batch$, cmoForce
  220.        END
  221.     ELSE
  222.        sz$ = UIStartDlg(CUIDLL$, RESTARTII, "FQuitDlgProc", 0, "")
  223.        IF sz$ = "CONTINUE" THEN
  224.       I% = ExitWindowsExec (Exe$, empty$)
  225.       IF I% = 0 THEN
  226.          GOTO RESTART
  227.       ELSE
  228.          END
  229.      ENDIF
  230.        ELSEIF sz$ = "EXIT" THEN
  231.       UIPopAll
  232.       END
  233.        ELSEIF sz$ = "REACTIVATE" THEN
  234.       GOTO RESTART
  235.        ELSE
  236.       UIPop 1
  237.        END IF
  238.     END IF
  239.  
  240.  
  241. QUIT:
  242.     ON ERROR GOTO ERRQUIT
  243.  
  244.     IF ERR = 0 THEN
  245.     dlg% = EXITSUCCESS
  246.     ELSEIF ERR = STFQUIT THEN
  247.     dlg% = EXITQUIT
  248.     ELSE
  249.     dlg% = EXITFAILURE
  250.     END IF
  251. QUITL1:
  252.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  253.     IF sz$ = "REACTIVATE" THEN
  254.     GOTO QUITL1
  255.     END IF
  256.     UIPop 1
  257.     END
  258.  
  259. ERRQUIT:
  260.     'i% = DoMsgBox("An installation problem occured, call the product support service", "Setup Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  261.     i% = DoMsgBox("Problema na Instalaτπo. Contate o suporte.", "Erro", MB_OK+MB_TASKMODAL+MB_ICONHAND)    
  262.     END
  263.  
  264.  
  265. ASKQUIT:
  266.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  267.  
  268.     IF sz$ = "EXIT" THEN
  269.     UIPopAll
  270. ''        ERROR STFQUIT
  271.     END
  272.     ELSEIF sz$ = "REACTIVATE" THEN
  273.     GOTO ASKQUIT
  274.     ELSE
  275.     UIPop 1
  276.     END IF
  277.     RETURN
  278.  
  279. BADPATH:
  280.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  281.     IF sz$ = "REACTIVATE" THEN
  282.         GOTO BADPATH
  283.     END IF
  284.     UIPop 1
  285.     RETURN
  286.  
  287.  
  288. SMALLWIN:
  289.     sz$ = UIStartDlg(CUIDLL$, SMALLWIN, "FInfo0DlgProc", 0, "")
  290.     IF sz$ = "REACTIVATE" THEN
  291.     GOTO SMALLWIN
  292.     END IF
  293.     UIPop 1
  294.     RETURN
  295.  
  296. '**
  297. '** Purpose:
  298. '**     Performs all installation operations.
  299. '** Arguments:
  300. '**     none.
  301. '** Returns:
  302. '**     none.
  303. '*************************************************************************
  304. SUB Install STATIC
  305.  
  306.     SetRestartDir WinDir$
  307.     CopyFilesInCopyList
  308.  
  309. ''Updating WIN.INI and SYSTEM.INI
  310. ''Only update SYSTEM.INI  on NT or next version of Windows for other codecs
  311.  
  312. IF ((NOT OnNT$ = "TRUE") AND MinorVer% < 50) THEN
  313.     IF VflatdPresent() = 0 THEN
  314.        CreateSysIniKeyValue WinDir$ + "system.ini", "386Enh", "device", "dva.386", cmoOverwrite
  315.     END IF
  316. END IF
  317.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.CVID", "iccvid.drv", cmoOverwrite
  318.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  319.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV32", "ir32.dll", cmoOverwrite
  320.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV31", "IR32.dll", cmoOverwrite
  321.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MRLE", "MSRLE.drv", cmoOverwrite
  322.     I% = DoesIniKeyExist ("system.ini", "Drivers", "VIDC.RT21")
  323.     IF I% = 0  THEN
  324.        CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21", "ir21_r.dll", cmoOverwrite
  325.     END IF
  326.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.YVU9", "ir21_r.dll", cmoOverwrite
  327.     CreateIniKeyValue WinDir$ + "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
  328.     CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  329.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "WaveMapper", "msacm.drv", cmoOverwrite
  330.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.msadpcm", "msadpcm.acm", cmoOverwrite
  331.     CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "MSACM.imaadpcm", "imaadpcm.acm", cmoOverwrite
  332.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msacm.drv", "Microsoft Sound Mapper V2.00", cmoOverwrite
  333.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "msadpcm.acm", "Microsoft ADPCM Codec V2.00", cmoOverwrite
  334.     CreateIniKeyValue WinDir$ + "control.ini", "drivers.desc", "imaadpcm.acm", "Microsoft IMA ADPCM Codec V2.00", cmoOverwrite
  335.  
  336. ''*************************************************************************************************************************
  337. ''*************************************************************************************************************************
  338. ''To add a DCI provider, please un-comment the UDH line, and un-comment and replace the    <provider> with your own file name
  339. ''
  340. ''  CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "DCI", "<provider>", cmoOverwrite
  341. ''  CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "vids.draw", "udh.dll", cmoOverwrite
  342. ''*************************************************************************************************************************
  343. ''*************************************************************************************************************************
  344.  
  345. ''Do not register components not installed with Video for Windows on NT or next version of Windows.
  346. IF ((NOT OnNT$ = "TRUE") AND MinorVer% < 50) THEN
  347.     ''Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg"))
  348.     Run ("regedit.exe /s " + MakePath(WinSysDir$, "OLE2.reg"))
  349.     Run ("regedit.exe /s " + MakePath(WinSysDir$, "cleanup.reg"))
  350.  
  351. '' Mplayer
  352. '' CreateProgmanItem "Accessories", "Media Player", MakePath(WinDir$, "mplayer.exe"), "", cmoOverwrite
  353.  
  354. END IF    ''NT and next version of Windows installation stop here.
  355.  
  356.     Run ("profdisp.exe") 
  357.  
  358. '' Fim da instalaτπo do video for windows
  359.    
  360. ''Meus arquivos e etc
  361.     CreateProgmanGroup "Oficina de Criaτπo", "", cmoNone
  362.     ShowProgmanGroup  "Oficina de Criaτπo", 1, cmoNone
  363. '    IF QuerInstalar% = 6 THEN
  364.     ini$ = MakePath(appDEST$, "OFICINA.INI")
  365.     CreateIniKeyValue ini$, "INICIO", "LINGUA", "0" , cmoOverwrite
  366.         CreateIniKeyValue ini$, "INICIO", "DRIVE", MakePath(SrcDir$,"") , cmoOverwrite
  367.     CreateIniKeyValue ini$, "INICIO", "APLIC", "\APP\OFICINA.APP" , cmoOverwrite
  368.     CreateProgmanItem "Oficina de Criaτπo", "Oficina de Criaτπo",MakePath(appDEST$,"oficina.exe"),"", cmoOverwrite
  369.     CreateProgmanItem "Oficina de Criaτπo", "Jogos Educativos - Amostra",MakePath(SrcDir$,"demoedu\educat.exe"), "" , cmoOverwrite    
  370. '    ELSE
  371. '    CreateProgmanItem "Oficina de Criaτπo", "Oficina",MakePath(appDEST$, "oficina.exe"), "", cmoOverwrite    
  372. '   ENDIF
  373. '   CreateProgmanItem "Amaral Netto, A Pororoca", "Pesquisa da Pororoca", MakePath(SrcDir$,"Amaral1\pesquisa\teste.exe"), "", cmoOverwrite         
  374. '   CreateProgmanItem "Amaral Netto, A Pororoca", "Videos da Pororoca", MakePath(SrcDir$,"Amaral1\videos.exe"), "", cmoOverwrite         
  375. '   CreateProgmanItem "Oficina de Criaτπo", "Leia Me","notepad.exe " +  MakePath(SrcDir$,"leiame.txt"), "", cmoOverwrite             
  376.     CreateProgmanItem "Oficina de Criaτπo", "Leia-me", MakePath(appDEST$,"readme.wri"), "", cmoOverwrite
  377.  
  378.     
  379.     TstScreen% = GetDC(0)
  380.     x% = GetDeviceCaps(TstScreen%, 12)
  381.     Lixo% = ReleaseDC(0,TstScreen%)
  382. '   IF x% < 9 THEN
  383. '    IF x% = 8 THEN    
  384. '                   StrTemp$ = "Atenτπo - O programa de instalaτπo detectou que     " + Chr$(13) + Chr$(10)
  385. '        StrTemp$ = StrTemp$ + "a resoluτπo do seu driver de vφdeo Θ de 256 cores.  " + Chr$(13) + Chr$(10)
  386. '        StrTemp$ = StrTemp$ + "Para que os vφdeos possam ter maior qualidade Θ     " + Chr$(13) + Chr$(10)
  387. '        StrTemp$ = StrTemp$ + "necessßrio que o n·mero de cores seja regulado      " + Chr$(13) + Chr$(10)
  388. '        StrTemp$ = StrTemp$ + "para High Color ou superior(15, 16 ou 24 bits).     " + Chr$(13) + Chr$(10)
  389. '        StrTemp$ = StrTemp$ + "Em caso de d·vida entre em contato com a Z-Movie    "        
  390. '    ELSE
  391. '                   StrTemp$ = "Atenτπo - O programa de instalaτπo detectou que     " + Chr$(13) + Chr$(10)
  392. '        StrTemp$ = StrTemp$ + "a resoluτπo do seu driver de vφdeo Θ de 16 cores.   " + Chr$(13) + Chr$(10)
  393. '        StrTemp$ = StrTemp$ + "Apesar de aceitar esta resoluτπo, a qualidade       "+ Chr$(13) + Chr$(10)
  394. '        StrTemp$ = StrTemp$ + "visual torna-se muito fraca. Por favor, altere a    " + Chr$(13) + Chr$(10)
  395. '         StrTemp$ = StrTemp$ + "resoluτπo para 256 cores ou mais (8, 15,16 ou 24 bits)." + Chr$(13) + Chr$(10)
  396. '        StrTemp$ = StrTemp$ + "Em caso de d·vida entre em contato com a Z-Movie    "                    
  397. '    ENDIF
  398. '     x% = DoMsgBox(StrTemp$, "Qualidade de vφdeo", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  399. '   ENDIF
  400. '    x% = DoMsgBox("Nπo esqueτa de executar o φcone <LEIA-ME da pororoca> antes de executar os programas instalados!", "Atenτπo", MB_OK)    
  401.  
  402. END SUB
  403.  
  404. '**
  405. '** Purpose:
  406. '**     Appends a file name to the end of a directory path,
  407. '**     inserting a backslash character as needed.
  408. '** Arguments:
  409. '**     szDir$  - full directory path (with optional ending "\")
  410. '**     szFile$ - filename to append to directory
  411. '** Returns:
  412. '**     Resulting fully qualified path name.
  413. '*************************************************************************
  414. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  415.     IF szDir$ = "" THEN
  416.     MakePath = szFile$
  417.     ELSEIF szFile$ = "" THEN
  418.     MakePath = szDir$
  419.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  420.     MakePath = szDir$ + szFile$
  421.     ELSE
  422.     MakePath = szDir$ + "\" + szFile$
  423.     END IF
  424. END FUNCTION
  425.  
  426.