home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 September / PCWK996.iso / polskie / progel / protlx / disk1 / setup.ms_ / setup.bin
Text File  |  1994-07-15  |  8KB  |  290 lines

  1. '**************************************************************************
  2. '*                       Demo PRO-TLX Setup
  3. '**************************************************************************
  4.  
  5. ''$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. '' dodane dla powiΩkszenia okna setup
  11. CONST WS_VIVIBLE = &H10000000
  12. CONST WS_BORDER  = &H00800000
  13. CONST WS_CLIPCHILDREN = &H02000000
  14. CONST GWL_STYLE = -16
  15. CONST SW_SHOWMAXIMIZED = 3
  16.  
  17. DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%,iShow%) AS INTEGER
  18. DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG
  19.  
  20. '' funkcje do konwersji bazy danych
  21. DECLARE FUNCTION ConvertTlxBase LIB "convert.dll" (szSrcPath$, szDstPath$, hWnd%) AS INTEGER
  22. DECLARE FUNCTION ConvertSubscrBase LIB "convert.dll" (szSrcPath$, szDstPath$, hWnd%) AS INTEGER
  23. '' funkcja instaluj╣ca share.exe
  24. DECLARE FUNCTION InstallShareExe LIB "convert.dll" ( hWnd% ) AS INTEGER
  25.  
  26. ''Dialog ID's
  27. CONST WELCOME       = 100
  28. CONST ASKQUIT       = 200
  29. CONST DESTPATH      = 300
  30. CONST EXITFAILURE   = 400
  31. CONST EXITQUIT      = 600
  32. CONST EXITSUCCESS   = 700
  33. CONST APPHELP       = 900
  34. CONST BADPATH       = 6400
  35. CONST CONVERT       = 7900
  36.  
  37. ''Bitmap ID
  38. CONST LOGO = 1
  39.  
  40. GLOBAL DEST$        ''Default destination directory.
  41. GLOBAL OPTBTRV$
  42. GLOBAL OPTCOM$
  43. GLOBAL OPTCENTRAL$
  44. ''GLOBAL CONVSTATES$
  45. GLOBAL OLDPATH$     ''îcie┐ka wersji PRO-TLX dla DOS-u
  46. GLOBAL CONVTLX$
  47. GLOBAL CONVSUB$
  48. GLOBAL TLXSTATION$
  49. GLOBAL hWnd%
  50.  
  51. DECLARE SUB Install
  52. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  53.  
  54. INIT:
  55.       '' powiΩkszenie okna
  56.     hWnd%=HwndFrame()
  57.     wi&=SetWindowLong(hWnd%, GWL_STYLE, WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  58.     wj%=ShowWindow(hWnd%, SW_SHOWMAXIMIZED)
  59.     
  60.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  61.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  62.  
  63.     SetBitmap CUIDLL$, LOGO
  64. ''    SetTitle "Instalacja PRO-TLX"
  65.  
  66.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  67.     IF szInf$ = "" THEN
  68.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  69.     END IF
  70.     ReadInfFile szInf$
  71.  
  72.     DEST$ = "C:\TLXDEMO"
  73.     OPTBTRV$ = "/m:48 /p:4096 /b:54 /c"
  74.     OPTCOM$ = "1"
  75.     OPTCENTRAL$ = "1"
  76.     OLDPATH$ = "C:\PRO-TLX"
  77.     CONVTLX$ = "OFF"
  78.     CONVSUB$ = "OFF"
  79.     TLXSTATION$ = "1"
  80.  
  81. '$IFDEF DEBUG
  82.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  83.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  84.     IF IsDriveValid(WinDrive$) = 0 THEN
  85.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  86.         GOTO QUIT
  87.     END IF
  88. '$ENDIF ''DEBUG
  89.  
  90.  
  91. WELCOME:
  92.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  93.     IF sz$ = "CONTINUE" THEN
  94.         UIPop 1
  95.     ELSE
  96.         GOSUB ASKQUIT
  97.         GOTO WELCOME
  98.     END IF
  99.     
  100.  
  101.     mv% = GetWindowsMajorVersion()
  102.     nv% = GetWindowsMinorVersion()
  103.     IF  mv% < 3 OR ( mv% = 3 AND nv% < 10 ) THEN
  104.         i% = DoMsgBox("Wersja systemu operacyjnego Windows"+CHR$(153)+" musi byµ przynajmniej 3.1", "Stop instalacji", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  105.         END
  106.     END IF    
  107.  
  108.  
  109. GETPATH:
  110.     SetSymbolValue "EditTextIn", DEST$
  111.     SetSymbolValue "EditFocus", "END"
  112. GETPATHL1:
  113.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  114.     DEST$ = GetSymbolValue("EditTextOut")
  115.  
  116.     IF sz$ = "CONTINUE" THEN
  117.         IF IsDirWritable(DEST$) = 0 THEN
  118.             GOSUB BADPATH
  119.             GOTO GETPATHL1
  120.         END IF
  121.         UIPop 1
  122.     ELSEIF sz$ = "REACTIVATE" THEN
  123.         GOTO GETPATHL1
  124.     ELSE
  125.         GOSUB ASKQUIT
  126.         GOTO GETPATH
  127.     END IF
  128.  
  129. CONVERT:      
  130.     SetSymbolValue "EditTextIn", OLDPATH$
  131.     SetSymbolValue "EditFocus", "END"
  132.     SetSymbolValue "CheckItemsIn", CONVTLX$
  133.     AddListItem  "CheckItemsIn", CONVSUB$
  134. CONVERT1:
  135.     sz$ = UIStartDlg(CUIDLL$, CONVERT, "FCustInstDlgProc", APPHELP, HELPPROC$)
  136.     CONVTLX$ = GetListItem("CheckItemsOut", 1)
  137.     CONVSUB$ = GetListItem("CheckItemsOut", 2)
  138.     OLDPATH$ = GetSymbolValue("EditTextOut")
  139.  
  140.     IF sz$ = "CONTINUE" THEN 
  141.         IF CONVTLX = "ON" OR CONVSUB = "ON" THEN
  142.             IF DoesDirExist(OLDPATH$) = 0 THEN
  143.                 GOSUB BADPATH
  144.                 GOTO CONVERT1
  145.             END IF
  146.         END IF
  147.         UIPop(1)
  148.     ELSEIF sz$ = "REACTIVATE" THEN
  149.         GOTO CONVERT1
  150.     ELSEIF sz$ = "BACK" THEN
  151.         UIPop 1
  152.         GOTO GETPATH
  153.     ELSE
  154.         GOSUB ASKQUIT
  155.         GOTO CONVERT
  156.     END IF
  157.  
  158.  
  159.     Install
  160.  
  161.  
  162. QUIT:
  163.     ON ERROR GOTO ERRQUIT
  164.  
  165.     IF ERR = 0 THEN
  166.         dlg% = EXITSUCCESS
  167.     ELSEIF ERR = STFQUIT THEN
  168.         dlg% = EXITQUIT
  169.     ELSE
  170.         dlg% = EXITFAILURE
  171.     END IF
  172. QUITL1:
  173.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  174.     IF sz$ = "REACTIVATE" THEN
  175.         GOTO QUITL1
  176.     END IF
  177.     UIPop 1
  178.  
  179.     END
  180.  
  181. ERRQUIT:
  182.     i% = DoMsgBox("Pliki instalacyjne s╣ uszkodzone,\n zadzwo± pod numer (091)877-151!", "B│╣d instalacji", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  183.     END
  184.  
  185.  
  186. BADPATH:
  187.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  188.     IF sz$ = "REACTIVATE" THEN
  189.         GOTO BADPATH
  190.     END IF
  191.     UIPop 1
  192.     RETURN
  193.  
  194.  
  195.  
  196. ASKQUIT:
  197.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  198.  
  199.     IF sz$ = "EXIT" THEN
  200.         UIPopAll
  201.         END   ''ERROR STFQUIT
  202.     ELSEIF sz$ = "REACTIVATE" THEN
  203.         GOTO ASKQUIT
  204.     ELSE
  205.         UIPop 1
  206.     END IF
  207.     RETURN
  208.  
  209.  
  210.  
  211. '**
  212. '** Purpose:
  213. '**     Builds the copy list and performs all installation operations.
  214. '** Arguments:
  215. '**     none.
  216. '** Returns:
  217. '**     none.
  218. '*************************************************************************
  219. SUB Install STATIC
  220.  
  221.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  222.     CreateDir DEST$, cmoNone
  223.  
  224.     dataPath$ = MakePath(DEST$, "DATA")
  225.     CreateDir dataPath$, cmoNone  
  226.  
  227.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  228.  
  229.     szShareDir$ = GetWindowsDir()
  230.     IF GetSymbolValue("STF_MODE") = "ADMIN" THEN
  231.         IF IsWindowsShared = 1 THEN
  232.             szShareDir$ = GetWindowsSysDir()
  233.         END IF
  234.     END IF
  235.     AddSectionFilesToCopyList "Shared", SrcDir$, szShareDir$
  236.     
  237.     IF CONVTLX$ <> "ON" THEN
  238.         AddSectionFilesToCopyList "DemoData", SrcDir$, dataPath$
  239.     END IF
  240.     
  241.     CopyFilesInCopyList
  242.  
  243.     ini$ = MakePath(DEST$, "telex.ini")
  244.     CreateIniKeyValue "WIN.INI", "btrieve", "options", OPTBTRV$, cmoOverwrite
  245.  
  246.     IF CONVTLX$ = "ON" THEN
  247.         i% = ConvertTlxBase( OLDPATH$, DEST$, hWnd%)
  248.         IF i% = -1 THEN
  249.             i% = DoMsgBox("Za ma│o pamiΩci do przeprowadzenia konwersji wiadomo£ci teleksowych.", "B│╣d konwersji", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  250.         ELSEIF i% = 0 THEN
  251.             i% = DoMsgBox("W katalogu "+OLDPATH$+" nie ma wiadomo£ci teleksowych o starym formacie.", "B│╣d konwersji", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  252.         END IF
  253.     END IF
  254.     IF CONVSUB$ = "ON" THEN
  255.         i% = ConvertSubscrBase( OLDPATH$, DEST$, hWnd%)
  256.     END IF
  257.  
  258. ''    i% = InstallShareExe( hWnd% )
  259.     
  260.     CreateProgmanGroup "Pro-Tlx", "", cmoNone
  261.     ShowProgmanGroup  "Pro-Tlx", 1, cmoNone
  262.     CreateProgmanItem "Pro-Tlx", "PRO-TLX", MakePath(DEST$,"protlx.exe"), "", cmoOverwrite
  263.  
  264. END SUB
  265.  
  266.  
  267.  
  268. '**
  269. '** Purpose:
  270. '**     Appends a file name to the end of a directory path,
  271. '**     inserting a backslash character as needed.
  272. '** Arguments:
  273. '**     szDir$  - full directory path (with optional ending "\")
  274. '**     szFile$ - filename to append to directory
  275. '** Returns:
  276. '**     Resulting fully qualified path name.
  277. '*************************************************************************
  278. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  279.     IF szDir$ = "" THEN
  280.         MakePath = szFile$
  281.     ELSEIF szFile$ = "" THEN
  282.         MakePath = szDir$
  283.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  284.         MakePath = szDir$ + szFile$
  285.     ELSE
  286.         MakePath = szDir$ + "\" + szFile$
  287.     END IF
  288. END FUNCTION
  289.  
  290.