Uaktualnianie istniejącego formantu ActiveX
Formanty ActiveX istniejących (dawniej kontroluje OLE) może służyć w Internecie, bez konieczności ich modyfikacji.Można zmodyfikować formantów, aby zwiększyć ich wydajność.Podczas korzystania z formantu na stronie sieci Web, dostępne są dodatkowe informacje.Plik ocx i wszystkie pliki obsługi musi znajdować się na komputerze docelowym lub pobrać w Internecie.Dzięki temu rozmiar kodu i ważną kwestią czasu pobierania.Pliki do pobrania, mogą być pakowane w pliku .cab podpisanego.Możesz zaznaczyć formant jako bezpieczny dla skryptów i bezpiecznie zainicjować.
W tym artykule omówiono następujące tematy:
Kod opakowania do pobrania
Znakowanie bezpiecznego sterowania do wykonywania skryptów i inicjowania
Zagadnienia licencjonowania
Podpisywanie kodu
Zarządzanie palety
Poziom bezpieczeństwa przeglądarki Internet Explorer i kontrolować zachowanie
Można również dodać optymalizacji, opisany w formantów ActiveX: Optymalizacja.Monikerów 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 do użycia w Internecie" (Q167158).Artykuły bazy wiedzy Knowledge Base można znaleźć na dysku CD-ROM z biblioteki MSDN lub w https://support.microsoft.com/support.
CODEBASE Tag
Formanty ActiveX są osadzone na stronach sieci Web za pomocą <OBJECT> tag.CODEBASE Parametr <OBJECT> tag Określa lokalizację, z której pobrać formant.CODEBASEmożna wskazać pomyślnie w wielu różnych typów plików.
Znacznikiem CODEBASE za pomocą pliku OCX
CODEBASE="http://example.microsoft.com/mycontrol.ocx#version=4,70,0,1086"
Roztwór ten pobiera tylko plik ocx formantu i wymaga żadnych pomocniczych bibliotek DLL już zainstalowane na komputerze klienta.To działa dla programu Internet Explorer i ActiveX biblioteki MFC formantów utworzonych w programie Visual C++, ponieważ program Internet Explorer jest dostarczany z pomocniczych bibliotek DLL dla formantów programu Visual C++.Jeśli innej przeglądarki internetowej, że jest zdolny do formantu ActiveX jest używany do oglądania tego formantu, to rozwiązanie nie będzie działać.
Znacznikiem CODEBASE przy użyciu pliku INF
CODEBASE="http://example.microsoft.com/trustme.inf"
Plik inf będzie Kontrola instalacji .ocx i jego pliki pomocnicze.Ta metoda nie jest zalecana, ponieważ nie jest możliwe do podpisania pliku .inf (zobacz Podpisywania kodu dla wskaźników dotyczących podpisywania kodu).
Znacznikiem 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 zostanie uwzględniona do sterowania instalacji formantu ActiveX i wszelkie zależne biblioteki dll (takich jak MFC dll).Przy użyciu pliku CAB automatycznie kompresuje kod do pobrania szybciej.Jeśli jest używany plik cab do pobrania składnika, to szybciej do podpisania pliku .cab całego niż poszczególnych składników.
Tworzenie plików CAB
Szafka Development Kit można pobrać z tego artykułu bazy wiedzy Knowledge Base 310618: Microsoft gabinetu Software Development Kit.W tym zestawie znajdziesz niezbędne narzędzia do konstruowania pliki cabinet.
Plik cabinet wskazywanego przez CODEBASE powinien zawierać plik ocx formantu ActiveX i plik .inf, aby kontrolować jej instalacji.Utwórz 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 są zapakowane w oddzielnym pliku cabinet i określonych przez kontrolowanie pliku. inf.
Aby uzyskać szczegółowe informacje na temat tworzenia pliku CAB, zobacz Tworzenie pliku CAB.
Plik 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
<Obiektu> 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 tym 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.
Tag wersji
W tym miejscu zauważyć, że #Version informacje określone z pliku CAB odnoszą się do kontroli określonej przez CLASSID parametr <OBJECT> tag.
W zależności od określonej wersji można wymusić pobierania pilota.Dla specyfikacji pełną OBJECT tag łącznie z CODEBASE parametru, odwołania Zobacz W3C.
Znakowanie bezpiecznego sterowania do wykonywania skryptów i inicjowania
Formanty ActiveX używane na stronach sieci Web powinien być oznaczony jako bezpieczny dla skryptów i bezpiecznie zainicjować Jeśli w rzeczywistości są one bezpieczne.Formant bezpieczny nie wykona operacji We/Wy dysku lub bezpośrednio uzyskać dostępu do pamięci lub rejestrów maszyny.
Formanty może zostać oznaczony jako bezpieczny dla 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 wprowadzenie IObjectSafety.
Identyfikatory GUID (globalnie unikatowe identyfikatory) określi dla pilota oznaczyć go jako 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 mogą być bezpiecznie inicjowane z trwałych danych są zaznaczonych jako bezpieczne do trwałości 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 swoje kontroli 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ć, czy umowa licencyjna pozwala na jego stosowanie w Internecie i tworzenie pliku pakietu licencji (LPK) dla niego.
Licencjonowanego formantu ActiveX nie zostanie załadowany poprawnie na stronie HTML czy w komputerze zainstalowany program Internet Explorer nie ma licencji na używanie formantu.Na przykład jeśli licencjonowanego formantu został zbudowany przy użyciu języka Visual C++, strony HTML przy użyciu formantu załaduje prawidłowo na komputerze, na którym formant został skonstruowany, ale go nie załaduje na innym komputerze, o ile informacje dotyczące licencjonowania są uwzględniane.
Aby użyć licencjonowanego formantu ActiveX w programie Internet Explorer, należy sprawdzić dostawcy umowę licencyjną, aby zweryfikować, że licencja dla formantu pozwala:
Redystrybucja
Użyj formantu w Internecie
Użycie parametru Codebase
Aby użyć licencjonowanego formantu na stronie HTML na maszynie nonlicensed, należy wygenerować pliku pakietu licencji (LPK).Plik LPK zawiera wykonywania 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
Uruchom LPK_TOOL.EXE na komputerze, na którym jest licencjonowana do korzystania z formantu.
W Narzędzie License Package Authoring Tool dialogowym dostępnekontroli pole listy, wybierz wszystkie licencjonowane formantu ActiveX, który będzie używany na stronie HTML i kliknij przycisk Dodaj.
Kliknij przycisk zapisać &Exit i wpisz nazwę dla pliku LPK.To utworzy plik LPK i zamknij aplikację.
Aby osadzić licencjonowanego formantu na stronie HTML
Edytuj stronę HTML.Na stronie HTML wstawić <obiektu> tag obiektu Menedżera licencji przed inne <obiektu> tagi.Menedżer licencji jest formant ActiveX, który jest instalowany z programem Internet Explorer.Poniżej przedstawiono jego identyfikator klasy.Ustaw właściwość LPKPath obiektu Menedżera licencji do ścieżki i nazwy pliku LPK.Może 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>
Wstaw <obiektu> tag licencjonowanego formantu po tagu Menedżer licencji.
Na przykład poniżej przedstawiono stronę HTML, która zawiera formant Microsoft maskowane edycji.Pierwszej klasy ID jest do celów kontroli Menedżera licencji, drugiej klasy, którego formant edycji maskowane identyfikator.Zmień tagi wskaż ścieżkę względną utworzonego wcześniej pliku Lpk i dodać tag obiektu, łącznie z Identyfikatorem klasy kontrolnej.
Wstaw <EMBED> atrybutu pliku LPK, jeśli przy użyciu dodatku plug-in NCompass ActiveX.
Jeśli pilota może być przeglądana drugiej aktywny włączone przeglądarek — na przykład Netscape przy użyciu dodatku plug-in NCompass ActiveX — należy dodać <EMBED> składni, 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 uzyskać więcej informacji o licencjonowaniu sterowania, 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 czasu jej została podpisana.W zależności od ustawień bezpieczeństwa przeglądarki użytkownik może ostrzegał przed pobierania kodu.Użytkownicy mogą wybrać opcję zaufania 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, aby uniemożliwić manipulacje osób niepowołanych.
Upewnij się, że ostateczny kod jest podpisany, dzięki czemu pilota, które mogą być automatycznie pobierane bez wyświetlania komunikatów ostrzegawczych zaufania.Aby uzyskać szczegółowe informacje na temat podpisywania kodu, zapoznaj się z dokumentacją na Authenticode w zestawie SDK ActiveX i zobacz Podpisywanie pliku CAB.
W zależności od zaufania i przeglądarki poziomu ustawienia bezpieczeństwa 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 nie będą wyświetlane.Zobacz poziom bezpieczeństwa przeglądarki 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 pobiera i osadzone w świadectwie.Ten skrót później jest porównywana z mieszania pobierane po pobraniu kodu, ale przed uruchomieniem kodu.Firmy takie jak Verisign może dostarczyć kluczy prywatnych i publicznych, potrzebnych do podpisywania kodu.Zestaw SDK ActiveX jest dostarczany z MakeCert narzędzie do tworzenia certyfikatów badania.
Zarządzanie palety
Pojemniki określenia palety i udostępnić go jako właściwość otoczenia, DISPID_AMBIENT_PALETTE.Kontener (na przykład Internet Explorer) wybiera palety, który jest używany przez wszystkie formanty ActiveX na stronie, aby określić własne palety.To zapobiega migotanie ekranu i przedstawia jednolity 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.Pojemniki umożliwia wartość zwracana określa, czy formant jest świadomy palety.
OCX 96 wytycznych formant zawsze sobie sprawę jego palety w tle.
Wysyła starszych kontenerów, które nie korzystają z właściwości otoczenia palety WM_QUERYNEWPALETTE i WM_PALETTECHANGED wiadomości.Formant można zastąpić OnQueryNewPalette i OnPaletteChanged do obsługi tych wiadomości.
Poziom bezpieczeństwa przeglądarki Internet Explorer i kontrolować zachowanie
Przeglądarka ma opcje dla poziomu bezpieczeństwa, konfigurowalne przez użytkownika.Strony sieci Web może 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 przeglądarki implementuje poziom bezpieczeństwa formant nie mogą być pobierane w ogóle lub wyświetli komunikat ostrzegawczy, aby umożliwić użytkownikowi wybranie w czasie wykonywania, czy chce pobrać formant lub certyfikatu.Poniżej przedstawiono zachowanie formantów ActiveX w obszarze poziom wysoki, średni i niski bezpieczeństwa w programie Internet Explorer.
W trybie wysokiego bezpieczeństwa
Niepodpisane formanty nie będą pobierane.
Podpisane formanty będą wyświetlane certyfikatu, gdy 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 można za pomocą skryptów.
Tryb Średnie bezpieczeństwo
Niepodpisane formanty będą wyświetlane ostrzeżenie przed pobraniem.
Podpisane formanty wyświetli certyfikatu, jeśli niezaufane.
Formantów nie zaznaczonych jako bezpieczne wyświetli komunikat ostrzegawczy.
Tryb niskie bezpieczeństwo
Formanty są pobierane bez ostrzeżenia.
Obsługa skryptów i trwałość występują bez ostrzeżenia.
Zobacz też
Informacje
Formanty MFC ActiveX: licencjonowanie formantu ActiveX