Distribuera ett Interop-program
Ett interop-program innehåller vanligtvis en .NET-klientsammansättning, en eller flera interop-sammansättningar som representerar distinkta COM-typbibliotek och en eller flera registrerade COM-komponenter. Visual Studio och Windows SDK tillhandahåller verktyg för att importera och konvertera ett typbibliotek till en interop-sammansättning, enligt beskrivningen i Importera ett typbibliotek som en sammansättning. Det finns två sätt att distribuera ett interop-program:
Med hjälp av inbäddade interoptyper: Från och med .NET Framework 4 kan du instruera kompilatorn att bädda in typinformation från en interop-sammansättning i din körbara fil. Kompilatorn bäddar bara in den typinformation som programmet använder. Du behöver inte distribuera interop-sammansättningen med ditt program. Detta är den rekommenderade tekniken.
Genom att distribuera interop-sammansättningar: Du kan skapa en standardreferens till en interop-sammansättning. I det här fallet måste interop-sammansättningen distribueras med ditt program. Om du använder den här tekniken och inte använder en privat COM-komponent ska du alltid referera till den primära interopsammansättningen (PIA) som publicerats av författaren till COM-komponenten som du tänker införliva i din hanterade kod. Mer information om hur du skapar och använder primära interop-sammansättningar finns i Primära Interop-sammansättningar.
Om du använder inbäddade interop-typer är distributionen enkel och enkel. Det finns inget speciellt du behöver göra. I resten av den här artikeln beskrivs scenarier för att distribuera interop-sammansättningar med ditt program.
Distribuera Interop-sammansättningar
Sammansättningar kan ha starka namn. En stark namngiven sammansättning innehåller utgivarens offentliga nyckel, som ger en unik identitet. Sammansättningar som skapas av typbiblioteksimportören (Tlbimp.exe) kan signeras av utgivaren med hjälp av alternativet /keyfile . Du kan installera signerade sammansättningar i den globala sammansättningscacheminnet. Osignerade sammansättningar måste installeras på användarens dator som privata sammansättningar.
Privata sammansättningar
Om du vill installera en sammansättning som ska användas privat måste både programmets körbara och interop-sammansättning som innehåller importerade COM-typer installeras i samma katalogstruktur. Följande bild visar en osignerad interop-sammansättning som ska användas privat av Client1.exe och Client2.exe, som finns i separata programkataloger. Interop-sammansättningen, som kallas LOANLib.dll i det här exemplet, installeras två gånger.
Alla COM-komponenter som är associerade med programmet måste installeras i Windows-registret. Om Client1.exe och Client2.exe i bilden är installerade på olika datorer måste du registrera COM-komponenterna på båda datorerna.
Delade sammansättningar
Sammansättningar som delas av flera program bör installeras på en centraliserad lagringsplats som kallas global sammansättningscache. .NET-klienter kan komma åt samma kopia av interop-sammansättningen, som är signerad och installerad i den globala sammansättningscacheminnet. Mer information om hur du skapar och använder primära interop-sammansättningar finns i Primära Interop-sammansättningar.