home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 September / CHIP_CD_1997_09_PL.iso / software / testsoft / demo_mf / disk1 / mf6.mst < prev    next >
Encoding:
Text File  |  1997-07-18  |  38.1 KB  |  1,258 lines

  1. '**************************************************************************
  2. '*                       MSSetup - Moja Firma 6.2
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Wersja i wydanie
  11. CONST AWER$    = "6.2"
  12. CONST AWYD%    = 40
  13.  
  14. ''Dialog ID's
  15. CONST NETINSDLG    = 100
  16. CONST ASKQUIT      = 200
  17. CONST MYASKQUIT    = 201
  18. CONST ASKUPGRADE   = 202
  19. CONST ASKNEW       = 203
  20. CONST DESTPATH     = 300
  21. CONST EXCELPATH    = 301
  22. CONST NETSRWPATH   = 302
  23. CONST EXITFAILURE  = 400
  24. CONST EXITQUIT     = 600
  25. CONST EXITSUCCESS  = 700
  26. CONST OPTIONS      = 800
  27. CONST ADD_INS      = 2500
  28.  
  29. CONST APPHELP      = 900
  30. CONST OPT1HELP     = 901
  31. CONST OPT2HELP     = 902
  32. CONST PATHHELP     = 903
  33. CONST EXCELPATHHELP= 904
  34. CONST REGHELP      = 905
  35. CONST UPGRHELP     = 906
  36. CONST NEWHELP      = 907
  37. CONST NETINSHELP   = 908
  38. CONST NETPATHHELP  = 909
  39.  
  40. CONST CUSTINST     = 6200
  41. CONST NETCUSTINST1 = 6201
  42. CONST NETCUSTINST2 = 6202
  43. CONST CUSTINST_UP  = 6210
  44. CONST TOOBIG       = 6301
  45. CONST BADPATH      = 6400
  46. CONST BADEXPATH    = 6401
  47. CONST NOEXPATH     = 6402
  48. CONST BADNETPATH   = 6403
  49. CONST NONETPATH    = 6404
  50. CONST NOUPGRADE    = 6407
  51. CONST UPGRADEONLY  = 6408
  52. CONST CDGETNAMEORG = 7500
  53. CONST CDPERSON     = 7600
  54. CONST NAMEALERT    = 7700
  55. CONST EXCELALERT   = 7701
  56. CONST FINDFILE     = 7702
  57. CONST PERSONALERT  = 7703
  58.  
  59. CONST SCREEN1      = 8001
  60. CONST SCREEN2      = 8002
  61. CONST SCREEN3      = 8003
  62. CONST SCREEN4      = 8004
  63. CONST SCREEN5      = 8005
  64. CONST SCREEN6      = 8006
  65.  
  66. ''Bitmap ID
  67. CONST LOGO         = 1
  68.  
  69. ''File Types
  70. CONST APPFILES     = 1
  71. CONST OPTFILES1    = 2
  72. CONST OPTFILES2    = 3
  73.  
  74. GLOBAL DEST$        ''Default destination directory.
  75. GLOBAL EXPATH$
  76. GLOBAL NETPATH$
  77. GLOBAL WINDRIVE$    ''Windows drive letter.
  78. GLOBAL NETDRIVELST$ ''Network drive list
  79. GLOBAL NETDRIVE$    ''Network drive letter.
  80. GLOBAL WINDIR$
  81. GLOBAL WINSYSDIR$
  82. GLOBAL NETOPT$             ''Rodzaj instalacji sieciowej
  83. GLOBAL OPT1OPT$         ''Option selection from OptFiles1 option dialog.
  84. GLOBAL OPT2OPT$         ''Option selection from OptFiles2 option dialog.
  85.  
  86. GLOBAL UPGR$        ''Upgrade yes/no
  87. GLOBAL UPGRT%        ''Upgrade type
  88. GLOBAL WER$        ''Wersja aktualna
  89. GLOBAL WYD%        ''Wydanie aktualne
  90. GLOBAL UWYD%        ''Wydanie poprzednie
  91. GLOBAL FIR$        ''Czy juº jest Firma
  92.  
  93. ''CustInst list symbol names
  94. GLOBAL APPNEEDS$    ''Option list costs per drive
  95. GLOBAL OPT1NEEDS$
  96. GLOBAL OPT2NEEDS$
  97. GLOBAL EXTRACOSTS$  ''List of extra costs to add per drive
  98. GLOBAL BIGLIST$     ''List of option files cost calc results (boolean)
  99.  
  100. ''Dialog list symbol names
  101. GLOBAL CHECKSTATES$
  102. GLOBAL STATUSTEXT$
  103. GLOBAL DRIVETEXT$
  104.  
  105. GLOBAL in_CHECKSTATES$
  106. GLOBAL ou_CHECKSTATES$
  107. CONST  Add_Ins_No = 4
  108.  
  109.  
  110. DECLARE SUB AddOptFilesToCopyList (ftype%)
  111. DECLARE SUB RecalcOptFiles (ftype%)
  112. DECLARE SUB RecalcPath
  113. DECLARE SUB SetDriveStatus
  114. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  115.  
  116.  
  117. '*** Romek
  118.  
  119. CONST WS_VISIBLE = &H10000000
  120. CONST WS_BORDER = &H00800000
  121. CONST WS_CLIPCHILDREN = &H02000000
  122. CONST GWL_STYLE = -16
  123. CONST SW_SHOWMAXIMIZED = 3
  124.  
  125. GLOBAL USERNAME$   ''User name
  126. GLOBAL COMPANY$    ''Company
  127. GLOBAL PERSON$     ''Osoba
  128. GLOBAL hWnd1%
  129.  
  130. DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%, iShow%) AS INTEGER
  131. DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG
  132. DECLARE FUNCTION GetDialogBaseUnits LIB "user.exe" AS LONG
  133. DECLARE FUNCTION WinHelp LIB "user.exe" (hWnd%, szPlik$, iCmd%, temat&) AS INTEGER
  134.  
  135.  
  136. DECLARE FUNCTION LoadLibrary LIB "kernel" (szMod$) AS INTEGER
  137. DECLARE SUB FreeLibrary LIB "kernel" (hinst%)
  138. DECLARE SUB SetErrorMode LIB "krnl386.exe" (fuerrormode%)
  139.  
  140. '***
  141.  
  142.  
  143.  
  144. INIT:
  145.     WER$=AWER$
  146.     WYD%=AWYD%
  147.     UPGR$  = "NIE"
  148.     UPGRT% = 0
  149.     SetErrorMode(32768)
  150.     hinst1% = LoadLibrary("BWCC.DLL")
  151.  
  152.     CUIDLL$ = "mscuistf.dll"            ''custom user interface dll
  153.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  154.  
  155. '*** Romek
  156.     hWnd1% = HwndFrame()
  157.     k& = SetWindowLong(hWnd1%, GWL_STYLE, WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  158.     j% = ShowWindow(hWnd1%,SW_SHOWMAXIMIZED)
  159.     WINSYSDIR$ = GetWindowsSysDir()
  160.     WINDIR$ = GetWindowsDir()
  161. '***
  162.  
  163.     SetBitmap CUIDLL$, LOGO
  164.     SetTitle "Program Instalacyjny"
  165.  
  166.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  167.     IF szInf$ = "" THEN
  168.         szInf$ = GetSymbolValue("STF_CWDDIR") + "MF6.INF"
  169.     END IF
  170.     ReadInfFile szInf$
  171.  
  172.     ''CustInst list symbols
  173.     CHECKSTATES$ = "CheckItemsState"
  174.     STATUSTEXT$  = "StatusItemsText"
  175.     DRIVETEXT$   = "DriveStatusText"
  176.     FOR i% = 1 TO 3 STEP 1
  177.         AddListItem CHECKSTATES$, "ON"
  178.     NEXT i%
  179.     FOR i% = 1 TO 3 STEP 1
  180.         AddListItem STATUSTEXT$, ""
  181.     NEXT i%
  182.  
  183.     FOR i% = 1 TO 7 STEP 1
  184.         AddListItem DRIVETEXT$, ""
  185.     NEXT i%
  186.  
  187.     ''Disk cost list symbols
  188.     APPNEEDS$   = "AppNeeds"
  189.     OPT1NEEDS$  = "Opt1Needs"
  190.     OPT2NEEDS$  = "Opt2Needs"
  191.     EXTRACOSTS$ = "ExtraCosts"
  192.     BIGLIST$    = "BigList"
  193.     FOR i% = 1 TO 3 STEP 1
  194.         AddListItem BIGLIST$, ""
  195.     NEXT i%
  196.     FOR i% = 1 TO 26 STEP 1
  197.         AddListItem EXTRACOSTS$, "0"
  198.     NEXT i%
  199.  
  200.     ''Rodzaj instalacji sieciowej
  201.     NETOPT$ = "1"
  202.  
  203.     ''File Option Variables
  204.     OPT1OPT$ = "1"
  205.     OPT2OPT$ = "1"
  206.  
  207.  
  208.     in_CHECKSTATES$ = "CheckItemsIn"
  209.     ou_CHECKSTATES$ = "CheckItemsOut"
  210.  
  211.     FOR i% = 1 TO Add_Ins_No STEP 1
  212.         AddListItem in_CHECKSTATES$, "ON"
  213.     NEXT i%
  214.     ReplaceListItem in_CHECKSTATES$, 4, "OFF"
  215.  
  216.     FOR i% = 1 TO Add_Ins_No STEP 1
  217.         AddListItem ou_CHECKSTATES$, "ON"
  218.     NEXT i%
  219.     ReplaceListItem ou_CHECKSTATES$, 4, "OFF"
  220.  
  221. 'rejestracja
  222.     USERNAME$ = ""
  223.     COMPANY$ = ""
  224.     SetSymbolValue "NameIn", USERNAME$
  225.     SetSymbolValue "OrgIn", COMPANY$
  226.  
  227.    ini$ = MakePath(GetSymbolValue("STF_SRCDIR"), "SETUP.INI")
  228. '        i% = DoMsgBox("Ini: "+ini$, "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  229.     IF ((DoesFileExist(ini$, femExists) = 1) AND (DoesIniSectionExist(ini$, "Program") = 1)) THEN
  230.             USERNAME$ = GetIniKeyString(ini$, "Program", "Nazwisko")
  231.    END IF
  232.     IF ((DoesFileExist(ini$, femExists) = 1) AND (DoesIniSectionExist(ini$, "Program") = 1)) THEN
  233.             COMPANY$  = GetIniKeyString(ini$, "Program", "Firma")
  234.    END IF
  235.     IF ((COMPANY$ = "") OR (USERNAME$ = "")) THEN
  236.         GOSUB REGISTRATION
  237.       CreateIniKeyValue ini$, "Program", "Firma", COMPANY$ , cmoNone
  238.       CreateIniKeyValue ini$, "Program", "Nazwisko", USERNAME$ , cmoNone
  239.     END IF
  240.  
  241. ''Scie╛ka sieciowa
  242.     NETPATH$=""
  243. ''Rodzaj instalacji sieciowej
  244.     NETOPT$ = "0"
  245.  
  246. ''Upgrade PIT5
  247. ''===================================================================
  248.     PLUS%  = 0
  249.  
  250. ''Instalowanie w sieci
  251. ''===================================================================
  252. GOTO SEARCH
  253.  
  254. sz$ = GetSymbolValue("STF_MODE")
  255. IF sz$ = "NETWORK" THEN
  256.  
  257.    NETDRIVE$=""
  258.    NETDRIVELST$    = "NDriveList"
  259.    FOR i% = 1 TO 5 STEP 1
  260.          AddListItem NETDRIVELST$, ""
  261.    NEXT i%
  262.  
  263.    GetNetworkDrivesList(NETDRIVELST$)
  264.     IF GetListItem(NETDRIVELST$, 1) <> "" THEN
  265.        NETDRIVE$=GetListItem(NETDRIVELST$, 1)
  266.     ELSE
  267.        NETDRIVE$=WINDRIVE$
  268.     END IF
  269.  
  270.     NETOPT$ = "1"
  271. NETINS:
  272.     SetSymbolValue "RadioDefault", NETOPT$
  273. NETINS1:
  274.     sz$ = UIStartDlg(CUIDLL$, NETINSDLG, "FRadioDlgProc", NETINSHELP, HELPPROC$)
  275.     newopt$ = GetSymbolValue("ButtonChecked")
  276.  
  277.     IF sz$ = "CONTINUE" THEN
  278.         UIPop 1
  279.         IF newopt$ <> NETOPT$ THEN
  280.             NETOPT$ = newopt$
  281.         END IF
  282.         newopt$ = ""
  283.     ELSEIF sz$ = "REACTIVATE" THEN
  284.         GOTO NETINS1
  285.     ELSEIF sz$ = "EXIT" THEN
  286.         GOSUB ASKQUIT
  287.         GOTO NETINS1
  288.     ELSE
  289.         UIPop 1
  290.         newopt$ = ""
  291.     END IF
  292. END IF
  293. ''===================================================================
  294.  
  295. SEARCH:
  296. 'wy£wietlam okno z szukaniem
  297.     sz$ = UIStartDlg(CUIDLL$, FINDFILE, "FModelessDlgProc", 0, "")
  298.  
  299.     WINDRIVE$ = UCASE$(MID$(GetWindowsDir, 1, 1))
  300.  
  301. '** Szukam MF - _stub.xlm
  302. '===========================================
  303.     DEST$ = FindFileInTree("_STUB.XLM","C:\FIRMA97")
  304.     IF DEST$="" THEN                 'Nie ma Mojej Firmy
  305.            DEST$ = WINDRIVE$+":\FIRMA97"
  306.     FIR$ = "NIE"
  307.     ELSE
  308.         DEST$ = MID$(DEST$, 1, LEN(DEST$)-10)    'Jest Moja Firma
  309.     FIR$ = "TAK"
  310.     END IF
  311.  
  312. '** Szukam MF na serwerze - _stub.xlm
  313. '===========================================
  314.     IF NETOPT$="2" THEN
  315.         NETPATH$ = FindFileInTree("_STUB.XLM",NETDRIVE$+":\")
  316.         IF NETPATH$="" THEN                 'Nie ma Mojej Firmy97
  317.                NETPATH$ = NETDRIVE$+":\FIRMA97"
  318.         ELSE
  319.         NETPATH1$ = MID$(NETPATH$, 1, LEN(NETPATH$)-10)
  320.         NETPATH$ = FindFileInTree("FIR_PROG.XLM",NETPATH1$)
  321.         IF NETPATH$="" THEN
  322.             NETPATH$ = NETPATH1$
  323.         ELSE
  324.                 NETPATH$ = MID$(NETPATH$, 1, LEN(NETPATH$)-10)
  325.         END IF
  326.         END IF
  327.     END IF
  328.  
  329. '** Szukam Excela
  330. '================
  331.     EXPATH$ = FindFileInTree("EXCEL.EXE",WINDRIVE$+":\")
  332.     IF EXPATH$="" THEN
  333. '    GOSUB NOEXCEL
  334. '          EXPATH$ = ""
  335.     ELSE
  336.         EXPATH$ = MID$(EXPATH$, 1, LEN(EXPATH$)-10)
  337.     END IF
  338.  
  339.     RecalcPath
  340.     SetDriveStatus
  341.  
  342. '$IFDEF DEBUG
  343.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  344. '$ENDIF ''DEBUG
  345.  
  346.     UIPop 1                                         'Ko±czΩ przeszukiwanie dysku
  347.  
  348.     AddListItem STATUSTEXT$, EXPATH$        'dodajΩ £cie┐kΩ do Excela (nr 544 w oknie 6200)
  349.     AddListItem STATUSTEXT$, ""                 'dodajΩ dodatkowy tekst nr 545 w oknie 202 i 203 (do upgrade)
  350.     AddListItem STATUSTEXT$, NETPATH$         'dodajΩ dodatkowy tekst nr 546 w oknie 6201)
  351.     ReplaceListItem DRIVETEXT$, 7, DEST$
  352.  
  353.     GOSUB GET_UPGRADE_TYPE
  354.  
  355.     RecalcPath
  356.     SetDriveStatus
  357.  
  358. CUSTINST:
  359. '================= CUSTINST starts =====================
  360.    IF ((UPGRT%=2) OR (UPGRT%=1) OR (UPGRT%=4)) THEN
  361.       cdlg_up=10  'dialog tylko dla nowych szablonów
  362.     ELSE
  363.       cdlg_up=0     'normalny dialog z szablonami
  364.     END IF
  365.  
  366.    cdlg =VAL(NETOPT$)
  367.  
  368.    sz$ = UIStartDlg(CUIDLL$, CUSTINST+cdlg+cdlg_up, "FCustInstDlgProc", APPHELP, HELPPROC$)
  369.  
  370.    IF sz$ = "CONTINUE" THEN
  371.       IF EXPATH$="" THEN
  372.          GOSUB NOEXPATH          'Nie ma Excela
  373.          GOTO CUSTINST
  374.       END IF
  375.       IF (NOT (DoesFileExist(MakePath(EXPATH$, "excel.exe"),femExists) = 1)) THEN
  376.          GOSUB BADEXPATH         'Z│y katalog Excela
  377.          GOTO CUSTINST
  378.       END IF
  379.  
  380.       IF NETOPT$ = "2" THEN
  381.          IF NETPATH$="" THEN
  382.             GOSUB NONETPATH     'Nie ma Firmy na serwerze
  383.             GOTO CUSTINST
  384.          END IF
  385.          IF (NOT (DoesFileExist(MakePath(NETPATH$, "_STUB.XLM"),femExists) = 1)) THEN
  386.             GOSUB BADNETPATH     'Z│y katalog Firmy na serwerze
  387.             GOTO CUSTINST
  388.          ELSEIF (NOT (DoesFileExist(MakePath(NETPATH$, "FIR_PROG.XLM"),femExists) = 1)) THEN
  389.             GOSUB BADNETPATH     'Z│y katalog Firmy na serwerze
  390.             GOTO CUSTINST
  391.          END IF
  392.       END IF
  393.  
  394.       FOR i% = 1 TO 3 STEP 1
  395.          IF GetListItem(BIGLIST$, i%) <> "" THEN
  396.             GOSUB TOOBIG         'Install only if it will fit.
  397.             GOTO CUSTINST
  398.          END IF
  399.       NEXT i%
  400.  
  401.       IF (FIR$ = "TAK") THEN                     'jest Firma - wtedy upgrade
  402.          chk1$=GetListItem(CHECKSTATES$, 1)  'odczytujæ stan okna
  403.          IF NETOPT$ <> "2" THEN
  404.             chk2$=GetListItem(CHECKSTATES$, 2)
  405.             chk3$=GetListItem(CHECKSTATES$, 3)
  406.          END IF
  407.          GOSUB UPGRADE
  408.            AddListItem CHECKSTATES$, chk1$    'odtwarzam stan okna
  409.          IF NETOPT$ <> "2" THEN
  410.             AddListItem CHECKSTATES$, chk2$
  411.             AddListItem CHECKSTATES$, chk3$
  412.          END IF
  413.          IF (UPGR$ = "NIE") THEN
  414.             GOTO CUSTINST
  415.          END IF
  416.       END IF
  417.  
  418. 'dodatek do upgradu starts =====================================================
  419.       IF ((PLUS%=1) and (FIR$ = "NIE")) THEN
  420.          GOSUB UPGRADEONLY
  421.             GOTO CUSTINST
  422.       END IF
  423. 'dodatek do upgradu ends =======================================================
  424.  
  425.       UIPop 1
  426.       GOTO INSTALL                      'no... mogΩ instalowaµ
  427.  
  428.     ELSEIF sz$ = "PATH" THEN            'zmieniam katalog programu
  429.         GOTO GETPATH
  430.     ELSEIF sz$ = "CHK1" THEN            'zaznaczam program
  431.         RecalcOptFiles APPFILES
  432.         SetDriveStatus
  433.         GOTO CUSTINST
  434.     ELSEIF sz$ = "CHK2" THEN            'zaznaczam dodatki
  435.         RecalcOptFiles OPTFILES1
  436.         SetDriveStatus
  437.         GOTO CUSTINST
  438.     ELSEIF sz$ = "CHK3" THEN            'zaznaczam szablony
  439.         RecalcOptFiles OPTFILES2
  440.         SetDriveStatus
  441.         GOTO CUSTINST
  442.     ELSEIF sz$ = "BTN2" THEN            'dialog dodatki
  443.         GOTO OPTFILES1
  444.     ELSEIF sz$ = "BTN3" THEN            'dialog szablony
  445.         GOTO OPTFILES2
  446.     ELSEIF sz$ = "BTN4" THEN            'zmieniam katalog Excela
  447.         GOTO GETEXPATH
  448.     ELSEIF sz$ = "BTN6" THEN            'zmieniam katalog Firmy na serwerze
  449.         GOTO GETNETPATH
  450.     ELSEIF sz$ = "BTN8" THEN            'pomoc
  451.  
  452. 'pamiΩtaj ============================================================
  453. '  j%=Winhelp(hWnd1%,"setup.hlp",3,0)       'help index
  454. '  j%=Winhelp(hWnd1%,"setup.hlp",2,0)       'quit help
  455. '  j%=Winhelp(hWnd1%,"setup.hlp>gloss",1,nr)   'temat nr
  456. '=====================================================================
  457.  
  458.       IF NETOPT$ = "0" THEN
  459.          j% = Winhelp(hWnd1%,"setup.hlp>gloss",1,1)   'temat 1
  460.       ELSE
  461.          j% = Winhelp(hWnd1%,"setup.hlp>gloss",1,6)   'temat 6
  462.       END IF
  463.       GOTO CUSTINST
  464.  
  465.     ELSEIF sz$ = "REACTIVATE" THEN
  466.       RecalcPath
  467.       SetDriveStatus
  468.       GOTO CUSTINST
  469.     ELSE
  470.       GOSUB ASKQUIT
  471.       GOTO CUSTINST
  472.     END IF
  473. '================= CUSTINST ends ======================
  474.  
  475. INSTALL:
  476. '================= Install starts ======================
  477.     ClearCopyList
  478.     AddOptFilesToCopyList APPFILES
  479.  
  480.     IF NETOPT$ <> "2" THEN
  481.         AddOptFilesToCopyList OPTFILES1
  482.         AddOptFilesToCopyList OPTFILES2
  483.         DESTARK$ = MakePath(DEST$,"ARKUSZE")
  484.         DESTSZA$ = MakePath(DEST$,"SZABLONY")
  485.         DESTTRN$ = MakePath(DEST$,"TRN")
  486.       DESTINN$ = MakePath(DEST$,"INNE")
  487.     ELSE
  488.         DESTARK$ = MakePath(NETPATH$,"ARKUSZE")
  489.         DESTSZA$ = MakePath(NETPATH$,"SZABLONY")
  490.         DESTTRN$ = MakePath(NETPATH$,"TRN")
  491.     END IF
  492.  
  493.     DESTBRI$ = UCASE$(WINDIR$)
  494.     IF MID$(DESTBRI$, LEN(DESTBRI$), 1) = "\" THEN
  495.       DESTBRI$ = MID$(DESTBRI$, 1, LEN(DESTBRI$)-1)
  496.     END IF
  497.  
  498.     CreateDir DEST$, cmoNone
  499.     IF NETOPT$ <> "2" THEN
  500.         CreateDir DESTARK$, cmoNone
  501.         CreateDir DESTSZA$, cmoNone
  502.         CreateDir DESTTRN$, cmoNone
  503.       CreateDir DESTINN$, cmoNone
  504.         IF UPGRT%=2 THEN
  505.               CreateDir MakePath(DESTSZA$,"SZABLONY.SAV"), cmoNone
  506.            IF (DoesFileExist(MakePath(DESTSZA$, "DSBR_00.XLS"), femExists) = 1) THEN
  507.             RenameFile MakePath(DESTSZA$,"DSBR_00.XLS"), "SZABLONY.SAV\DSBR_40.XLS"
  508.          END IF
  509.            IF (DoesFileExist(MakePath(DESTSZA$, "DKFA_N0.XLS"), femExists) = 1) THEN
  510.             RenameFile MakePath(DESTSZA$,"DKFA_N0.XLS"), "SZABLONY.SAV\DKFA_N4.XLS"
  511.          END IF
  512.            IF (DoesFileExist(MakePath(DESTSZA$, "DKFA_B0.XLS"), femExists) = 1) THEN
  513.             RenameFile MakePath(DESTSZA$,"DKFA_B0.XLS"), "SZABLONY.SAV\DKFA_B4.XLS"
  514.          END IF
  515.            IF (DoesFileExist(MakePath(DESTSZA$, "DKRA_N0.XLS"), femExists) = 1) THEN
  516.             RenameFile MakePath(DESTSZA$,"DKRA_N0.XLS"), "SZABLONY.SAV\DKRA_N4.XLS"
  517.          END IF
  518.            IF (DoesFileExist(MakePath(DESTSZA$, "DKRA_B0.XLS"), femExists) = 1) THEN
  519.             RenameFile MakePath(DESTSZA$,"DKRA_B0.XLS"), "SZABLONY.SAV\DKRA_B4.XLS"
  520.          END IF
  521.       END IF
  522. 'Zmieniam nazwe zestawienia podatku i usuwam stare deklaracje ------------
  523.       IF ((UPGRT%=1) or (UPGRT%=2) or (UPGRT%=4)) THEN
  524.           CreateDir MakePath(DESTSZA$,"SZABLONY.SAV"), cmoNone
  525.            IF (DoesFileExist(MakePath(DESTSZA$, "LPL_00.XLS"), femExists) = 1) THEN
  526.             RenameFile MakePath(DESTSZA$,"LPL_00.XLS"), "SZABLONY.SAV\LPL_61.XLS"
  527.          END IF
  528.          FOR i% = 1 TO 9 STEP 1
  529.             nr$=MID$(str$(i%),2,LEN(str$(i%))-1)
  530.             RemoveFile MakePath(DESTARK$,"PIT5_0"+nr$+"_.XLS"), cmoNone
  531.             IF (DoesFileExist(MakePath(DESTARK$, "ZEST_P0"+nr$+".XLS"), femExists) = 1) THEN
  532.                RenameFile MakePath(DESTARK$,"ZEST_P0"+nr$+".XLS"), "ZEST_X0"+nr$+".XLS"
  533.             END IF
  534.             IF (DoesFileExist(MakePath(DESTARK$, "ZEST_R0"+nr$+".XLS"), femExists) = 1) THEN
  535.                RenameFile MakePath(DESTARK$,"ZEST_R0"+nr$+".XLS"), "ZEST_Y0"+nr$+".XLS"
  536.             END IF
  537.          NEXT i%
  538.          RemoveFile MakePath(DESTARK$,"PIT5_10_.XLS"), cmoNone
  539.          IF (DoesFileExist(MakePath(DESTARK$, "ZEST_P10.XLS"), femExists) = 1) THEN
  540.             RenameFile MakePath(DESTARK$,"ZEST_P10.XLS"), "ZEST_X10.XLS"
  541.          END IF
  542.       END IF
  543. '-------------------------------------------------------------------------
  544.  
  545.     END IF
  546.  
  547.     ClearBillboardList
  548.     IF NETOPT$ <> "2" THEN
  549.         AddToBillboardList CUIDLL$, SCREEN1, "FModelessDlgProc", 1
  550.         AddToBillboardList CUIDLL$, SCREEN2, "FModelessDlgProc", 1
  551.         AddToBillboardList CUIDLL$, SCREEN3, "FModelessDlgProc", 1
  552.         AddToBillboardList CUIDLL$, SCREEN4, "FModelessDlgProc", 1
  553.         AddToBillboardList CUIDLL$, SCREEN5, "FModelessDlgProc", 1
  554.     END IF
  555.     AddToBillboardList CUIDLL$, SCREEN6, "FModelessDlgProc", 1
  556.  
  557.     ht% = GetScreenHeight()
  558.     htunit% = ((GetDialogBaseUnits() AND &HFFFF0000))/&HFFFF
  559.     SetCopyGaugePosition -1, (8*((ht*3)/4))/htunit
  560.  
  561.     CopyFilesInCopyList
  562.  
  563.     GOSUB PERSONALIZE
  564.  
  565.    IF GetListItem(CHECKSTATES$, APPFILES) = "ON" THEN
  566.  
  567.       ini$ = MakePath(DEST$, "FIR.INI")
  568.       CreateIniKeyValue ini$, "Excel", "Sciezka", EXPATH$ , cmoOverwrite
  569.       CreateIniKeyValue ini$, "Program", "Wersja", WER$ , cmoOverwrite
  570.       CreateIniKeyValue ini$, "Program", "Wydanie", STR$(WYD%) , cmoOverwrite
  571.       CreateIniKeyValue ini$, "Program", "BRIT_LIB", DESTBRI$ , cmoOverwrite
  572.       CreateIniKeyValue ini$, "Program", "Firma", PERSON$ , cmoOverwrite
  573.  
  574.       IF UPGRT%=2 THEN
  575.          CreateIniKeyValue ini$, "Program", "Upgrade41", "Tak" , cmoOverwrite
  576.       ELSE
  577.          CreateIniKeyValue ini$, "Program", "Upgrade41", "" , cmoOverwrite
  578.       END IF
  579.  
  580.       IF NETOPT$ <> "2" THEN
  581.          CreateIniKeyValue ini$, "Program", "Program", DEST$ , cmoOverwrite
  582.          CreateIniKeyValue ini$, "Program", "Arkusze", DESTARK$ , cmoOverwrite
  583.          CreateIniKeyValue ini$, "Program", "Szablony", DESTSZA$ , cmoOverwrite
  584.          CreateIniKeyValue ini$, "Program", "Transakcje", DESTTRN$ , cmoOverwrite
  585.          CreateIniKeyValue ini$, "Program", "UpgradePlus", "" , cmoOverwrite
  586.       ELSE
  587.          CreateIniKeyValue ini$, "Program", "Program", NETPATH$ , cmoOverwrite
  588.          CreateIniKeyValue ini$, "Program", "Arkusze", DESTARK$ , cmoOverwrite
  589.          CreateIniKeyValue ini$, "Program", "Szablony", DESTSZA$ , cmoOverwrite
  590.          CreateIniKeyValue ini$, "Program", "Transakcje", DESTTRN$ , cmoOverwrite
  591.       END IF
  592.  
  593.       IF NETOPT$ <> "0" THEN
  594.          CreateIniKeyValue ini$, "Program", "Siec", "Tak" , cmoOverwrite
  595.       ELSE
  596.          RemoveIniKey ini$, "Program", "Siec", cmoAll
  597.       END IF
  598.  
  599.       RemoveIniKey ini$, "Program", "Nazwisko", cmoAll
  600.       RemoveIniKey ini$, "Program", "Produkcja", cmoAll
  601.       RemoveIniKey ini$, "Program", "Apteka", cmoAll
  602.       RemoveIniKey ini$, "Program", "Faktura eksportowa", cmoAll
  603.  
  604.       CreateProgmanGroup "Moja Firma 97", "", cmoNone
  605.       ShowProgmanGroup   "Moja Firma 97", 1, cmoNone
  606.       CreateProgmanItem  "Moja Firma 97", "MF97 Program", MakePath(DEST$,"MF6.EXE"), "", cmoOverwrite
  607.  
  608.       IF NETOPT$ <> "2" THEN
  609.          CreateProgmanItem  "Moja Firma 97", "PodrΩczna pomoc ", "winhelp.exe "+MakePath(DEST$,"fir.hlp"), "", cmoOverwrite
  610.          CreateProgmanItem  "Moja Firma 97", "Pomoc prawna", "winhelp.exe "+MakePath(DEST$,"ppr.hlp"), "", cmoOverwrite
  611.       END IF
  612.  
  613.    END IF
  614. '================= Install ends ======================
  615.  
  616. QUIT:
  617.     ON ERROR GOTO ERRQUIT
  618.  
  619.     IF ERR = 0 THEN
  620.       dlg% = EXITSUCCESS
  621.       RemoveFile MakePath(DEST$,"fir_ip.ico"), cmoNone
  622.         RemoveFile MakePath(DEST$,"fir_ih.ico"), cmoNone
  623.         RemoveFile MakePath(DEST$,"fir_lgot.xls"), cmoNone
  624.         RemoveFile MakePath(DEST$,"fir_lgov.xls"), cmoNone
  625.         RemoveFile MakePath(DEST$,"mf4.bmp"), cmoNone
  626.         RemoveFile MakePath(DEST$,"mf4a.bmp"), cmoNone
  627.         RemoveFile MakePath(DEST$,"mf4.exe"), cmoNone
  628.         RemoveFile MakePath(DEST$,"fir_upgr.xlm"), cmoNone
  629.         RemoveFile MakePath(DEST$,"upgr_1.xls"), cmoNone
  630.         RemoveFile MakePath(DEST$,"upgr_1.xlm"), cmoNone
  631.       IF NETOPT$ <> "2" THEN
  632.       END IF
  633.     ELSEIF ERR = STFQUIT THEN
  634.       dlg% = EXITQUIT
  635.     ELSE
  636.       dlg% = EXITFAILURE
  637.     END IF
  638. QUITL1:
  639.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  640.     IF sz$ = "REACTIVATE" THEN
  641.       GOTO QUITL1
  642.     END IF
  643.     UIPop 1
  644.     j% = Winhelp(hWnd1%,"setup.hlp",2,0)    'quit help
  645.     FreeLibrary (hinst1%)
  646.     END
  647.  
  648. ERRQUIT:
  649.     i% = DoMsgBox("Setup sources were corrupted, call 555-1212!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  650.     END
  651.  
  652. ''Koniec instalowania ======================================================
  653.  
  654. GETPATH:
  655.    SetSymbolValue "EditTextIn", DEST$
  656.    SetSymbolValue "EditFocus", "END"
  657. GETPATHL1:
  658.    sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", PATHHELP, HELPPROC$)
  659.  
  660.    IF sz$ = "CONTINUE" THEN
  661.       olddest$ = DEST$
  662.       DEST$ = GetSymbolValue("EditTextOut")
  663.  
  664.       ''Validate new path.
  665.       IF IsDirWritable(DEST$) = 0 THEN
  666.          GOSUB BADPATH
  667.          GOTO GETPATHL1
  668.       END IF
  669.       UIPop 1
  670.  
  671.         destf$ = FindFileInTree("_STUB.XLM",DEST$)
  672.         IF destf$="" THEN                 'Nie ma Mojej Firmy
  673.          FIR$ = "NIE"
  674.         ELSE
  675.          FIR$ = "TAK"
  676.         END IF
  677.  
  678.       GOSUB GET_UPGRADE_TYPE
  679.  
  680.       ''Truncate display if too long.
  681.       IF LEN(DEST$) > 23 THEN
  682.          ReplaceListItem DRIVETEXT$, 7, MID$(DEST$, 1, 23)+"..."
  683.       ELSE
  684.          ReplaceListItem DRIVETEXT$, 7, DEST$
  685.       END IF
  686.  
  687.       ''Recalc if path changed.
  688.       IF (olddest$ <> DEST$) AND (olddest$ <> DEST$+"\") AND (olddest$+"\" <> DEST$) THEN
  689.          RecalcPath
  690.          SetDriveStatus
  691.       END IF
  692.  
  693.       olddest$ = ""
  694.       GOTO CUSTINST
  695.    ELSEIF sz$ = "REACTIVATE" THEN
  696.       RecalcPath
  697.       SetDriveStatus
  698.       GOTO GETPATHL1
  699.    ELSEIF sz$ = "EXIT" THEN
  700.       GOSUB ASKQUIT
  701.       GOTO GETPATHL1
  702.    ELSE
  703.       UIPop 1
  704.       GOTO CUSTINST
  705.    END IF
  706. '============ GETPATH: ends ===============
  707.  
  708. GETEXPATH:
  709.    SetSymbolValue "EditTextIn", EXPATH$
  710.    SetSymbolValue "EditFocus", "END"
  711. GETEXPATHL1:
  712.    sz$ = UIStartDlg(CUIDLL$, EXCELPATH, "FEditDlgProc", EXCELPATHHELP, HELPPROC$)
  713.  
  714.    IF sz$ = "CONTINUE" THEN
  715.       EXPATH$ = GetSymbolValue("EditTextOut")
  716.  
  717.       ''Validate new path.
  718.       IF IsDirWritable(EXPATH$) = 0 THEN
  719.          GOSUB BADPATH
  720.          GOTO GETEXPATHL1
  721.       END IF
  722.       IF (NOT (DoesFileExist(MakePath(EXPATH$, "excel.exe"),femExists) = 1)) THEN
  723.          GOSUB BADEXPATH
  724.          GOTO GETEXPATHL1
  725.       END IF
  726.       UIPop 1
  727.  
  728.       ''Truncate display if too long.
  729.       IF LEN(EXPATH$) > 23 THEN
  730.          ReplaceListItem STATUSTEXT$, 4, MID$(EXPATH$, 1, 23)+"..."
  731.       ELSE
  732.          ReplaceListItem STATUSTEXT$, 4, EXPATH$
  733.       END IF
  734.       GOTO CUSTINST
  735.     ELSEIF sz$ = "REACTIVATE" THEN
  736.       GOTO GETEXPATHL1
  737.     ELSEIF sz$ = "EXIT" THEN
  738.       GOSUB ASKQUIT
  739.       GOTO GETPATHL1
  740.     ELSE
  741.       UIPop 1
  742.       GOTO CUSTINST
  743.     END IF
  744. '======= GETEXPATH: ends =============
  745.  
  746. GETNETPATH:
  747.     SetSymbolValue "EditTextIn", NETPATH$
  748.     SetSymbolValue "EditFocus", "END"
  749. GETNETPATHL1:
  750.     sz$ = UIStartDlg(CUIDLL$, NETSRWPATH, "FEditDlgProc", NETPATHHELP, HELPPROC$)
  751.  
  752.     IF sz$ = "CONTINUE" THEN
  753.         NETPATH$ = GetSymbolValue("EditTextOut")
  754.  
  755.         ''Validate new path.
  756.         IF IsDirWritable(NETPATH$) = 0 THEN
  757.             GOSUB BADPATH
  758.             GOTO GETNETPATHL1
  759.         END IF
  760.         IF (NOT (DoesFileExist(MakePath(NETPATH$, "_STUB.XLM"),femExists) = 1)) THEN
  761.         GOSUB BADNETPATH
  762.             GOTO GETNETPATHL1
  763.     ELSEIF (NOT (DoesFileExist(MakePath(NETPATH$, "FIR_PROG.XLM"),femExists) = 1)) THEN
  764.         GOSUB BADNETPATH
  765.             GOTO GETNETPATHL1
  766.         END IF
  767.         UIPop 1
  768.  
  769.         ''Truncate display if too long.
  770.         IF LEN(NETPATH$) > 23 THEN
  771.             ReplaceListItem STATUSTEXT$, 6, MID$(NETPATH$, 1, 23)+"..."
  772.         ELSE
  773.             ReplaceListItem STATUSTEXT$, 6, NETPATH$
  774.         END IF
  775.         GOTO CUSTINST
  776.     ELSEIF sz$ = "REACTIVATE" THEN
  777.         GOTO GETNETPATHL1
  778.     ELSEIF sz$ = "EXIT" THEN
  779.         GOSUB ASKQUIT
  780.         GOTO GETNETPATHL1
  781.     ELSE
  782.         UIPop 1
  783.         GOTO CUSTINST
  784.     END IF
  785. '======== GETNETPATH: ends ===========
  786.  
  787. OPTFILES1:
  788. OPT1L1:
  789.     sz$ = UIStartDlg(CUIDLL$, ADD_INS, "FCheckDlgProc", OPT1HELP, HELPPROC$)
  790.  
  791.     IF sz$ = "CONTINUE" THEN
  792.         FOR i% = 1 TO Add_Ins_No STEP 1
  793.             ReplaceListItem in_CHECKSTATES$, i%, GetListItem(ou_CHECKSTATES$,i%)
  794.         NEXT i%
  795.         UIPop 1
  796.         RecalcOptFiles OPTFILES1
  797.         SetDriveStatus
  798.         GOTO CUSTINST
  799.     ELSEIF sz$ = "REACTIVATE" THEN
  800.         RecalcPath
  801.         SetDriveStatus
  802.         GOTO OPT1L1
  803.     ELSEIF sz$ = "EXIT" THEN
  804.         GOSUB ASKQUIT
  805.         GOTO OPT1L1
  806.     ELSE
  807.         UIPop 1
  808.         newopt$ = ""
  809.         GOTO CUSTINST
  810.     END IF
  811. '============ OPTFILES1: ends =============
  812.  
  813. OPTFILES2:
  814.     SetSymbolValue "RadioDefault", OPT2OPT$
  815. OPT2L1:
  816.     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", OPT2HELP, HELPPROC$)
  817.     newopt$ = GetSymbolValue("ButtonChecked")
  818.  
  819.     IF sz$ = "CONTINUE" THEN
  820.         UIPop 1
  821.         IF newopt$ <> OPT2OPT$ THEN
  822.             OPT2OPT$ = newopt$
  823.             RecalcOptFiles OPTFILES2
  824.             SetDriveStatus
  825.         END IF
  826.         newopt$ = ""
  827.         GOTO CUSTINST
  828.     ELSEIF sz$ = "REACTIVATE" THEN
  829.         RecalcPath
  830.         SetDriveStatus
  831.         GOTO OPT2L1
  832.     ELSEIF sz$ = "EXIT" THEN
  833.         GOSUB ASKQUIT
  834.         GOTO OPT2L1
  835.     ELSE
  836.         UIPop 1
  837.         newopt$ = ""
  838.         GOTO CUSTINST
  839.     END IF
  840. '=============== OPTFILES2: ends ==============
  841.  
  842. TOOBIG:
  843.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  844.     IF sz$ = "REACTIVATE" THEN
  845.         RecalcPath
  846.         SetDriveStatus
  847.         GOTO TOOBIG
  848.     END IF
  849.     UIPop 1
  850. RETURN 'TOOBIG: ===================
  851.  
  852. BADPATH:
  853.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  854.     IF sz$ = "REACTIVATE" THEN
  855.         RecalcPath
  856.         SetDriveStatus
  857.         GOTO BADPATH
  858.     END IF
  859.     UIPop 1
  860. RETURN 'BADPATH: ===================
  861.  
  862. BADEXPATH:
  863.     sz$ = UIStartDlg(CUIDLL$, BADEXPATH, "FInfo0DlgProc", 0, "")
  864.     IF sz$ = "REACTIVATE" THEN
  865.         GOTO BADEXPATH
  866.     END IF
  867.     UIPop 1
  868. RETURN 'BADEXPATH: ===================
  869.  
  870. NOEXPATH:
  871.     sz$ = UIStartDlg(CUIDLL$, NOEXPATH, "FInfo0DlgProc", 0, "")
  872.     IF sz$ = "REACTIVATE" THEN
  873.         GOTO NOEXPATH
  874.     END IF
  875.     UIPop 1
  876. RETURN 'NOEXPATH: ===================
  877.  
  878. NONETPATH:
  879.     sz$ = UIStartDlg(CUIDLL$, NONETPATH, "FInfo0DlgProc", 0, "")
  880.     IF sz$ = "REACTIVATE" THEN
  881.         GOTO NONETPATH
  882.     END IF
  883.     UIPop 1
  884. RETURN 'NONETPATH: ===================
  885.  
  886. BADNETPATH:
  887.     sz$ = UIStartDlg(CUIDLL$, BADNETPATH, "FInfo0DlgProc", 0, "")
  888.     IF sz$ = "REACTIVATE" THEN
  889.         GOTO BADNETPATH
  890.     END IF
  891.     UIPop 1
  892. RETURN 'BADNETPATH: ===================
  893.  
  894. ASKQUIT:
  895.     sz$ = UIStartDlg(CUIDLL$, MYASKQUIT, "FCustInstDlgProc", 0,"")
  896.  
  897.     IF sz$ = "BTN10" THEN
  898.         UIPopAll
  899.         ERROR STFQUIT
  900.     ELSEIF sz$ = "REACTIVATE" THEN
  901.         GOTO ASKQUIT
  902.     ELSE
  903.         UIPop 1
  904.     END IF
  905. RETURN 'ASKQUIT: ===================
  906.  
  907. NONAME:
  908.     sz$ = UIStartDlg(CUIDLL$, NAMEALERT, "FInfo0DlgProc", 0, "")
  909.     IF sz$ = "REACTIVATE" THEN
  910.         GOTO NONAME
  911.     END IF
  912.     UIPop 1
  913. RETURN 'NONAME: ===================
  914.  
  915. NOPERSON:
  916.     sz$ = UIStartDlg(CUIDLL$, PERSONALERT, "FInfo0DlgProc", 0, "")
  917.     IF sz$ = "REACTIVATE" THEN
  918.         GOTO NOPERSON
  919.     END IF
  920.     UIPop 1
  921. RETURN 'NOPERSON: ===================
  922.  
  923. NOEXCEL:
  924.     sz$ = UIStartDlg(CUIDLL$, EXCELALERT, "FInfo0DlgProc", 0, "")
  925.     IF sz$ = "REACTIVATE" THEN
  926.         GOTO NOEXCEL
  927.     END IF
  928.     UIPop 1
  929. RETURN 'NOEXCEL: ===================
  930.  
  931. REGISTRATION:
  932.     sz$ = UIStartDlg(CUIDLL$, CDGETNAMEORG, "FNameOrgDlgProc", REGHELP, HELPPROC$)
  933.     USERNAME$ = GetSymbolValue("NameOut")
  934.     COMPANY$ = GetSymbolValue("OrgOut")
  935.  
  936.     IF sz$ = "CONTINUE" THEN
  937.         IF ((USERNAME$ = "") OR (COMPANY$ = "")) THEN
  938.             GOSUB NONAME
  939.             GOTO REGISTRATION
  940.         END IF
  941.     ELSE        ''User chose EXIT option
  942.         GOSUB ASKQUIT
  943.         GOTO REGISTRATION
  944.     END IF
  945.     UIPop 1 
  946. RETURN 'REGISTRATION: ===================
  947.  
  948. PERSONALIZE:
  949.     sz$ = UIStartDlg(CUIDLL$, CDPERSON, "FNameOrgDlgProc", REGHELP, HELPPROC$)
  950.     PERSON$ = GetSymbolValue("NameOut")
  951.  
  952.     IF sz$ = "CONTINUE" THEN
  953.         IF PERSON$ = "" THEN
  954.             GOSUB NOPERSON
  955.             GOTO PERSONALIZE
  956.         END IF
  957.     ELSE        ''User chose EXIT option
  958.         GOSUB ASKQUIT
  959.         GOTO PERSONALIZE
  960.     END IF
  961.     UIPop 1 
  962. RETURN 'PERSONALIZE: ===================
  963.  
  964.  
  965. UPGRADE:
  966.     GOSUB GET_UPGRADE_TYPE
  967.     ReplaceListItem STATUSTEXT$, 5, "wersja "+we$+", wyd. "+wy$
  968.  
  969. UPGRADE1:
  970.    IF WYD%>UWYD% THEN
  971.       IF UWYD%<32 THEN  'Nie ma upgrade'u do wydaΣ <32 (MF 4.1)
  972.          GOSUB NOUPGRADE
  973.       ELSE
  974.            sz$ = UIStartDlg(CUIDLL$, ASKUPGRADE, "FCustInstDlgProc", UPGRHELP,HELPPROC$)
  975.       END IF
  976.    ELSE
  977.         sz$ = UIStartDlg(CUIDLL$, ASKNEW, "FCustInstDlgProc", NEWHELP,HELPPROC$)
  978.    END IF
  979.  
  980.    IF sz$ = "BTN9" THEN
  981.       UIPop 1
  982.       UPGR$="TAK"
  983.    ELSEIF sz$ = "REACTIVATE" THEN
  984.       GOTO UPGRADE1
  985.    ELSEIF sz$ = "BTN8" THEN
  986.       IF WYD%>UWYD% THEN
  987.          j% = Winhelp(hWnd1%,"setup.hlp>gloss",1,3)   'temat 3
  988.          GOTO UPGRADE1
  989.       ELSE
  990.          j% = Winhelp(hWnd1%,"setup.hlp>gloss",1,2)   'temat 2
  991.           GOTO UPGRADE1
  992.       END IF
  993.    ELSE
  994.       UIPop 1
  995.       UPGR$="NIE"
  996.       UPGRT%=0
  997.    END IF
  998. RETURN 'Upgrade ===================
  999.  
  1000. GET_UPGRADE_TYPE:
  1001.  
  1002.     IF ((DoesFileExist(MakePath(DEST$, "FIR.INI"), femExists) = 1) AND    (DoesIniSectionExist(MakePath(DEST$,"FIR.INI"), "Program") = 1)) THEN
  1003.       we$ = GetIniKeyString(MakePath(DEST$,"FIR.INI"), "Program", "Wersja")
  1004.     ELSE
  1005.        we$="0"
  1006.     END IF
  1007.     IF ((DoesFileExist(MakePath(DEST$, "FIR.INI"), femExists) = 1) AND    (DoesIniSectionExist(MakePath(DEST$,"FIR.INI"), "Program") = 1)) THEN
  1008.        wy$ = GetIniKeyString(MakePath(DEST$,"FIR.INI"), "Program", "Wydanie")
  1009.     ELSE
  1010.        wy$="0"
  1011.     END IF
  1012.  
  1013.     UWYD%=VAL(wy$)
  1014.  
  1015.     destf$ = FindFileInTree("_STUB.XLM",DEST$)
  1016.    IF destf$="" THEN             'Nie ma Mojej Firmy
  1017.       FIR$ = "NIE"
  1018.       UPGRT% = 0
  1019.    ELSE
  1020.        FIR$ = "TAK"
  1021.        IF (WYD%>UWYD%) THEN
  1022.          IF UWYD%<32 THEN
  1023.             UPGRT%=3    'Upgrade ze starszych wersji (nie ma!!!)
  1024.          ELSEIF UWYD%<33 THEN
  1025.                UPGRT%=2     'Upgrade wersji 4.1.32  (nowe szablony)
  1026.          ELSEIF UWYD%<37 THEN
  1027.             UPGRT%=1    'Upgrade wersji 6.0.33  (fix i Office97)
  1028.          ELSEIF UWYD%<39 THEN
  1029.             UPGRT%=4    'Upgrade wersji 6.1.37  (nowy PIT)
  1030.           ELSE
  1031.             UPGRT%=5    'Upgrade wersji 6.2.39  (na razie na zapas)
  1032.          END IF
  1033.        ELSE
  1034.           UPGRT%=0         'Ponowna instalacja
  1035.       END IF
  1036.    END IF
  1037.  
  1038. RETURN 'GET_UPGRADE_TYPE ==========================
  1039.  
  1040. NOUPGRADE:
  1041.     sz$ = UIStartDlg(CUIDLL$, NOUPGRADE, "FInfo0DlgProc", 0, "")
  1042.     IF sz$ = "REACTIVATE" THEN
  1043.       GOTO NOUPGRADE
  1044.     END IF
  1045.     UIPop 1
  1046. RETURN 'NoUpgrade =====================
  1047.  
  1048. UPGRADEONLY:
  1049.     sz$ = UIStartDlg(CUIDLL$, UPGRADEONLY, "FInfo0DlgProc", 0, "")
  1050.     IF sz$ = "REACTIVATE" THEN
  1051.       GOTO UPGRADEONLY
  1052.     END IF
  1053.     UIPop 1
  1054. RETURN 'Upgradeolny ===================
  1055.  
  1056. '**
  1057. '** Purpose:
  1058. '**     Adds the specified option files to the copy list.
  1059. '** Arguments:
  1060. '**     ftype%  - type of files to add, one of the following:
  1061. '**               APPFILES, OPTFILES1, OPTFILES2
  1062. '** Returns:
  1063. '**     none.
  1064. '*************************************************************************
  1065. SUB AddOptFilesToCopyList (ftype%) STATIC
  1066.  
  1067. IF NETOPT$ <> "2" THEN
  1068.    IF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
  1069.       SrcDir$ = GetSymbolValue("STF_SRCDIR")
  1070.  
  1071.       IF ftype% = APPFILES THEN
  1072.          AddSectionFilesToCopyList "Net", SrcDir$, DEST$
  1073.          AddSectionFilesToCopyList "System", SrcDir$, WINSYSDIR$
  1074.          AddSectionFilesToCopyList "Windows", SrcDir$, WINDIR$
  1075.          AddSectionFilesToCopyList "Program", SrcDir$, DEST$
  1076.  
  1077.       ELSEIF ftype% = OPTFILES1 THEN
  1078.  
  1079.          IF GetListItem(ou_CHECKSTATES$,1)="ON" THEN
  1080.                 AddSectionKeyFileToCopyList "Dodatki", "1", SrcDir$, DEST$
  1081.          END IF
  1082.  
  1083.          IF GetListItem(ou_CHECKSTATES$,2)="ON" THEN
  1084.             AddSectionKeyFileToCopyList "Dodatki", "2", SrcDir$, DEST$
  1085.          END IF
  1086.  
  1087.          IF GetListItem(ou_CHECKSTATES$,3)="ON" THEN
  1088.             AddSectionKeyFileToCopyList "Dodatki", "3", SrcDir$, DEST$
  1089.          END IF
  1090.  
  1091.       ELSEIF ftype% = OPTFILES2 THEN
  1092.  
  1093.          IF (UPGRT%=0) THEN '' nowy program
  1094.             AddSectionFilesToCopyList "Szablony", SrcDir$, DEST$
  1095.             AddSectionFilesToCopyList "SzablonyFix", SrcDir$, DEST$
  1096.             AddSectionFilesToCopyList "NoweSzablony", SrcDir$, DEST$
  1097.             AddSectionFilesToCopyList "SzablonyPit", SrcDir$, DEST$
  1098.          ELSEIF (UPGRT%=2) THEN '' akt do 32
  1099.             AddSectionFilesToCopyList "SzablonyFix", SrcDir$, DEST$
  1100.             AddSectionFilesToCopyList "NoweSzablony", SrcDir$, DEST$
  1101.             AddSectionFilesToCopyList "SzablonyPit", SrcDir$, DEST$
  1102.          ELSEIF (UPGRT%=1) THEN '' akt do 33,34,35,36
  1103.             AddSectionFilesToCopyList "SzablonyFix", SrcDir$, DEST$
  1104.             AddSectionFilesToCopyList "SzablonyPit", SrcDir$, DEST$
  1105.          ELSEIF (UPGRT%=4) THEN '' akt do 37,38
  1106.             AddSectionFilesToCopyList "SzablonyPit", SrcDir$, DEST$
  1107.          ENDIF
  1108.  
  1109.       END IF
  1110.       SrcDir$ = ""
  1111.    END IF
  1112. ELSE
  1113.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  1114.     IF ((ftype% = APPFILES) AND (GetListItem(CHECKSTATES$, APPFILES) = "ON")) THEN
  1115.       AddSectionFilesToCopyList "Net", SrcDir$, DEST$
  1116.         AddSectionFilesToCopyList "System", SrcDir$, WINSYSDIR$
  1117.         AddSectionFilesToCopyList "Windows", SrcDir$, WINDIR$
  1118.     END IF
  1119.     SrcDir$ = ""
  1120. END IF
  1121. END SUB 'AddOptFilesToCopyList =================
  1122.  
  1123.  
  1124. '**
  1125. '** Purpose:
  1126. '**     Recalculates disk space for the given option files and sets
  1127. '**     the status info symbol "StatusItemsText".
  1128. '** Arguments:
  1129. '**     ftype% - type of files to add, one of the following:
  1130. '**             APPFILES, OPTFILES1, OPTFILES2
  1131. '** Returns:
  1132. '**     none.
  1133. '*************************************************************************
  1134. SUB RecalcOptFiles (ftype%) STATIC
  1135.     CursorSave% = ShowWaitCursor()
  1136.     ClearCopyList
  1137.     AddOptFilesToCopyList ftype%
  1138.  
  1139.     fExtra% = 0
  1140.     IF ftype% = APPFILES THEN
  1141.         ListSym$ = APPNEEDS$
  1142.         IF GetListItem(CHECKSTATES$, APPFILES) = "ON" THEN
  1143.             ''Add extra cost to Windows drive for ini/progman, etc.
  1144.             ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
  1145.             ReplaceListItem EXTRACOSTS$, ndrive%, "1024"
  1146.             fExtra% = 1
  1147.         END IF
  1148.     ELSEIF ftype% = OPTFILES1 THEN
  1149.         ListSym$ = OPT1NEEDS$
  1150.     ELSEIF ftype% = OPTFILES2 THEN
  1151.         ListSym$ = OPT2NEEDS$
  1152.     END IF
  1153.  
  1154.     StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
  1155.  
  1156.     cost& = 0
  1157.     FOR i% = 1 TO 26 STEP 1
  1158.         cost&  = cost& + VAL(GetListItem(ListSym$, i%))
  1159.     NEXT i%
  1160.     ReplaceListItem STATUSTEXT$, ftype%, STR$(cost& / 1024) + " K"
  1161.  
  1162.     IF StillNeed& > 0 THEN
  1163.         ReplaceListItem BIGLIST$, ftype%, "YES"
  1164.     ELSE
  1165.         ReplaceListItem BIGLIST$, ftype%, ""
  1166.     END IF
  1167.  
  1168.     IF fExtra% THEN
  1169.         ReplaceListItem EXTRACOSTS$, ndrive%, "0"
  1170.     END IF
  1171.     RestoreCursor CursorSave%
  1172.     ListSym$ = ""
  1173. END SUB
  1174.  
  1175.  
  1176. '**
  1177. '** Purpose:
  1178. '**     Recalculates disk space and sets option status info according
  1179. '**     to the current destination path.
  1180. '** Arguments:
  1181. '**     none.
  1182. '** Returns:
  1183. '**     none.
  1184. '*************************************************************************
  1185. SUB RecalcPath STATIC
  1186.  
  1187.     CursorSave% = ShowWaitCursor()
  1188.  
  1189.     RecalcOptFiles APPFILES
  1190.     RecalcOptFiles OPTFILES1
  1191.     RecalcOptFiles OPTFILES2
  1192.  
  1193.     RestoreCursor CursorSave%
  1194. END SUB
  1195.  
  1196.  
  1197. '**
  1198. '** Purpose:
  1199. '**     Sets drive status info according to latest disk space calcs.
  1200. '** Arguments:
  1201. '**     none.
  1202. '** Returns:
  1203. '**     none.
  1204. '*************************************************************************
  1205. SUB SetDriveStatus STATIC
  1206.  
  1207.     drive$ = MID$(DEST$, 1, 1)
  1208.     ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
  1209.     cost& = VAL(GetListItem(APPNEEDS$, ndrive%)) + VAL(GetListItem(OPT1NEEDS$, ndrive%)) + VAL(GetListItem(OPT2NEEDS$, ndrive%))
  1210.     free& = GetFreeSpaceForDrive(drive$)
  1211.     ReplaceListItem DRIVETEXT$, 1, drive$ + ":"
  1212.     ReplaceListItem DRIVETEXT$, 2, STR$(cost& / 1024) + " K"
  1213.     ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  1214.  
  1215.     IF drive$ = WINDRIVE$ THEN
  1216.         ReplaceListItem DRIVETEXT$, 4, ""
  1217.         ReplaceListItem DRIVETEXT$, 5, ""
  1218.         ReplaceListItem DRIVETEXT$, 6, ""
  1219.     ELSE
  1220.         ndrive% = ASC(ucase$(WINDRIVE$)) - ASC("A") + 1
  1221.         cost& = VAL(GetListItem(APPNEEDS$, ndrive%)) + VAL(GetListItem(OPT1NEEDS$, ndrive%)) + VAL(GetListItem(OPT2NEEDS$, ndrive%))
  1222.         IF cost& = 0 THEN
  1223.             ReplaceListItem DRIVETEXT$, 4, ""
  1224.             ReplaceListItem DRIVETEXT$, 5, ""
  1225.             ReplaceListItem DRIVETEXT$, 6, ""
  1226.         ELSE
  1227.             free& = GetFreeSpaceForDrive(WINDRIVE$)
  1228.             ReplaceListItem DRIVETEXT$, 4, WINDRIVE$ + ":"
  1229.             ReplaceListItem DRIVETEXT$, 5, STR$(cost& / 1024) + " K"
  1230.             ReplaceListItem DRIVETEXT$, 6, STR$(free& / 1024) + " K"
  1231.         END IF
  1232.     END IF
  1233. END SUB
  1234.  
  1235.  
  1236. '**
  1237. '** Purpose:
  1238. '**     Appends a file name to the end of a directory path,
  1239. '**     inserting a backslash character as needed.
  1240. '** Arguments:
  1241. '**     szDir$  - full directory path (with optional ending "\")
  1242. '**     szFile$ - filename to append to directory
  1243. '** Returns:
  1244. '**     Resulting fully qualified path name.
  1245. '*************************************************************************
  1246. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  1247.     IF szDir$ = "" THEN
  1248.         MakePath = szFile$
  1249.     ELSEIF szFile$ = "" THEN
  1250.         MakePath = szDir$
  1251.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  1252.         MakePath = szDir$ + szFile$
  1253.     ELSE
  1254.         MakePath = szDir$ + "\" + szFile$
  1255.     END IF
  1256. END FUNCTION
  1257.  
  1258.