2013-09-27 9 views
6

Zrobiłem C# BHO, który używa wewnętrznie Microsoft.mshtml.dll. Teraz, aby spakować to BHO, muszę również rozpowszechniać plik Microsoft.mshtml.dll. Czy to dobrze, aby dodać tę bibliotekę DLL z moimi bibliotekami dll? Wszelkie problemy prawne? To BHO działa dobrze na środowisku dev, ponieważ Microsoft.mshtml.dll jest obecny w studio graficznym (C: \ Windows \ assembly \ GAC \ Microsoft.mshtml \ 7.0.3300.0__b03f5f7f11d50a3a \ Microsoft.mshtml.dll), co nie będzie obudowa na każdej maszynie. Proszę zasugeruj.Problemy redystrybucji Microsoft.mshtml.dll

+4

Głosuję, aby zamknąć to pytanie jako nietypowe, ponieważ dotyczy kwestii licencyjnych lub prawnych, a nie programowania lub tworzenia oprogramowania. [Zobacz tutaj] (http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964) i [tutaj] (http://meta.stackexchange.com/questions/139804/can- licencjonowanie-pytania-zawsze-na-temat) dla szczegółów, a [pomoc] dla więcej. – JasonMArcher

Odpowiedz

6

Jest to zespół współdziałania, nie zawiera żadnego kodu. Tylko deklaracje, generowane automatycznie z biblioteki typów COM. Redystrybucja jest więc w porządku. Jedynym powodem, dla którego jest on zainstalowany w GAC, jest to, że jest to PIA, główny zbiór współdziałania. Potrzebujesz PIA tylko podczas pisania biblioteki klas, która ujawnia któryś z interfejsów w twoich własnych publicznych metodach. Klient takiej biblioteki również potrzebuje odniesienia do zespołu współdziałania, aby móc używać twoich metod i musi być dokładnie taki sam, jakiego używasz. Zwykle jest to rzadkie, zwłaszcza w BHO.

Jeśli używasz wersji Visual Studio wcześniej niż VS2010, po prostu ustaw właściwość Kopiuj lokalnie na wartość Prawda dla odniesienia zespołu. Przebuduj, a otrzymasz kopię biblioteki DLL, którą możesz wdrożyć wraz z własnymi plikami wykonywalnymi.

W przypadku VS2010 i nowszych wersji, na prawdę chcesz faworyzować funkcję typu Embed Interop. Który osadza deklaracje interfejsu we własnym zespole, tylko te, których faktycznie używasz. To bardzo pomaga w zmniejszeniu rozmiaru BHO do dystrybucji. I unika potrzeby wdrażania tego zespołu współdziałającego. Zdecydowanie zalecane.

+0

Ok, więc sprawdzę z Vstudio2010 inna opcja powinna również działać dobrze i mogę spakować ją za pomocą bho dll. Hans, dzięki za odpowiedź! – Jackie