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
Odpowiedz
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.
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
- 1. Algorytm redystrybucji
- 2. Wdrażanie Qt z MinGW wymaga redystrybucji VC++?
- 3. Uruchamianie plików binarnych C++ bez redystrybucji środowiska wykonawczego (Server2k3, XPSP3)
- 4. Jakiego rodzaju problemy mogą rozwiązać problemy map?
- 5. Problemy z glewami, nierozwiązane problemy zewnętrzne
- 6. Problemy z rozłożeniem luzu i problemy z pakowaniem
- 7. Problemy z liczbami pierwszymi
- 8. Problemy z WebClient + HTTPS
- 9. IIS7 & Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule rejestrujące problemy
- 10. Problemy z tokenize
- 11. Arduino RGB LED problemy
- 12. Problemy z Datagridview.ClearSelection()
- 13. Problemy z minSdkVersion 1.5
- 14. Problemy z półprzezroczystym motywem
- 15. ReactJS - Babel problemy wersja
- 16. Problemy z przełączaniem obrazów
- 17. Zautomatyzowane NSLayoutConstraint problemy animacji
- 18. Podwójne problemy wykładnicze?
- 19. problemy z android.location.geocoder
- 20. Heroku db: problemy Push
- 21. QWebView: problemy z drukowaniem
- 22. problemy z drukowaniem iFrames
- 23. Problemy z transakcjami Grails
- 24. Problemy z kompilacją pshtoolkit
- 25. problemy z prefetch typeahead.js
- 26. Problemy z hakiem klawiatury
- 27. Problemy powrocie hashtable
- 28. problemy z instalacją Yesod
- 29. Problemy z kontrolowaniem Rainbowduino
- 30. Problemy z TO_DATE
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