Objawy
W angielskiej wersji systemu Windows 7 Release Candidate (kompilacja 7100) w wersji 32-bitowej Ultimate w deskryptorze zabezpieczeń brakuje folderu utworzonego jako folder główny dysku systemowego (%SystemDrive%). Jednym z efektów tego problemu jest to, że standardowi użytkownicy, tacy jak nie-administratorzy, nie mogą wykonywać wszystkich operacji na podfolderach utworzonych bezpośrednio w katalogu głównym. W związku z tym aplikacje, które odwołują się do folderów w katalogu głównym, mogą nie zainstalować się pomyślnie lub nie odinstalować. Ponadto operacje lub aplikacje, które odwołują się do tych folderów, mogą zakończyć się niepowodzeniem.
Jeśli na przykład folder jest tworzony pod katalogiem głównym dysku systemowego za pomocą wiersza polecenia z podwyższonym poziomem uprawnień, ten folder nie odziedziczy poprawnie uprawnień po katalogu głównym dysku. Dlatego niektóre określone operacje, takie jak usunięcie folderu, zakończy się niepowodzeniem po wykonaniu ich z wiersza polecenia nieobjętego podwyższonym poziomem uprawnień. Ponadto w przypadku niepowodzenia operacji jest wyświetlany następujący komunikat o błędzie:
Uwaga
Odmowa dostępu.
Ponadto brakujące wpisy deskryptora zabezpieczeń chronią operacje na plikach innych niż administracyjne bezpośrednio w katalogu głównym.
Przyczyna
Ten problem występuje, ponieważ angielska wersja systemu Windows 7 Release Candidate 32-bit Ultimate nieprawidłowo ustawia listy kontroli dostępu (ACL) w katalogu głównym.
Rozwiązanie
Dla klientów, których dotyczy ten problem, poprawka jest dostępna za pośrednictwem Windows Update:
http://update.microsoft.com/windowsupdate
Informacje dotyczące poprawek
Obsługiwana poprawka jest dostępna od firmy Microsoft. Jednak ta poprawka ma na celu naprawienie tylko problemu opisanego w tym artykule. Zastosuj tę poprawkę tylko do systemów, w których występuje ten konkretny problem.
Wymagania wstępne
Aby zastosować tę poprawkę, musisz mieć zainstalowany system Windows 7 Release Candidate 32-bit Ultimate.
Wymóg ponownego uruchomienia
Po zastosowaniu tej poprawki nie trzeba ponownie uruchamiać komputera.
Informacje dotyczące zastępowania poprawek
Ta poprawka nie zastępuje wcześniej wydanej poprawki.
Informacje o plikach
Angielska wersja tej poprawki zawiera atrybuty plików (lub nowsze atrybuty plików) wymienione w poniższej tabeli. Daty i godziny dla tych plików są wymienione w uniwersalnym czasie koordynowanym (UTC). Podczas wyświetlania informacji o pliku są konwertowane na czas lokalny. Aby znaleźć różnicę między czasem UTC a czasem lokalnym, użyj karty Strefa czasowa w elemencie Data i godzina w Panel sterowania.
| Nazwa pliku | Wersja pliku | Rozmiar pliku | Data | Godzina | Platforma |
|---|---|---|---|---|---|
| Cleanwin7rcroot.exe | 6.1.7100.15 | 15,944 | 04-maj 2009 r. | 06:33 | x86 |
Poprawka zostanie wydana za pośrednictwem Windows Update.
Pakiet poprawek
- Ten problem występuje tylko w wersjach systemu Windows 7 Release Candidate Ultimate x86. Utworzono tylko wersję poprawki x86. Ta poprawka zostanie zainstalowana tylko w 32-bitowej kompilacji Ultimate systemu Windows 7 (kompilacja 7100). Aby uniknąć dodatkowych komplikacji ofertowych, poprawka zostanie zainstalowana we wszystkich pięciu wersjach językowych programu.
- Jeśli poprawka zostanie pomyślnie zainstalowana na komputerze, aktualizacja odwołująca się do tego numeru z bazy wiedzy Baza wiedzy Microsoft Knowledge Base (970789) pojawi się w obszarze Dodaj lub usuń programy. Możesz przejrzeć listę aktualizacji w sekcji Dodawanie lub usuwanie programów, aby potwierdzić, że instalacja poprawek powiodła się.
- Możesz odinstalować tę poprawkę, a następnie zainstalować ją ponownie. Jeśli odinstalujesz poprawkę, listy ACL nie powrócą do poprzedniego stanu. Oznacza to, że zmiana wprowadzana przez tę poprawkę w listach ACL nie jest odwracana po odinstalowaniu poprawki.
Narzędzie CleanWin7RCRoot.exe
- Narzędzie CleanWin7RCRoot.exe sprawdza pełny deskryptor zabezpieczeń w katalogu głównym dysku systemowego, który ma deskryptor zabezpieczeń "znane złe". Narzędzie zamieni nieprawidłowy deskryptor zabezpieczeń na poprawny. Po wymianie deskryptora zabezpieczeń foldery utworzone w folderze głównym dysku systemowego dziedziczą poprawne listy ACL i aplikacje zostaną pomyślnie zainstalowane.
- Poprawka nie naprawia aplikacji, które są już zainstalowane.
- Jeśli zmieniono deskryptor zabezpieczeń głównych, narzędzie CleanWin7RCRoot.exe nie wprowadza zmian w zestawie ACL. Zapobiega to potencjalnym problemom ze zgodnością aplikacji.
Uwaga Nie można zastosować tej poprawki w trybie offline. Aby uzyskać informacje na temat stosowania tej zmiany do obrazów w trybie offline, zobacz sekcję "Instrukcje dotyczące trybu offline" w dalszej części tego dokumentu.
Obejście
Ten problem dotyczy tylko obrazów opartych na 32-bitowej wersji systemu Windows 7 (kompilacja 7100) Ultimate. Aby upewnić się, że ta aktualizacja nie ma wpływu na środowisko użytkownika, zalecamy podjęcie następujących czynności:
- Wykonaj kopię zapasową bieżącego systemu.
- Rozpocznij od dysku DVD.
- Sformatuj partycję w miejscu, w którym chcesz zainstalować system Windows 7.
- Po zakończeniu instalacji systemu Windows 7 zainstaluj tę aktualizację z Windows Update przed przywróceniem kopii zapasowych lub zainstalowaniem innego oprogramowania.
Jeśli system operacyjny został już zainstalowany bez formatowania dysku, upewnij się, że ustawienia są poprawne. W tym celu uruchom następujące polecenie z wiersza polecenia z podwyższonym poziomem uprawnień:
Cd\
Icacls\
Po uruchomieniu polecenia powinien zostać wyświetlony następujący tekst:
\ BUILTIN\Administrators:(F)
BUILTIN\Administrators:(OI)(CI)(IO)(F)
NT AUTHORITY\SYSTEM:(F)
NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F)
BUILTIN\Users:(OI)(CI)(RX)
NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)(M)
NT AUTHORITY\Authenticated Users:(AD)
Mandatory Label\High Mandatory Level:(OI)(NP)(IO)(NW)
Jeśli wyświetlany tekst różni się od tego tekstu i nie wprowadzono wcześniej żadnych innych oczekiwanych zmian, należy zainstalować poprawkę.
Jeśli chcesz ręcznie zastosować poprawkę, która replikuje funkcje poprawki, uruchom następujące polecenie z wiersza polecenia z podwyższonym poziomem uprawnień:
Cd\
kaktusy \ /S:D:PAI(A;; FA;;; BA)(A; OICIIO;GA;;; BA)(A;; FA;;; SY)(A; OICIIO;GA;;; SY)(A; OICI; 0x1200a9;;; BU)(A; OICIIO; SDGXGWGR;;; AU)(A;; LC;;; AU)
xmlls \ /setintegritylevel (OI)(NP)(IO)H
Jeśli już zastosowano poprawkę opisaną w tym artykule, ale masz istniejące katalogi lub foldery, które zostały utworzone poza folderem głównym na dysku systemowym i chcesz zastosować poprawkę do tych katalogów, uruchom następujące polecenie z wiersza polecenia z podwyższonym poziomem uprawnień:
Cd\
Katalog cd <, do których chcesz zastosować zmiany>
katalog cacls <, który chcesz zastosować do zmian w> katalogu /S:D:AINote Nie stosuj polecenia xmlls do podkatalogi poza katalogiem głównym.
Ten problem dotyczy tylko obrazów opartych na 32-bitowej wersji systemu Windows 7 (kompilacja 7100) Ultimate.
Instrukcje dotyczące trybu offline
Poniższe instrukcje dotyczą technika, który modyfikuje obrazy w trybie offline przed wdrożeniem i przed zainstalowaniem aplikacji na obrazie.
Zainstaluj lub zastosuj obraz docelowy, a następnie uruchom następujące polecenie z wiersza polecenia z podwyższonym poziomem uprawnień:
ścieżka cacls <do katalogu głównego na zamontowanym wim> /S:D:PAI(A;; FA;;; BA)(A; OICIIO;GA;;; BA)(A;; FA;;; SY)(A; OICIIO;GA;;; SY)(A; OICI; 0x1200a9;;; BU)(A; OICIIO; SDGXGWGR;;; AU)(A;; LC;;; AU)
ścieżka xmlls <do dysku głównego na zamontowanym wim> /setintegritylevel (OI)(NP)(IO)H
Jeśli musisz zastosować ustawienia do folderów utworzonych przez użytkownika poza katalogiem głównym w pliku obrazu WIM, zainstaluj lub zastosuj obraz docelowy, a następnie uruchom następujące polecenie z wiersza polecenia z podwyższonym poziomem uprawnień:
Ścieżka dysku CD <do katalogu w WIM, do których chcesz zastosować zmiany>
ścieżka cacls <do katalogu w WIM, który chcesz zastosować zmiany do/S:D:AINote Nie stosuj polecenia wygaszaczy do podkierunków poza katalogiem głównym.
Stan
Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.
Więcej informacji
Ta poprawka ma dwa odrębne elementy: szczegóły CleanWin7RCRoot.exe i szczegóły pakietu.
Szczegóły CleanWin7RCRoot.exe
Jest to poprawka o ograniczonym zakresie, która próbuje rozwiązać problem, stara się uniknąć problemów ze zgodnością aplikacji w przyszłości i stara się nie podejmować dodatkowego ryzyka, próbując scalić ustawienia zmodyfikowane przez użytkownika. Poprawka rozwiązuje problem, uniemożliwiając standardowemu użytkownikowi lub gościowi tworzenie plików w katalogu głównym systemu. W przypadku każdego komputera, na który występuje problem, wynikowy język DACL w katalogu głównym systemu jest taki sam jak ten, który znajduje się we właściwych wersjach jednostek SKU.
Poprawka
- Plik wykonywalny sprawdza pełny deskryptor zabezpieczeń w katalogu głównym dysku systemowego, który ma deskryptor zabezpieczeń "znane złe".
- Jeśli narzędzie CleanWin7RCRoot.exe ustali, że deskryptor zabezpieczeń jest nieprawidłowy, zostanie zastąpiony prawidłowym deskryptorem zabezpieczeń.
Popraw SDDL: D:PAI(A;; FA;;; BA)(A; OICIIO;GA;;; BA)(A;; FA;;; SY)(A; OICIIO;GA;;; SY)(A; OICI; 0x1200a9;;; BU)(A; OICIIO; SDGXGWGR;;; AU)(A;; LC;;; AU)S:P(ML;OINPIO; NW;;; WITAJ) - Narzędzie zamieni nieprawidłowy deskryptor zabezpieczeń na poprawny. Po zastąpieniu deskryptora zabezpieczeń foldery utworzone w folderze głównym dysku systemowego dziedziczą poprawne listy ACL, a instalacje aplikacji zakończyły się pomyślnie.
Problemy, których poprawka nie rozwiązuje
Istnieją dwa główne problemy, których poprawka nie rozwiązuje:
- Poprawka zmienia domyślną wartość języka DACL w katalogu głównym systemu, tak aby była taka sama jak na komputerze z systemem Windows 7 RTM lub na komputerze z systemem Windows 7 Release Candidate. Jednak ta poprawka nie propaguje zmian w podkatalogiach.
- Poprawka nie próbuje naprawić żadnych głównych deskryptorów zabezpieczeń, które zostały zmodyfikowane przez użytkownika końcowego.
Odinstalowywanie
Plik wykonywalny nie obsługuje odinstalowywania. Zmiany wprowadzone przez poprawkę są trwałe. Nawet jeśli pakiet zostanie odinstalowany, zmiany wprowadzone przez CleanWin7RCRoot.exe nie zostaną przywrócone.
Przypadki błędów
Przypadki błędów narzędzia to błędy tylko wtedy, gdy plik wykonywalny identyfikuje problem, ale nie może rozwiązać problemu. Jeśli plik wykonywalny stwierdzi, że nie może rozwiązać problemu, ponieważ ACL nie jest zgodny z oczekiwaniami, nawet jeśli nadal jest nieprawidłowy, narzędzie zwróci sukces.
Źródła informacji
Aby uzyskać więcej informacji o listach ACL i deskryptorach zabezpieczeń, odwiedź następujące witryny internetowe microsoft MSDN:
http://msdn.microsoft.com/en-us/library/aa374872(VS.85).aspx
http://msdn.microsoft.com/en-us/library/bb648648(VS.85).aspx Aby uzyskać więcej informacji na temat terminologii aktualizacji oprogramowania, kliknij następujący numer artykułu, aby wyświetlić ten artykuł w bazie wiedzy Baza wiedzy Microsoft Knowledge Base:
824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft