Udostępnij za pośrednictwem


Uaktualnienie istniejącego formantu ActiveX

Formanty ActiveX istniejących (dawniej OLE kontroluje) może służyć w Internecie, bez konieczności ich modyfikacji.Jednakże można zmodyfikować formantów na poprawienie wydajności.Podczas korzystania z formantu na stronie sieci Web, pojawiają się dodatkowe kwestie.Plik ocx i wszystkie pliki obsługi musi znajdować się na komputerze docelowym lub pobrać poprzez Internet.Dzięki temu rozmiar kodu i pobierania ważną kwestią czasu.Pliki do pobrania mogą być pakowane w pliku .cab podpisanego.Można oznaczyć formant jako bezpieczny dla wykonywania skryptów, a jako bezpieczne dla inicjowania.

W tym artykule omówiono następujące tematy:

  • Kod opakowania do pobrania

  • Znakowanie bezpiecznym sterowania do wykonywania skryptów i Inicjowanie

  • Zagadnienia licencjonowania

  • Podpisywanie kodu

  • Zarządzanie na palecie

  • Poziom bezpieczeństwa programu Internet Explorer przeglądarki i kontrolować zachowanie

Można również dodać optymalizacje, zgodnie z opisem w formantów ActiveX: Optymalizacja.Monikery może być wykorzystywany do pobierania właściwości i duże plamy asynchronicznie, zgodnie z opisem w Formantów ActiveX w Internecie.

Kod opakowania do pobrania

Aby uzyskać więcej informacji na ten temat zobacz artykuł bazy wiedzy Knowledge Base "Opakowania MFC formantów dla użytku nad Internetem" (Q167158).Artykuły z bazy wiedzy można znaleźć na dysku CD-ROM z biblioteki MSDN lub w https://support.microsoft.com/support.

941zhks9.collapse_all(pl-pl,VS.110).gifCODEBASE Tag

Formanty ActiveX są osadzone na stronach sieci Web przy użyciu <OBJECT> tag.CODEBASE Parametr <OBJECT> tag Określa lokalizację, z których można pobrać formant.CODEBASEmożna wskazać pomyślnie w wielu różnych typów plików.

941zhks9.collapse_all(pl-pl,VS.110).gifZnacznikiem CODEBASE przy użyciu pliku OCX

CODEBASE="http://example.microsoft.com/mycontrol.ocx#version=4,70,0,1086"

To rozwiązanie do pobrania tylko plik ocx formantu i wymaga obsługi biblioteki DLL do już być zainstalowany na komputerze klienta.To działa dla programu Internet Explorer i ActiveX biblioteki MFC formanty, utworzone w programie Visual C++, ponieważ program Internet Explorer jest dostarczany z pomocniczych bibliotek DLL dla formantów Visual C++.Jeśli innej przeglądarki internetowej, która jest zdolne do formantu ActiveX jest używany do oglądania tego formantu, to rozwiązanie nie będzie działać.

941zhks9.collapse_all(pl-pl,VS.110).gifZnacznikiem CODEBASE przy użyciu pliku INF

CODEBASE="http://example.microsoft.com/trustme.inf"

Plik .inf kontroli instalacji .ocx i jego pliki pomocnicze.Ta metoda nie jest zalecane, ponieważ nie jest możliwe do podpisania pliku .inf (zobacz Podpisywania kodu dla wskaźników dotyczących podpisywania kodu).

941zhks9.collapse_all(pl-pl,VS.110).gifZnacznikiem CODEBASE z pliku CAB

CODEBASE="http://example.microsoft.com/acontrol.cab#version=1,2,0,0"

Pliki cabinet są zalecanym sposobem pakiet formantów ActiveX, które użycia klas MFC.Formant ActiveX biblioteki MFC w pliku cabinet pakowania pozwala plik .inf, zostać włączone do sterowania instalacji formantu ActiveX i wszelkie zależne biblioteki DLL (na przykład MFC DLL).Przy użyciu pliku CAB automatycznie kompresuje kodu do pobrania szybciej.Jeśli jest używany plik cab do pobrania składnika, to szybsze do podpisania pliku .cab całego niż poszczególnych składników.

941zhks9.collapse_all(pl-pl,VS.110).gifTworzenie plików CAB

Plik cab Development Kit można pobrać z bazy wiedzy 310618: Microsoft gabinetu Software Development Kit.W tym zestawie znajdziesz niezbędne narzędzia do konstruowania pliki typu cabinet.

Plik cabinet wskazywanej przez CODEBASE powinien zawierać plik ocx dla formantów ActiveX i plik .inf, aby kontrolować jej instalacji.Możesz utworzyć plik cabinet, określając nazwę pliku sterowania i plik inf.Nie należy dołączać zależne biblioteki DLL, które mogą już istnieć w systemie w pliku cabinet.Na przykład biblioteki MFC DLL spakowany w oddzielnym pliku cabinet oraz określonych przez kontrolowanie pliku inf.

Aby uzyskać szczegółowe informacje na temat tworzenia pliku CAB, zobacz Tworzenie pliku CAB.

941zhks9.collapse_all(pl-pl,VS.110).gifPlik INF

Poniższy przykład, spindial.inf, listy plików pomocniczych i informacje o wersji potrzebne dla MFC Spindial kontroli.Należy zauważyć, że lokalizacja dla biblioteki MFC DLL jest witryną sieci Web firmy Microsoft.Mfc42.cab jest dostarczane i podpisane przez firmę Microsoft.

Contents of spindial.inf:
[mfc42installer] 
file-win32-x86=http://activex.microsoft.com/controls/vc/mfc42.cab 
[Olepro32.dll] - FileVersion=5,0,4261,0
[Mfc42.dll] - FileVersion=6,0,8168,0
[Msvcrt.dll] - FileVersion=6,0,8168,0

941zhks9.collapse_all(pl-pl,VS.110).gif<OBJECT> Tag

Poniższy przykład ilustruje, za pomocą <OBJECT> tag, aby spakować MFC Spindial próbki kontrolnej.

<OBJECT ID="Spindial1" WIDTH=100 HEIGHT=51
  CLASSID="CLSID:06889605-B8D0-101A-91F1-00608CEAD5B3"
  CODEBASE="http://example.microsoft.com/spindial.cab#Version=1,0,0,001">
    <PARAM NAME="_Version" VALUE="65536">
    <PARAM NAME="_ExtentX" VALUE="2646">
    <PARAM NAME="_ExtentY" VALUE="1323">
    <PARAM NAME="_StockProps" VALUE="0">
    <PARAM NAME="NeedlePosition" VALUE="2">
</OBJECT>

W takim przypadku spindial.cab będzie zawierać dwa pliki, spindial.ocx i spindial.inf.Następujące polecenie utworzy plik cabinet:

C:\CabDevKit\cabarc.exe -s 6144 N spindial.cab spindial.ocx spindial.inf 

–s 6144 Parametr rezerwuje miejsce w pliku cab do podpisywania kodu.

941zhks9.collapse_all(pl-pl,VS.110).gifTag wersji

W tym miejscu zauważyć, że #Version informacje z pliku CAB odnoszą się do kontroli, określonej przez CLASSID parametr <OBJECT> tag.

W zależności od wersji określone można wymusić pobrania formantu.Dla specyfikacji pełne OBJECT tag łącznie z CODEBASE parametr, odwołania Zobacz W3C.

Znakowanie bezpiecznym sterowania do wykonywania skryptów i Inicjowanie

Formanty ActiveX używane na stronach sieci Web powinien być oznaczony jako bezpieczny dla wykonywania skryptów i bezpiecznie zainicjować, jeśli w rzeczywistości są one bezpieczne.Formant bezpieczny nie wykona operacji We/Wy dysku lub bezpośrednio uzyskiwać dostęp do pamięci lub rejestry maszyny.

Formanty może zostać oznaczony jako bezpieczny dla wykonywania skryptów i bezpiecznie zainicjować za pomocą rejestru.Modyfikowanie DllRegisterServer Aby dodać wpisy podobne do następujących czynności, aby zaznaczyć formant jako bezpieczny dla skryptów i trwałość w rejestrze.Alternatywną metodą jest wykonanie IObjectSafety.

Identyfikatory GUID (Globally unikatowe identyfikatory) określi formantu do oznaczenia bezpieczny dla skryptów i trwałości.Formanty, które można bezpiecznie ładowanie będzie zawierać wpis podobny do następującego:

HKEY_CLASSES_ROOT\Component Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}

Formanty, które można bezpiecznie zainicjować z trwałych danych są oznaczone jako bezpieczne dla persistence z wpisu rejestru podobne do:

HKEY_CLASSES_ROOT\Component Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}

Dodaj wpisy podobne do następującego (zastępując tego formantu identyfikator zamiast klasy {06889605-B8D0-101A-91F1-00608CEAD5B3}) do kojarzenia klucze z następującym Identyfikatorem klasy:

HKEY_CLASSES_ROOT\CLSID\{06889605-B8D0-101A-91F1-00608CEAD5B3}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4} 
HKEY_CLASSES_ROOT\CLSID\{06889605-B8D0-101A-91F1-00608CEAD5B3}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4} 

Zagadnienia licencjonowania

Jeśli chcesz użyć licencjonowanego formantu na stronie sieci Web, należy sprawdzić, że Umowa licencyjna pozwala na jego stosowanie w Internecie i utworzyć pliku pakietu licencji (LPK) dla niego.

Licencjonowanego formantu ActiveX nie zostanie załadowany poprawnie na stronie HTML Jeśli komputer z programu Internet Explorer nie ma licencji na używanie formantu.Na przykład jeśli formantem licencjonowanym został zbudowany przy użyciu języka Visual C++, strony HTML przy użyciu formantu załaduje prawidłowo na komputerze, w którym formant został zbudowany, ale go nie załaduje na innym komputerze, o ile nie jest uwzględniane informacje licencyjne.

Aby użyć licencjonowanego formantu ActiveX w programie Internet Explorer, należy sprawdzić umowy licencyjnej dostawcy Aby zweryfikować, że licencja dla formantu pozwala:

  • Ponowna dystrybucja

  • Korzystanie z kontroli w Internecie

  • Użycie parametru Codebase

Aby użyć formantem licencjonowanym na stronie HTML, na maszynie nonlicensed, należy wygenerować pliku pakietu licencji (LPK).Plik LPK zawiera wykonania licencje dla licencjonowanych formantów na stronie HTML.Ten plik jest generowany przez LPK_TOOL.EXE, który dostarczany z zestawem ActiveX SDK.Aby uzyskać więcej informacji, zobacz witrynę MSDN w sieci Web pod https://msdn.microsoft.com.

Aby utworzyć plik LPK

  1. Uruchom LPK_TOOL.EXE na komputerze, na którym jest licencjonowana do korzystania z formantu.

  2. W Narzędzie License Package Authoring Tool dialogowe, w dostępnekontroli pole listy, wybierz każdego licencjonowanego formantu ActiveX, który będzie używany na stronie HTML, a następnie kliknij przycisk Dodaj.

  3. Kliknij przycisk Zapisz & Zakończ i wpisz nazwę dla pliku LPK.Spowoduje to utworzenie pliku LPK i zamknij aplikację.

Osadzenie licencjonowanego formantu na stronie HTML

  1. Edytować stronę HTML.Na stronie HTML wstawić <OBJECT> Tag obiektu Menedżera licencji przed wszelkie inne <OBJECT> tagi.Menedżer licencji jest formantem ActiveX, który jest instalowany z programu Internet Explorer.Poniżej przedstawiono jego identyfikator klasy.Właściwość LPKPath obiektu Menedżera licencji na ścieżkę i nazwę pliku LPK.Można mieć tylko jeden plik LPK na stronie HTML.

    <OBJECT CLASSID = "clsid:5220cb21-c88d-11cf-b347-00aa00a28331">
        <PARAM NAME="LPKPath" VALUE="relative URL to .LPK file">
    </OBJECT>
    
  2. Wstaw <OBJECT> Tag licencjonowanego formantu po tagu Menedżera licencji.

    Na przykład strony HTML, która wyświetla formant Microsoft maskowane edycji znajduje się poniżej.Pierwszej klasy, którą ID jest do celów kontroli Menedżera licencji, do drugiej klasy ID jest dla formantu maskowane edytować.Zmienić etykiety tak, aby wskazać ścieżkę względną utworzonego wcześniej pliku .lpk i dodać tag obiektu, łącznie z Identyfikatorem klasy formantu.

  3. Wstaw <EMBED> atrybut pliku LPK, jeśli przy użyciu formantu NCompass ActiveX dodatku plug-in.

    Jeśli kontroli mogą być oglądane na inne aktywne włączone przeglądarek — na przykład Netscape przy użyciu dodatku plug-in NCompass ActiveX — należy dodać <EMBED> Składnia, jak pokazano poniżej.

    <OBJECT CLASSID="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">
        <PARAM NAME="LPKPath" VALUE="maskedit.lpk">
    
        <EMBED SRC = "maskedit.LPK">
    
    </OBJECT>
    <OBJECT CLASSID="clsid:C932BA85-4374-101B-A56C-00AA003668DC" WIDTH=100 HEIGHT=25>
    </OBJECT>
    

Aby dowiedzieć się więcej na temat sterowania licencjonowania, zobacz formantów ActiveX: licencjonowania formantu ActiveX.

Podpisywanie kodu

Podpisywanie kodu służy do identyfikowania źródła kodu i zagwarantowanie, że kod nie zmienił się od go podpisała.W zależności od ustawienia bezpieczeństwa przeglądarki użytkownik może ostrzegał przed pobraniem kodu.Użytkownicy mogą wybrać ufać niektórych właścicieli certyfikatów lub firm, w których przypadku kodowi podpisanemu przez tych zaufane, będą pobierane bez ostrzeżenia.Kod jest podpisany cyfrowo do zakłócając tym samym.

Upewnij się, że końcowe kodu jest podpisany, tak aby kontroli, które mogą być automatycznie pobierane bez wyświetlania komunikatów ostrzegawczych zaufania.Szczegółowe informacje na temat sposób podpisywania kodu można znaleźć w dokumentacji na Authenticode w zestawie SDK ActiveX i zobacz Podpisywanie pliku CAB.

W zależności od zaufania i przeglądarka bezpieczeństwa ustawienia poziomu certyfikat może być wyświetlany do identyfikowania podpisywania osoby lub firmy.Jeśli poziom bezpieczeństwa jest brak lub właściciela certyfikatu podpisanego formantu jest zaufane, certyfikat zostanie pominięta.Zobacz poziomów bezpieczeństwa przeglądarki programu Internet Explorer i kontrolować zachowanie szczegółowe informacje na temat jak ustawienia bezpieczeństwa przeglądarki określi, czy formant jest pobierana i certyfikat wyświetlane.

Cyfrowego podpisywania kodu gwarancje nie uległ zmianie, ponieważ jest on podpisany.Wartość mieszania kod jest podjęte i osadzone w świadectwie.Tego skrótu później jest porównywana z wartością mieszania kod pobierane po pobraniu kodu, ale przed uruchomieniem.Firmy takie jak Verisign może dostarczyć klucze prywatne i publiczne, potrzebne do podpisywania kodu.Zestaw SDK ActiveX jest dostarczany z MakeCert, narzędzie do tworzenia świadectwa badań.

Zarządzanie na palecie

Pojemniki określić palety i udostępnić go jako właściwość otoczenia, DISPID_AMBIENT_PALETTE.Kontener (na przykład Internet Explorer) pozwala wybrać paletę, która służy do określenia ich własnych palety przez wszystkich formantów ActiveX na stronie.To zapobiega migotanie ekranu i przedstawia spójny wygląd.

Formant można zastąpić OnAmbientPropertyChange do obsługi powiadamiania o zmianach w palecie.

Formant można zastąpić OnGetColorSet zwraca zestaw rysować na palecie kolorów.Kontenery używają zwracanej wartości, aby ustalić, czy formant jest paleta aware.

OCX 96 wytycznych formant zawsze sobie sprawę jego palety w tle.

Starsze zbiorniki, które nie korzystają z otoczenia palety właściwość będzie wysyłać WM_QUERYNEWPALETTE i WM_PALETTECHANGED wiadomości.Formant można zastąpić OnQueryNewPalette i OnPaletteChanged do obsługi tych wiadomości.

Poziom bezpieczeństwa programu Internet Explorer przeglądarki i kontrolować zachowanie

Przeglądarki ma opcje dla poziomu bezpieczeństwa, konfigurowane przez użytkownika.Ponieważ stron sieci Web mogą zawierać zawartości aktywnej, która może być potencjalnie szkodliwe dla komputera użytkownika, przeglądarek umożliwia użytkownikowi wybór opcji dla poziomu bezpieczeństwa.W zależności od sposobu, w przeglądarce implementuje poziom bezpieczeństwa formant nie może być pobierane w ogóle lub będą wyświetlane certyfikatu lub komunikat ostrzegawczy, aby zezwolić użytkownikowi na wybranie w czasie wykonywania, czy chce pobrać formant.Zachowanie formantów ActiveX w obszarze poziom wysoki, średni i niski bezpieczeństwa w programie Internet Explorer została wymieniona poniżej.

941zhks9.collapse_all(pl-pl,VS.110).gifW trybie wysokiego bezpieczeństwa

  • Niepodpisane formanty nie będą pobierane.

  • Podpisane formanty wyświetli certyfikatu, jeśli niezaufane (użytkownik będzie mógł wybrać opcję zawsze ufał kodowi z tego właściciela certyfikatu od teraz).

  • Tylko formanty oznaczone jako bezpieczne będzie posiadać trwałe dane i/lub być skryptowych.

941zhks9.collapse_all(pl-pl,VS.110).gifW trybie bezpieczeństwa średnim

  • Niepodpisane formanty wyświetli ostrzeżenie przed pobraniem.

  • Podpisane formanty wyświetli certyfikatu, jeśli niezaufanych.

  • Formantów nie zaznaczonych jako bezpieczne wyświetli komunikat ostrzegawczy.

941zhks9.collapse_all(pl-pl,VS.110).gifNiski tryb bezpieczeństwa

  • Formanty są pobierane bez ostrzeżenia.

  • Obsługa skryptów i trwałość odbywa się bez ostrzeżenia.

Zobacz też

Informacje

Formanty ActiveX MFC: Licencjonowania formantu ActiveX

Koncepcje

Zadania programistyczne Internet MFC

Podstawy programowania Internet MFC