Widzę dziwne zachowanie na komputerze użytkownika. Gdy próbuję wybrać plik w selektorze plików programu Internet Explorer, nie widzę tych samych folderów, co w systemie Windows.
Na przykład, jeśli przejdę do C:\Users\username\Documents\
, podfoldery są różne.
Jeśli skopiuję ścieżkę z Eksploratora Windows do okna wyboru pliku, pokaże to właściwe pliki, ale jeśli przejdę do góry C:\Users\username\Documents\
, ponownie pokazuje nieprawidłowe pliki.
Jak to się dzieje i jak mogę to rozwiązać?
Po niektórych testach takie zachowanie ma miejsce tylko w przypadku przesyłania plików w aplikacjach Silverlight. Zdarza się, że wyświetlany folder to:
C:\Users\username\AppData\Local\Microsoft\Windows\INetCache\Virtualized\C\Users\username\Documents\
windows-10
windows-explorer
user2223898
źródło
źródło
Odpowiedzi:
Jak wspomniano w komentarzach, ten folder był zwirtualizowany . Wtyczka Silverlight, próbując na nią spojrzeć, widzi zupełnie inne miejsce.
Po pierwsze, trochę historii
W przejściu z Windows XP na Vista Microsoft poważnie podchodził do ludzi działających jako zwykli użytkownicy (w przeciwieństwie do administratorów). Niestety, programiści aplikacji nie stali się poważni, a ładunki programów pisały do lokalizacji „systemowych”
C:\Windows
lubHKEY_LOCAL_MACHINE
. Aby umożliwić uruchamianie tych aplikacji, Microsoft dodał funkcję o nazwie przekierowanie lub Wirtualizacja UAC . Gdy programy działające jako użytkownicy standardowi próbowali pisać do lokalizacji tylko dla administratora, zapis się powiódł, ale dane rzeczywiście zostały zapisane w lokalizacji dla użytkownika, w szczególności:Ale co to ma wspólnego z tym?
Tryb chroniony przeglądarki Internet Explorer powoduje, że IE i jego wtyczki działają jako coś jeszcze mniej wydajnego niż standardowy użytkownik. Przejście XP → Vista wprowadziło ideę obowiązkowe poziomy . Każdy zabezpieczany obiekt ma obowiązkowy poziom : niski, średni, wysoki lub system. Rzeczy, które mają być napisane przez zwykłych użytkowników / programy, mają średni poziom obowiązkowy.
Rzeczy, do których nawet niezaufane programy mogą zapisywać dane, mają niski poziom obowiązkowy i właśnie w tym działa tryb chroniony IE. Dlatego nie może pisać na żadnym z dokumentów ani upuszczać złych rzeczy do folderu użytkownika. System plików zostanie przekierowany do tych wtyczek do:
Należy zauważyć, że obowiązkowe poziomy integralności mogą odmówić dostępu, nawet jeśli uznaniowa lista kontroli dostępu na to pozwoliłaby. Może to spowodować pewne zamieszanie, jeśli nie wiesz o obowiązkowej kontroli dostępu.
Jak sprawdzić obowiązkowy poziom pliku lub folderu?
Użyj
icacls
użyteczność, jakicacls file.txt
lubicacls \path\to\folder
. Kiedy uruchomię to naVirtualized
folder, dostaję:Jak widać, folder ma niski poziom obowiązkowy. Na moim
C:\
dysk, dostaję:Korzeń mojego dysku ma wysoki poziom obowiązkowy. Większość obiektów nie pokazuje tej linii; gdy jest nieobecny, Windows zakłada, że obiekt ma średni poziom obowiązkowy.
Jak zatrzymać przekierowanie?
Wyłączenie trybu chronionego wszędzie by to zrobiło, ale byłoby to złe dla bezpieczeństwa. Jeśli ufasz witrynie obsługującej aplikację Silverlight, możesz dodać ją do strefy internetowej, która ma wyłączony tryb chroniony. Zrób to, otwierając okno dialogowe Opcje internetowe, przełączając się na kartę Zabezpieczenia, zaznaczając Zaufane strony strefa i kliknięcie przycisku Witryny.
źródło