Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Platformy, których dotyczy problem
Klienci — Windows 7
Servers — Windows Server 2008 R2
Wpływ funkcji
Dotkliwość — wysoka
Częstotliwość — Wysoka
Opis
Numer wersji wewnętrznej dla systemów Windows 7 i Windows Server 2008 R2 to 6.1. Funkcja GetVersion zwróci teraz ten numer wersji do aplikacji po wysłaniu zapytania. Jest to szczególnie ważne w przypadku ochrony przed wirusami, kopiami zapasowymi, aplikacjami narzędziowymi i ochroną kopii.
Manifestacja wpływu
Przejaw tej zmiany jest specyficzny dla aplikacji. Oznacza to, że każda aplikacja, która specjalnie sprawdza wersję systemu operacyjnego, otrzyma wyższy numer wersji, co może prowadzić do co najmniej jednej z następujących sytuacji:
- Instalatory aplikacji mogą nie być w stanie zainstalować aplikacji, a uruchomienie aplikacji może być niemożliwe
- Aplikacje mogą stać się niestabilne lub ulegać awarii
- Aplikacje mogą generować komunikaty o błędach, ale nadal działają prawidłowo
Łagodzenia
Większość aplikacji będzie działać prawidłowo w systemach Windows 7 i Windows Server 2008 R2, ponieważ zgodność aplikacji w systemach Windows 7 i Windows Server 2008 R2 jest bardzo wysoka. Jednak systemy Windows 7 i Windows Server 2008 R2 zawierają widok zgodności dla instalatorów i aplikacji, które sprawdzają wersję systemu operacyjnego.
Aby włączyć widok zgodności, użytkownicy mogą kliknąć prawym przyciskiem myszy skrót lub plik wykonywalny, a następnie zastosować widok zgodności systemu Windows XP z dodatkiem SP2 lub Windows Vista na karcie Zgodność. W większości przypadków powinno to umożliwić aplikacji prawidłowe działanie bez konieczności wprowadzania jakichkolwiek zmian w aplikacji.
Specjaliści IT mogą również zastosować dowolne z odpowiednich poprawek zgodności VersionLie, korzystając z narzędzia Administrator zgodności, które instaluje z zestawem narzędzi zgodności aplikacji (ACT). Na przykład, jeśli aplikacja nie może działać, ponieważ sprawdza, ale nie znajduje informacji o wersji Windows XP® z dodatkiem Service Pack 2 (SP2), można zastosować WinXPSP2VersionLie, aby zwrócić do aplikacji odpowiednie informacje o numerze wersji, niezależnie od rzeczywistej wersji systemu operacyjnego uruchomionego na komputerze. Dostępne poprawki zgodności VersionLie to:
- Win95VersionLie
- Win98VersionLie
- WinNT4SP5VersionLie
- Win2000VersionLie
- Win2000SP1VersionLie
- Win2000SP2VersionLie
- Win2000SP3VersionLie
- WinXPVersionLie
- WinXPSP1VersionLie
- WinXPSP2VersionLie
- VistaRTMVersionLie
- VistaSP1VersionLie
- VistaSP2VersionLie
- Win2K3RTMVersionLie
- Win2K3SP1VersionLie
Rozwiązanie
Ogólnie rzecz biorąc, aplikacje nie powinny wykonywać kontroli wersji systemu operacyjnego. Jeśli aplikacja potrzebuje określonej funkcji, najlepiej jest spróbować znaleźć tę funkcję i zakończyć się niepowodzeniem tylko wtedy, gdy brakuje potrzebnej funkcji. Co najmniej aplikacje powinny zawsze akceptować numery wersji większe lub równe najniższej obsługiwanej wersji systemu operacyjnego. Wyjątki powinny wystąpić tylko wtedy, gdy istnieje określone wymaganie prawne, biznesowe lub dotyczące składników systemowych.
Linki do innych zasobów
- Pobieranie zestawu narzędzi zgodności aplikacji
- znane poprawki zgodności, tryby zgodności i komunikaty AppHelp