Pobrany chm jest zablokowany, czy istnieje rozwiązanie?

1

Pobrane pliki CHM są często oznaczane przez system Windows jako potencjalnie szkodliwe, co skutecznie blokuje wszystkie strony HTML znajdujące się w nim. Jest łatwa poprawka (wystarczy odblokować plik po pobraniu), ale zastanawiałem się, czy jest lepszy sposób na udostępnienie niezablokowanych plików chm.

Co jeśli ściągnę plik chm (jako strumień bajtów) z naszego serwera wewnątrz aplikacji, a następnie zapisam wszystkie dane do pliku na dysku. Czy nadal będzie zablokowany?

Czy jest jeszcze inny / lepszy sposób?


Edytuj: Tak, pobranie pliku za pomocą System.Net.WebClient rozwiązuje problem. Ale czy jest jeszcze lepszy sposób?


źródło

Odpowiedzi:

3

Kliknij prawym przyciskiem myszy plik .chm - & gt; Właściwości, a następnie kliknij przycisk „Odblokuj” i jesteś gotowy do pracy!

Ranhiru Cooray
źródło
1

Typowy MSFT, najpierw wprowadza takie gówno, jak .chm, a później musi go zablokować, aby jego statek z milionem otworów był bezpieczniejszy. Wszystko ok, ale dlaczego nie wyświetla właściwego komunikatu o błędzie z wyjaśnieniem, co się dzieje, gdy użytkownik nie widzi nic w pliku chm.

nojetlag
źródło
1

Technicznie co się dzieje, gdy IE pobiera plik, używa mało znanej funkcji systemu plików Windows, w której można dołączyć dodatkowe strumienie danych do pliku. IE dodaje: Strumień Zone.Identifier, w którym piszą dane w stylu ini w postaci:

[ZoneTransfer]
ZoneId=$id

$ Id identyfikuje strefę zaufania dla tego pliku i jest ustawiony na URLZONE_INTRANET ( http://msdn.microsoft.com/en-us/library/ms537175(v=vs.85).aspx ).

Jednym ze sposobów rozwiązania tego problemu jest zmiana $ id na URLZONE_LOCAL_MACHINE. Innym jest po prostu usunięcie tego strumienia.

Możesz zobaczyć, jak to zrobiłem w C ++ dla mojej przeglądarki plików PDF Sumatra, kiedy dodaliśmy obsługę CHM: http://code.google.com/p/sumatrapdf/source/detail?r=4639 i http://www.google.com/codesearch#8WOCRDPt-u8/trunk/src/utils/FileUtil.cpp&q=SetZoneIdentifier%20package:http://sumatrapdf%5C.googlecode%5C.com&l=340

Nie jestem pewien, czy uznasz to za lepsze rozwiązanie, jeśli sam pobierasz plik.

Krzysztof Kowalczyk
źródło
0

Zgadnij, ale czy jesteś pewien, że to Windows to oznacza? Czy to nie może być Internet Explorer, w takim przypadku użyj innej przeglądarki?

JRL
źródło
1
nie, to nadal jest takie samo w Firefoksie - pobierz CHM z nim, a także jest oznaczony jako „niebezpieczny” i nie będzie wyświetlany, dopóki nie odblokujesz go ręcznie ...
marc_s
1
Tak samo z Chrome, pobrane pliki są oznaczone.