Skocz do zawartości


Sfor

Rejestracja: 21 kwi 2008
OFFLINE Ostatnio: 20 05 2008 21:26
-----

Moje tematy

Polskie wsparcie dla projektów związanych z Windows 98

21 04 2008 - 18:10

Populacja użytkowników systemu Windows 98 maleje w szybkim tempie.

Jednocześnie międzynarodowa grupa pasjonatów skupiająca się głównie wokół forum MSFN rozwija systemy 9x ciągle je ulepszając. Niestety, większość poprawek i rozwiązań jest przeznaczona dla anglojęzycznych wersji. Brakuje polskiej grupy, która zajęła by się dostosowywaniem już istniejących poprawek do naszej wersji językowej. Jest kilku pasjonatów w naszym kraju, jednak działają oni samotnie.

Autor największego sukcesu w dalszym rozwoju Windows 98 jest właśnie polakiem. KernelEX jego autorstwa uzupełnia jądro systemu o funkcje dostępne w systemach 2000 i XP, pozwalając na uruchamianie aplikacji które wymagają nowszego systemu operacyjnego.

Windows 98 może być ciągle funkcjonalny i użyteczny. Wystarczy odpowiednia dawka chęci i umiejętności. Wiele informacji i wiedzy można zdobyć na forum MSFN, ale konieczna jest znajomość języka angielskiego. Z tego właśnie powodu warto jest stworzyć polski odpowiednik tego forum. Może to pomóc w integracji wysiłków polskich miłośników systemu 98, oraz dać naszym rodakom podobne możliwości, jakimi dysponują użytkownicy wersji angielskich.

Blokowanie się Programu Płatnika w systemie Windows 98

21 04 2008 - 18:02

Do blokady programu dochodzi w trakcie otwierania listy certyfikatów lub przesyłania dokumentów do ZUS. Trwa to od kilku do kilkunastu minut.

W przypadku komputerów łączących się z Internetem za pośrednictwem komutowanego połączenia (Dial-Up Networking), efekt blokowania się występuje tylko w czasie połączenia. Tak więc przeglądanie listy certyfikatów nie blokuje programu do momentu połączenia z Internetem. Oczywiście, w czasie przesyłania dokumentów do ZUS odłączenie od Internetu nie jest sposobem na obejście blokady. Innymi słowy użytkownicy stałego połączenia z Internetem, mają kompletnie przechlapane.

Sporo czasu i eksperymentów zajęło "rozpracowanie" tego problemu.

Problem związany jest z kontrolowaniem przez Program Płatnika zawartości systemowego magazynu z certyfikatami. Podczas takiej kontroli Płatnik sprawdza czy w magazynie znajdują się certyfikaty jakie posiada on we własnej bazie danych. W razie braku Płatnik proponuje ich doinstalowanie. Problem w tym, że jedynie w systemie Windows 98 kontrola obecności certyfikatu Unizeto w magazynie powoduje próbę połączenia z serwerami Unizeto. Komputer bezskutecznie czeka na odpowiedź, co trwa około 45 sekund na każdy certyfikat. Pomnóżmy ten czas przez kilka cetyfikatów, a strata wyniesie około 5 minut.

Tam, gdzie program Płatnika jest uruchamiany często, problem ten jest bardzo denerwujący. Płatnik wysyłający dokumenty raz na miesiąc może poczekać te 5 minut, ale dla biura rachunkowego jest to już istotne utrudnienie.

Pomoc techniczna daje jedną możliwość, czyli zainstalować nowszy system operacyjny lub uzbroić się w cierpliwość, gdyż Prokom nie chce brać odpowiedzialności, za "dziwne" działanie systemu Windows 98.

Na szczęście udało się znaleźć aż trzy różne sposoby na pozbycie się problemu. Każdy z nich ma swoje zalety i wady.



1. Modyfikacja rejestru systemowego.

Zalety: Jest to trwały sposób.
Wady: Podczas każdorazowej kontroli zawartości magazynu systemowego Płatnik będzie wyświetlał fałszywy komunikat o braku certyfikatów potrzebnych do wysyłania dokumentów. (trzeba zamykać/ignorować okna dialogowe z komunikatami)

1) Utworzyć plik o rozszerzeniu .REG (np PPFIX.REG) z następującą zawartością.
REGEDIT4

[-HKEY_CLASSES_ROOT\Interface\{7AB5C758-522C-41FD-948F-E99FF615A572}]
2) Importować plik do rejestru systemowego.

Spowoduje to uszkodzenie funkcjonalności komponentów odpowiedzialnych za kontrolowanie certyfikatów.

2. Usunięcie najstarszego certyfikatu Unizeto z magazynu systemowego.

Zalety: Łatwo jest "odinstalować" tę poprawkę. Wystarczy pozwolić Płatnikowi na ponowne zainstalowanie usuniętego certyfikatu.
Wady: Przy każdej kontroli magazynu systemowego trzeba zabraniać Płatnikowi instalować brakującego certyfikatu.

1) Wywołać okno Opcji Internetowych Internet Explorera.
a) przez wywołanie Właściwości po kliknięciu prawym klawiszem na ikonie Internet Explorer
:rolleyes: lub przez uruchomienie Internet Explorera i wybranie Narzędzia - Opcje Internetowe z menu.
2) wywołać okno dialogowe "Certificates" z zakładki Zawartość przyciskiem Certyfikaty.
3) przejść na zakładkę Trusted Root Certification Authorities
4) odszukać i usunąć najstarszy certyfikat UNIZETOTTPCANAD z datą wygaśnięcia w 2004 roku. Jeżeli w bazie danych waszego płatnika najstarszym certyfikatem Unizeto jest inny certyfikat, to ten właśnie należy skasować.

Jeżeli nie pozwolimy Płatnikowi zainstalować pierwszego certyfikatu to nie będzie sprawdzał kolejnych. Jest wyjątkowo mało inwazyjny sposób.


3. Zablokowanie dostępu do serwerów Unizeto przez zmianę reguł rutowania w systemie.

Zalety: Całkowity brak "zbędnych" komunikatów Płatnika. Kontrola magazynu systemowego trwa tyle samo co przy użyciu innych systemów operacyjnych.
Wady: Rozwiązanie jest chwilowe. Odnowienie adresu IP wymaga ponownego wykonania skryptu. W przypadku połączeń Dial-Up skrypt należy uruchamiać po każdym nawiązaniu połączenia.

1) Utworzyć plik skryptu o przykładowej nazwie PPFIX.BAT i następującej zawartości:
IPConfig /release 0
IPConfig /renew 0|find "brama">ipbramy.bat
ipbramy
2) Utworzyć kolejny plik o nazwie DOMYśLNA.BAT i zawartości:
@echo off
SET GATEWAY=%9
route delete 0.0.0.0 

route add 0.0.0.0 mask 128.0.0.0 %GATEWAY% 
route add 128.0.0.0 mask 192.0.0.0 %GATEWAY% 
route add 192.0.0.0 mask 254.0.0.0 %GATEWAY% 
route add 194.0.0.0 mask 255.0.0.0 %GATEWAY% 

route add 195.0.0.0 mask 255.128.0.0 %GATEWAY% 
route add 195.128.0.0 mask 255.192.0.0 %GATEWAY%
route add 195.192.0.0 mask 255.248.0.0 %GATEWAY% 
route add 195.200.0.0 mask 255.252.0.0 %GATEWAY% 
route add 195.204.0.0 mask 255.255.0.0 %GATEWAY% 
route add 195.205.0.0 mask 255.255.128.0 %GATEWAY% 
route add 195.205.128.0 mask 255.255.192.0 %GATEWAY% 
route add 195.205.192.0 mask 255.255.224.0 %GATEWAY% 
route add 195.205.224.0 mask 255.255.240.0 %GATEWAY% 
route add 195.205.240.0 mask 255.255.248.0 %GATEWAY% 
route add 195.205.248.0 mask 255.255.255.192 %GATEWAY% 
route add 195.205.248.64 mask 255.255.255.252 %GATEWAY% 
route add 195.205.248.68 mask 255.255.255.254 %GATEWAY% 
route add 195.205.248.70 mask 255.255.255.255 %GATEWAY% 
REM -www.ca.unet.pl 195.205.248.71
route add 195.205.248.72 mask 255.255.255.248 %GATEWAY% 
route add 195.205.248.80 mask 255.255.255.240 %GATEWAY% 
route add 195.205.248.96 mask 255.255.255.224 %GATEWAY% 
route add 195.205.248.128 mask 255.255.255.128 %GATEWAY% 
route add 195.205.249.0 mask 255.255.255.0 %GATEWAY% 
route add 195.205.250.0 mask 255.255.254.0 %GATEWAY% 
route add 195.205.252.0 mask 255.255.252.0 %GATEWAY% 
route add 195.206.0.0 mask 255.254.0.0 %GATEWAY%
route add 195.208.0.0 mask 255.240.0.0 %GATEWAY%
route add 195.224.0.0 mask 255.224.0.0 %GATEWAY%

route add 196.0.0.0 mask 252.0.0.0 %GATEWAY% 
route add 200.0.0.0 mask 248.0.0.0 %GATEWAY% 
route add 208.0.0.0 mask 250.0.0.0 %GATEWAY% 

route add 212.0.0.0 mask 255.128.0.0 %GATEWAY% 
route add 212.128.0.0 mask 255.224.0.0 %GATEWAY% 
route add 212.160.0.0 mask 255.225.192.0 %GATEWAY% 
route add 212.160.64.0 mask 255.225.248.0 %GATEWAY% 
route add 212.160.72.0 mask 255.225.255.0 %GATEWAY% 
route add 212.160.73.0 mask 255.225.255.224 %GATEWAY% 
route add 212.160.73.32 mask 255.225.255.240 %GATEWAY% 
route add 212.160.73.48 mask 255.225.255.248 %GATEWAY% 
route add 212.160.73.56 mask 255.225.255.252 %GATEWAY% 
route add 212.160.73.60 mask 255.225.255.254 %GATEWAY% 
REM -cc.unet.pl 212.160.73.62
route add 212.160.73.63 mask 255.225.255.255 %GATEWAY% 
route add 212.160.73.64 mask 255.225.255.192 %GATEWAY% 
route add 212.160.73.128 mask 255.225.255.128 %GATEWAY% 
route add 212.160.74.0 mask 255.225.254.0 %GATEWAY% 
route add 212.160.76.0 mask 255.225.252.0 %GATEWAY% 
route add 212.160.80.0 mask 255.225.240.0 %GATEWAY% 
route add 212.160.96.0 mask 255.225.224.0 %GATEWAY% 
route add 212.160.128.0 mask 255.225.128.0 %GATEWAY% 
route add 212.161.0.0 mask 255.255.0.0 %GATEWAY% 
route add 212.162.0.0 mask 255.254.0.0 %GATEWAY% 
route add 212.164.0.0 mask 255.252.0.0 %GATEWAY% 
route add 212.168.0.0 mask 255.248.0.0 %GATEWAY% 
route add 212.176.0.0 mask 255.240.0.0 %GATEWAY% 
route add 212.192.0.0 mask 255.192.0.0 %GATEWAY% 

route add 213.0.0.0 mask 255.128.0.0 %GATEWAY% 
route add 213.128.0.0 mask 255.192.0.0 %GATEWAY% 
route add 213.192.0.0 mask 255.240.0.0 %GATEWAY%
route add 213.208.0.0 mask 255.248.0.0 %GATEWAY%
route add 213.216.0.0 mask 255.252.0.0 %GATEWAY%
route add 213.220.0.0 mask 255.254.0.0 %GATEWAY%
route add 213.222.0.0 mask 255.254.128.0 %GATEWAY%
route add 213.222.128.0 mask 255.255.192.0 %GATEWAY%
route add 213.222.192.0 mask 255.255.255.240 %GATEWAY%
route add 213.222.192.16 mask 255.255.255.248 %GATEWAY%
route add 213.222.192.24 mask 255.255.255.252 %GATEWAY%
route add 213.222.192.28 mask 255.255.255.254 %GATEWAY%
REM -213.222.192.30 
route add 213.222.192.31 mask 255.255.255.255 %GATEWAY%
route add 213.222.192.32 mask 255.255.255.224 %GATEWAY%
route add 213.222.192.64 mask 255.255.255.192 %GATEWAY%
route add 213.222.192.128 mask 255.255.255.128 %GATEWAY%
route add 213.222.193.0 mask 255.255.255.0 %GATEWAY%
route add 213.222.194.0 mask 255.255.254.0 %GATEWAY%
route add 213.222.196.0 mask 255.255.252.0 %GATEWAY%
route add 213.222.200.0 mask 255.255.248.0 %GATEWAY%
route add 213.222.208.0 mask 255.255.240.0 %GATEWAY%
route add 213.222.224.0 mask 255.255.224.0 %GATEWAY%
route add 213.223.0.0 mask 255.255.0.0 %GATEWAY%
route add 213.224.0.0 mask 255.224.0.0 %GATEWAY%

route add 214.0.0.0 mask 254.0.0.0 %GATEWAY% 
route add 216.0.0.0 mask 248.0.0.0 %GATEWAY%
REM 224.0.0.0		224.0.0.0
REM 255.255.255.255  255.255.255.255
3) Oba skrypty powinny znajdować się w tym samym katalogu.

Uruchomienie skryptu IPFIX.BAT uruchamia procedurę wykrycia adresu bramy. Niestety adres bramy może zostać przekazany do skryptu DOMYśLNA.BAT tylko jeżeli aktywna karta sieciowa jest pierwszym lub jedynym urządzeniem/kartą sieciową. Najlepiej jest usunąć zbędne karty sieciowe lub urządzenie Dial-Up networking (jeżeli Interned dostępny jest przez kartę sieciową). Jeżeli nie jest to możliwe, to pozostaje jedynie wpisać na stałe adres bramy do skryptu DOMYśLNA.BAT.

Przykładowo:
SET GATEWAY=192.168.10.1

Jeżeli do foderu Autostart dodamy skrót do skryptu IPFIX.BAT zapewni to automatyczne jego uruchomienie po starcie komputera. Taka ochrona jest jednak skuteczna jedynie do momentu wygaśnięcia dzierżawy adresu DHCP. Jeżeli, okres dzierżawy jest krótki, to taki automat nie zda egzaminu. W większości przypadków, okres dzierżawy wynosi od kilkunastu godzin do tygodnia, tak więc problem ze zbyt krótkim okresem jest mało prawdopodobny.

Skrypt jest dość długi, tak więc czas jego wykonywania jest isotny. Szybkość wykonywania skryptu drastycznie spada, jeżeli jego okno nie jest aktywne.