Dela via


Distribuera en VSTO-lösning med Windows Installer

Sammanfattning

Lär dig hur du distribuerar ett VSTO-tillägg (Microsoft Visual Studio Tools for Office) eller en lösning på dokumentnivå med hjälp av ett Visual Studio Installer-projekt.

Wouter van Vugt, kodrådgivare

Ted Pattison, Ted Pattison Group

Den här artikeln har uppdaterats av Microsoft med behörighet från de ursprungliga författarna.

Gäller för: Visual Studio Tools för Office, Microsoft Office, Microsoft Visual Studio.

Du kan utveckla en VSTO-lösning och distribuera lösningen med hjälp av ett Windows Installer-paket. Den här diskussionen innehåller steg för att distribuera ett enkelt Office-tillägg.

Distributionsmetoder

ClickOnce kan enkelt användas för att skapa installationer för dina tillägg och lösningar. Det går dock inte att installera tillägg som kräver administratörsbehörighet, till exempel tillägg på datornivå.

Tillägg som kräver administratörsbehörighet kan installeras med hjälp av Windows Installer, men det kräver mer arbete för att skapa installationen.

En översikt över hur du distribuerar en VSTO-lösning med ClickOnce finns i Distribuera en Office-lösning med hjälp av ClickOnce.

Distribuera Office-lösningar som riktar sig mot VSTO-körningen

ClickOnce- och Windows Installer-paket måste utföra samma rudimentära uppgifter när du installerar en Office-lösning.

  1. Installera nödvändiga komponenter på användardatorn.
  2. Distribuera de specifika komponenterna för lösningen.
  3. Skapa registerposter för tillägg.
  4. Lita på lösningen så att den kan köras.

Nödvändiga nödvändiga komponenter på måldatorn

Här är listan över programvara som måste installeras på datorn för att köra VSTO-lösningar:

  • Microsoft Office 2010 eller senare.
  • Microsoft .NET Framework 4 eller senare.
  • The Microsoft Visual Studio 2010 Tools for Office Runtime. Körtidsmiljön tillhandahåller en miljö som hanterar tillägg och dokumentnivålösningar. En version av Runtime levereras med Microsoft Office, men du kanske vill distribuera om en specifik version med ditt tillägg.
  • De primära interop-sammansättningarna för Microsoft Office, om du inte använder inbäddade interoptyper.
  • Alla verktygssammansättningar som refereras av projekt.

Specifika komponenter för lösningen

Installationspaketet måste installera dessa komponenter på användarens dator:

  • Microsoft Office-dokumentet om du skapar en lösning på dokumentnivå.
  • Anpassningssammansättningen och eventuella sammansättningar som krävs.
  • Ytterligare komponenter, till exempel konfigurationsfiler.
  • Programmanifestet (.manifest).
  • Manifest för distribution (.vsto).

Registerposter för tillägg

Microsoft Office använder registerposter för att hitta och läsa in tillägg. Dessa registerposter bör skapas som en del av distributionsprocessen. Mer information om dessa registerposter finns i Registerposter för VSTO-tillägg.

Outlook-tillägg som visar anpassade formulärregioner kräver ytterligare registerposter som gör att formulärregionerna kan identifieras. Mer information om registerposter finns i Registerposter för Outlook-formulärregioner.

Lösningar på dokumentnivå kräver inga registerposter. I stället används egenskaper i dokumentet för att hitta anpassningen. Mer information om dessa egenskaper finns i Översikt över anpassade dokumentegenskaper.

Förtroende för VSTO-lösningen

För att en anpassning ska kunna köras måste en lösning vara betrodd av datorn. Tillägget kan betraktas som betrodd genom att signera manifestet med hjälp av ett certifikat, skapa ett förtroendeförhållande med inkluderingslistan eller genom att installera det på en säker plats på datorn.

Mer information om hur du hämtar ett certifikat för signering finns i ClickOnce-distribution och Authenticode. Mer information om betrodda lösningar finns i Lita på Office-lösningar med hjälp av inkluderingslistor. Du kan lägga till en inkluderingslista med en anpassad åtgärd i Windows Installer-filen. Mer information om hur du aktiverar inkluderingslistan finns i Så här konfigurerar du inkluderingslistans säkerhet.

Om inget av alternativen används visas en förtroendeprompt för användaren så att de kan avgöra om lösningen ska vara betrodd.

Mer information om säkerhet som rör lösningar på dokumentnivå finns i Bevilja förtroende till dokument.

Skapa ett grundläggande installationsprogram

Projektmallarna installation och distribution ingår i tillägget Microsoft Visual Studio Installer Projects som är tillgängligt för nedladdning.

För att skapa ett installationsprogram för en Office-lösning måste dessa uppgifter utföras:

  • Lägg till komponenterna i Den Office-lösning som ska distribueras.
  • För tillägg på programnivå konfigurerar du registernycklar.
  • Konfigurera nödvändiga komponenter så att de kan installeras på slutanvändardatorerna.
  • Konfigurera startvillkor för att kontrollera att nödvändiga komponenter är tillgängliga. Startvillkor kan användas för att blockera installationen om alla nödvändiga krav inte är installerade.

Det första steget är att skapa konfigurationsprojektet.

Så här skapar du installationsprojekt för AddIn

  1. Öppna det Office AddIn-projekt som du vill distribuera. I det här exemplet använder vi ett Excel-tillägg med namnet ExcelAddIn.
  2. Med Office Project Open går du till menyn Arkiv och expanderar Lägg till och klickar på Nytt projekt för att lägga till ett nytt projekt.
  1. I dialogrutan Lägg till ett nytt projekt väljer du mallen Konfigurera projekt .
  2. Klicka på Nästa.
  1. I rutan Namn skriver du OfficeAddInSetup.
  1. Klicka på Skapa för att skapa det nya konfigurationsprojektet.

Visual Studio öppnar File System Explorer för det nya installationsprojektet. Med Utforskaren för filsystem kan du lägga till filer i installationsprojektet.

Skärmbild av filsystem-utforskaren för installationsprojektet

Bild 1: Filsystemutforskaren för installationsprojektet

Installationsprojektet måste distribuera ExcelAddIn. Du kan konfigurera installationsprojektet för den här uppgiften genom att lägga till ExcelAddIn-projektutdata i installationsprojektet.

Så här lägger du till ExcelAddIn-projektutdata

  1. Högerklicka på OfficeAddInSetup i Solution Explorer, klicka på Lägg till och sedan på Projektutdata.

  2. I dialogrutan Lägg till projektutdatagrupp väljer du ExcelAddIn i projektlistan och Primära utdata.

  3. Klicka på OK för att lägga till projektutdata i installationsprojektet.

    Skärmbild av dialogrutan Lägg till projektutdatagrupp för installationsprojekt

    Bild 2: Konfigurera dialogrutan Lägg till projektutdatagrupp

Installationsprojektet måste distribuera distributionsmanifestet och programmanifestet. Lägg till dessa två filer i installationsprojektet som fristående filer från utdatamappen för ExcelAddIn-projektet.

Lägga till distributions- och programmanifesten

  1. Högerklicka på OfficeAddInSetup i Solution Explorer, klicka på Lägg till och klicka på Arkiv.

  2. I dialogrutan Lägg till filer navigerar du till ExcelAddIn-utdatakatalogen . Vanligtvis är utdatakatalogen undermappen bin\release i projektrotkatalogen, beroende på den valda byggkonfigurationen.

  3. Välj ExcelAddIn.vsto och ExcelAddIn.dll.manifestfiler och klicka på Öppna för att lägga till dessa två filer i installationsprojektet.

    Skärmbild av program- och distributionsmanifesten i Solution Explorer

    Bild 3: Program- och distributionsmanifest för tillägget i Solution Explorer

När du refererar till ExcelAddIn inkluderas alla komponenter som ExcelAddIn kräver. Dessa komponenter måste undantas och distribueras med hjälp av nödvändiga paket så att de kan registreras korrekt. Licensvillkoren för programvara måste också visas och godkännas innan installationen påbörjas.

Så här exkluderar du ExcelAddIn-projektberoenden

  1. I Solution Explorer går du till noden OfficeAddInSetup och väljer alla beroendeobjekt under objektet Identifierade beroenden förutom Microsoft .NET Framework eller någon sammansättning som slutar med *.Utilities.dll. Utilities-sammansättningarna är avsedda att distribueras tillsammans med ditt program.

  2. Högerklicka på gruppen och välj Egenskaper.

  3. I fönstret Egenskaper ändrar du egenskapen Exkludera till Sant för att undanta de beroende sammansättningarna från installationsprojektet. Se till att inte exkludera några Utility-samlingar.

    Skärmbild av Solution Explorer som visar de beroenden som ska undantas

    Bild 4: Exkluderande beroenden

Du kan konfigurera ditt Windows Installer-paket för att installera nödvändiga komponenter genom att lägga till ett installationsprogram, även kallat bootstrapper. Det här installationsprogrammet kan installera nödvändiga komponenter, en process som kallas bootstrapping.

För ExcelAddIn måste dessa krav installeras innan tillägget kan köras korrekt:

  • Den Microsoft .NET Framework-version som Office Solution riktar in sig på.
  • Microsoft Visual Studio 2010 Tools for Office Runtime.

Så här konfigurerar du beroende komponenter som förutsättningar

  1. Högerklicka på projektet OfficeAddInSetup i Solution Explorer och välj Egenskaper.

  2. Dialogrutan OfficeAddInSetup-egenskapssidorna visas.

  3. Klicka på knappen Förutsättningar.

  4. I dialogrutan Förutsättningar väljer du rätt version av .NET Framework och Microsoft Visual Studio Tools for Office Runtime.

    Skärmbild av dialogrutan Förutsättningar

    Bild 5: Dialogrutan Förutsättningar

    Anmärkning

    Vissa av de konfigurerade nödvändiga paketen i visual studioinstallationsprojektet är beroende av den valda byggkonfigurationen. Du måste välja rätt nödvändiga komponenter för varje byggkonfiguration som du använder.

Microsoft Office letar upp tillägg med hjälp av registernycklar. Nycklarna i HKEY_CURRENT_USER hive används för att registrera tillägget för varje enskild användare. Nycklarna under HKEY_LOCAL_MACHINE hive används för att registrera tillägget för alla användare av datorn. Mer information om registernycklar finns i Registerposter för VSTO-tillägg.

Så här konfigurerar du registret

  1. Högerklicka på OfficeAddInSetup i Solution Explorer.

  2. Expandera vy.

  3. Öppna fönstret Registereditorn genom att klicka på Register.

  4. I Registereditorn (OfficeAddInSetup) expanderar du HKEY_LOCAL_MACHINE och sedan Programvara.

  5. Ta bort nyckeln [Tillverkare] som finns under HKEY_LOCAL_MACHINE\Software.

  6. Expandera HKEY_CURRENT_USER och sedan Programvara.

  7. Ta bort nyckeln [Tillverkare] som finns under HKEY_CURRENT_USER\Software.

  8. Om du vill lägga till registernycklar för tilläggsinstallationen högerklickar du på nyckeln User/Machine Hive och väljer Ny nyckel. Använd texten Programvara för namnet på den nya nyckeln. Högerklicka på den nyligen skapade programvarunyckeln och skapa en ny nyckel med texten Microsoft.

  9. Använd en liknande process för att skapa hela nyckelhierarkin som krävs för tilläggsregistreringen:

    User/Machine Hive\Software\Microsoft\Office\Excel\Addins\SampleCompany.ExcelAddIn

    Företagsnamnet används ofta som prefix för namnet på tillägget för att ge unikhet.

  10. Högerklicka på nyckeln SampleCompany.ExcelAddIn , välj Ny och klicka på Strängvärde. Använd texten Beskrivning för Namnet.

  11. Använd det här steget om du vill lägga till ytterligare tre värden:

    • FriendlyName av typen String
    • LoadBehavior av typen DWORD
    • Manifest av typen Sträng
  12. Högerklicka på värdet Beskrivning i registereditorn och klicka på Fönstret Egenskaper. I fönstret Egenskaper anger du Excel Demo AddIn för egenskapen Value.

  13. Välj nyckeln FriendlyName i registereditorn. I fönstret Egenskaper ändrar du egenskapen Värde till Excel Demo AddIn.

  14. Välj nyckeln LoadBehavior i registereditorn. I fönstret Egenskaper ändrar du egenskapen Värde till 3. Värdet 3 för LoadBehavior anger att tillägget ska läsas in vid start av värdprogrammet. För mer information om laddningsbeteende, se Registerposter för VSTO-tillägg.

  15. Välj Manifest-nyckeln i registereditorn. I egenskapsfönstret ändrar du egenskapen Värde till file:///[TARGETDIR]ExcelAddIn.vsto|vstolocal

    Skärmbild av registereditorn

    Bild 6: Konfigurera registernycklar

    VSTO-körningen använder den här registernyckeln för att hitta distributionsmanifestet. Makrot [TARGETDIR] ersätts med mappen där tillägget är installerat. Makrot innehåller det avslutande \ tecknet, så filnamnet för distributionsmanifestet ska vara ExcelAddIn.vsto utan \-tecknet. Vstolocal-postfixet anger för VSTO-körningen att tillägget ska läsas in från den här platsen i stället för ClickOnce-cachen. Om du tar bort det här postfixet kommer körtiden att orsaka att anpassningen kopieras till ClickOnce-cachen.

Varning

Du bör vara mycket försiktig med Registereditorn i Visual Studio. Om du till exempel av misstag ställer in DeleteAtUninstall för fel nyckel kan du ta bort en aktiv del av registret och lämna användardatorn i ett inkonsekvent, eller ännu värre, brutet tillstånd.

64-bitarsversioner av Office använder 64-bitars registerdatafilen för att söka efter tillägg. Om du vill registrera tillägg under 64-bitars registerdatafilen måste installationsprojektets målplattform vara inställd på endast 64-bitars.

  1. Välj Projektet OfficeAddInSetup i Solution Explorer.
  2. Gå till fönstret Egenskaper och ange egenskapen TargetPlatform till x64.

Om du installerar ett tillägg för både 32-bitars och 64-bitars versioner av Office måste du skapa två separata MSI-paket. En för 32-bitars och en för 64-bitars.

Skärmbild av fönstret Egenskaper som visar målplattformen för registrering av tillägg med 64-bitars Office

Bild 7: Målplattform för registrering av tillägg med 64-bitars Office

Om MSI-paketet används för att installera tillägget eller lösningen kan det installeras utan att nödvändiga krav har installerats. Du kan använda Startvillkor i MSI för att blockera tillägget från att installeras om kraven inte är installerade.

Konfigurera ett startvillkor för att identifiera VSTO-körningen

  1. Högerklicka på OfficeAddInSetup i Solution Explorer.

  2. Expandera vy.

  3. Klicka på Startvillkor.

  4. I redigeraren Starta villkor (OfficeAddInSetup) högerklickar du på Krav på måldator och klickar sedan på Lägg till registerstartsvillkor. Det här sökvillkoret kan söka i registret efter en nyckel som VSTO-körningen installerar. Värdet för nyckeln är sedan tillgängligt för de olika komponenterna av installationsprogrammet via en namngiven egenskap. Startvillkoret använder egenskapen som definieras av sökvillkoret för att söka efter ett visst värde.

  5. I redigeraren Starta villkor (OfficeAddInSetup) väljer du sökvillkoret Sök efter registerEntry1 , högerklickar på villkoret och väljer Egenskapsfönster.

  6. I fönstret Egenskaper anger du följande egenskaper:

    1. Ange (Namn) till värdet Sök efter VSTO 2010 Runtime.
    2. Ändra värdet för Egenskapen till VSTORUNTIMEREDIST.
    3. Ange värdet för RegKey till SOFTWARE\Microsoft\VSTO Runtime Setup\v4R
    4. Låt egenskapen Root vara inställd på vsdrrHKLM.
    5. Ändra egenskapen Värde till Version.
  7. I redigeraren Startvillkor (OfficeAddInSetup), välj Villkor1 startvillkor, högerklicka på villkoret och välj Egenskapsfönstret.

  8. I fönstret Egenskaper anger du följande egenskaper:

    1. Ange (Namn) till Verifiera VSTO 2010 Runtime-tillgänglighet.

    2. Ändra värdet för villkoret till VSTORUNTIMEREDIST>="10.0.30319"

    3. Lämna egenskapen InstallURL tom.

    4. Ange Meddelandet till Visual Studio 2010 Tools for Office Runtime är inte installerat. Kör Setup.exe för att installera tillägget.

      Skärmbild av egenskapsfönstret för startvillkoret Verifiera körningstillgänglighet

      Bild 8: Egenskapsfönster för villkoret Verifiera körningstillgänglighetsstart

Startvillkoret ovan söker uttryckligen efter förekomsten av VSTO-runtime när det installeras av bootstrapperpaketet.

Konfigurera ett startvillkor för att identifiera VSTO-körningen som installerats av Office

  1. I redigeraren Startvillkor (OfficeAddInSetup), högerklicka på Sök i måldator och klicka sedan på Lägg till registersökning.

  2. Välj sökvillkoret Sök efter registerEntry1 , högerklicka på villkoret och välj Egenskapsfönster.

  3. I fönstret Egenskaper anger du följande egenskaper:

    1. Ange (Namn) till Sök efter Office VSTO Runtime.
    2. Ändra värdet för Property till OfficeRuntime.
    3. Ange värdet för RegKey till SOFTWARE\Microsoft\VSTO Runtime Setup\v4.
    4. Låt egenskapen Root vara inställd på vsdrrHKLM.
    5. Ändra egenskapen Värde till Version.
  4. I redigeraren Starta villkor (OfficeAddInSetup) väljer du villkoret Verifiera vsto 2010-körningstillgänglighet som definierats tidigare, högerklickar på villkoret och väljer Egenskapsfönster.

  5. Ändra värdet för egenskapen Condition till VSTORUNTIMEREDIST >="10.0.30319" OR OFFICERUNTIME>="10.0.21022". Versionsnumret kan skilja sig åt beroende på vilken version av runtime-miljön som tillägget kräver.

    Skärmbild av Windows-egenskaper för startvillkoret

    Bild 9: Egenskaper för Windows för att verifiera körningstillgänglighet via Redist- eller Office-startvillkor

Om ett tillägg riktar in sig på .NET Framework 4 eller senare kan typerna i PIA (Primary Interop Assemblies), som refereras, bäddas in i VSTO-sammansättningen.

Kontrollera om Interop-typerna kommer att bäddas in i tillägget genom att utföra följande steg:

  1. Expandera noden Referenser i Solution Explorer
  2. Välj en av PIA-referenserna, till exempel Office.
  3. Visa egenskapsfönstren genom att trycka på F4 eller välja Egenskaper på snabbmenyn Sammansättningar.
  4. Kontrollera värdet för egenskapen Embed Interop Types (Bädda in interop-typer).

Om värdet är inställt på Sant bäddas typerna in och du kan hoppa ned till avsnittet Skapa installationsprojekt .

Mer information finns i Type Equivalence and Embedded Interop Types (Typ av ekvivalens och Inbäddade interoptyper)

Så här konfigurerar du startvillkor för att identifiera det för Office-PIA:er

  1. I redigeraren Starta villkor (OfficeAddInSetup) högerklickar du på Krav på måldator och klickar sedan på Lägg till Windows Installer-startvillkor. Det här startvillkoret söker efter en Office PIA genom att söka efter det specifika komponent-ID:t.

  2. Högerklicka på Sök efter Komponent1 och klicka på Egenskapsfönster för att visa egenskaperna för startvillkoret.

  3. I fönstret Egenskaper anger du följande egenskaper:

    1. Ändra värdet för egenskapen (Namn) till Sök efter Delad PIA för Office
    2. Ändra värdet för ComponentID till Komponent-ID för den Office-komponent som du använder. Du hittar listan över komponent-ID:n i tabellen nedan, till exempel {64E2917E-AA13-4CA4-BFFE-EA6EDA3AFCB4}.
    3. Ändra värdet för egenskapen Property till HASSHAREDPIA.
  4. I redigeraren Starta villkor (OfficeAddInSetup) högerklickar du på Villkor1 och klickar på Egenskapsfönster för att visa egenskaperna för startvillkoret.

  5. Ändra dessa egenskaper för Condition1:

    1. Ändra (namn) för att verifiera tillgängligheten för delad PIA för Office.
    2. Ändra villkoret till HASSHAREDPIA.
    3. Lämna InstallUrl tomt.
    4. Ändra meddelandet till En nödvändig komponent för att interagera med Excel är inte tillgänglig. Vänligen kör setup.exe.

    Skärmbild av egenskapsfönstret för startvillkoret Verifiera Office-delad PIA

    Bild 10: Egenskapsfönster för Verifiera Office Gemensam PIA-startvillkor

Komponent-ID:t för de primära interop-sammansättningarna för Microsoft Office

Primär interop-sammansättning Office 2010 Office 2013 Office 2013 (64-bit) Office 2016 Office 2016 (64-bitars)
Excel {EA7564AC-C67D-4868-BE5C-26E4FC2223FF} {C8A65ABE-3270-4FD7-B854-50C8082C8F39} {E3BD1151-B9CA-4D45-A77E-51A6E0ED322A} {C845E028-E091-442E-8202-21F596C559A0} {C4ACE6DB-AA99-401F-8BE6-8784BD09F003}
InfoPath {4153F732-D670-4E44-8AB7-500F2B576BDA} {0F825A16-25B2-4771-A497-FC8AF3B355D8} {C5BBD36E-B320-47EF-A512-556B99CB7E41} - -
Framtidsutsikt {1D844339-3DAE-413E-BC13-62D6A52816B2} {F9F828D5-9F0B-46F9-9E3E-9C59F3C5E136} {7824A03F-28CC-4371-BC54-93D15EFC1E7F} {2C6C511D-4542-4E0C-95D0-05D4406032F2} {7C6D92EF-7B45-46E5-8670-819663220E4E}
PowerPoint {EECBA6B8-3A62-44AD-99EB-8666265466F9} {813139AD-6DAB-4DDD-8C6D-0CA30D073B41} {05758318-BCFD-4288-AD8D-81185841C235} {9E73CEA4-29D0-4D16-8FB9-5AB17387C960} {E0A76492-0FD5-4EC2-8570-AE1BAA61DC88}
Visio {3EA123B5-6316-452E-9D51-A489E06E2347} {C1713368-12A8-41F1-ACA1-934B01AD6EEB} {2CC0B221-22D2-4C15-A9FB-DE818E51AF75} {A4C55BC1-B94C-4058-B15C-B9D4AE540AD1} {2D4540EC-2C88-4C28-AE88-2614B5460648}
Ord {8B74A499-37F8-4DEA-B5A0-D72FC501CEFA} {9FE736B7-B1EE-410C-8D07-082891C3DAC8} {13C07AF5-B206-4A48-BB5B-B8022333E3CA} {30CAC893-3CA4-494C-A5E9-A99141352216} {DC5CCACD-A7AC-4FD3-9F70-9454B5DE5161}
Microsoft Forms 2.0 {B2279272-3FD2-434D-B94E-E4E0F8561AC4} {B2279272-3FD2-434D-B94E-E4E0F8561AC4} {A5A30117-2D2A-4C5C-B3C8-8897AC32C2AC} - -
Microsoft Graph {011B9112-EBB1-4A6C-86CB-C2FDC9EA7B0E} {52DA4B37-B8EB-4B7F-89C1-824654CE4C70} {24706F33-F0CE-4EB4-BC91-9E935394F510} - -
Smart Tag {7102C98C-EF47-4F04-A227-FE33650BF954} {487A7921-EB3A-4262-BB5B-A5736B732486} {74EFC1F9-747D-4867-B951-EFCF29F51AF7} - -
Gemensamma Office-resurser {64E2917E-AA13-4CA4-BFFE-EA6EDA3AFCB4} {6A174BDB-0049-4D1C-86EF-3114CB0C4C4E} {76601EBB-44A7-49EE-8DE3-7B7B9D7EBB05} {68477CB0-662A-48FB-AF2E-9573C92869F7} {625F5772-C1B3-497E-8ABE-7254EDB00506}
Projekt {957A4EC0-E67B-4E86-A383-6AF7270B216A} {1C50E422-24FA-44A9-A120-E88280C8C341} {706D7F44-8231-489D-9B25-3025ADE9F114} {0B6EDA1D-4A15-4F88-8B20-EA6528978E4E} {107BCD9A-F1DC-4004-A444-33706FC10058}

Skärmbild av villkoren för slutgiltig start

Bild 11: Slutgiltiga startvillkor

Du kan ytterligare förfina startvillkoren för ExcelAddIn-installationen. Det kan till exempel vara bra att kontrollera om det faktiska Office-målprogrammet är installerat.

Så här skapar du installationsprojektet

  1. Högerklicka på projektet OfficeAddInSetup i Solution Explorer och klicka på Skapa.
  2. I Utforskaren navigerar du till utdatakatalogen för OfficeAddInSetup-projektet och går till mappen Release eller Debug, beroende på den valda byggkonfigurationen. Kopiera alla filer från mappen till en plats som användarna kan komma åt.

Så här testar du ExcelAddIn-installationen

  1. Navigera till den plats där du kopierade OfficeAddInSetup till.
  2. Dubbelklicka på filen setup.exe för att installera officeAddInSetup-tillägget . Godkänn alla licensvillkor för programvara som visas och slutför installationsguiden för att installera tillägget på användardatorn.

Excel Office-lösningen bör installeras och köras från den plats som angavs under installationen.

Ytterligare krav för lösningar på dokumentnivå

För att distribuera lösningar på dokumentnivå krävs några olika konfigurationssteg i installationsprogrammet för Windows Installer.

Här är en lista över grundläggande steg som krävs för att distribuera en lösning på dokumentnivå:

  • Skapa Installationsprojekt för Visual Studio.
  • Lägg till de primära utdata för din dokumentnivålösning. De primära utdata innehåller även Microsoft Office-dokumentet.
  • Lägg till distributions- och programmanifesten som lösa filer.
  • Exkludera de beroende komponenterna från installationspaketet (förutom eventuella verktygssammansättningar).
  • Konfigurera nödvändiga paket.
  • Konfigurera startvillkor.
  • Skapa installationsprojektet och kopiera resultatet till distributionsplatsen.
  • Distribuera lösningen på dokumentnivå på användardatorn genom att köra installationen.
  • Uppdatera de anpassade dokumentegenskaperna om det behövs.

Ändra platsen för det distribuerade dokumentet

Egenskaper i ett Office-dokument används för att hitta lösningar på dokumentnivå. Om dokumentet har installerats i samma mapp som VSTO-sammansättningen krävs inga ändringar. Men om den är installerad i en annan mapp måste dessa egenskaper uppdateras under installationen.

Mer information om dessa dokumentegenskaper finns i Översikt över anpassade dokumentegenskaper.

Om du vill ändra dessa egenskaper måste du använda en anpassad åtgärd under installationen.

I följande exempel används en lösning på dokumentnivå som kallas ExcelWorkbookProject och ett installationsprojekt med namnet ExcelWorkbookSetup. ExcelWorkbookSetup-projektet konfigureras med samma steg som beskrivs ovan, förutom att ange registernycklarna.

Så här lägger du till det anpassade åtgärdsprojektet i din Visual Studio-lösning

  1. Lägg till ett nytt .NET-konsolprojekt i lösningen genom att högerklicka på Distributionsprojektet för Office-dokument i Solution Explorer

  2. Expandera Lägg till och klicka på Nytt projekt.

  3. Välj mallen Konsolapp och ge projektet namnet AddCustomizationCustomAction.

    Skärmbild av Solution Explorer – AddCustomizationCustomAction

    Bild 12: Solution Explorer – AddCustomizationCustomAction

  4. Lägg till en referens till dessa sammansättningar:

    1. System.ComponentModel
    2. System.Configuration.Install
    3. Microsoft.VisualStudio.Tools.Applications
    4. Microsoft.VisualStudio.Tools.Applications.ServerDocument
  5. Kopiera koden till Program.cs eller Program.vb

    using System;
    using System.IO;
    using System.Collections;
    using System.ComponentModel;
    using System.Configuration.Install;
    using Microsoft.VisualStudio.Tools.Applications;
    using Microsoft.VisualStudio.Tools.Applications.Runtime;

    namespace AddCustomizationCustomAction
    {
        [RunInstaller(true)]
        public class AddCustomizations : Installer
        {
            public AddCustomizations() : base() { }

            public override void Install(IDictionary savedState)
            {
                base.Install(savedState);

                //Get the CustomActionData Parameters
                string documentLocation = Context.Parameters.ContainsKey("documentLocation") ? Context.Parameters["documentLocation"] : String.Empty;
                string assemblyLocation = Context.Parameters.ContainsKey("assemblyLocation") ? Context.Parameters["assemblyLocation"] : String.Empty;
                string deploymentManifestLocation = Context.Parameters.ContainsKey("deploymentManifestLocation") ? Context.Parameters["deploymentManifestLocation"] : String.Empty;
                Guid solutionID = Context.Parameters.ContainsKey("solutionID") ? new Guid(Context.Parameters["solutionID"]) : new Guid();

                string newDocLocation = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), Path.GetFileName(documentLocation));

                try
                {
                    //Move the file and set the Customizations
                    if (Uri.TryCreate(deploymentManifestLocation, UriKind.Absolute, out Uri docManifestLocationUri))
                    {
                        File.Move(documentLocation, newDocLocation);
                        ServerDocument.RemoveCustomization(newDocLocation);
                        ServerDocument.AddCustomization(newDocLocation, assemblyLocation,
                                                        solutionID, docManifestLocationUri,
                                                        true, out string[] nonpublicCachedDataMembers);
                    }
                    else
                    {
                        LogMessage("The document could not be customized.");
                    }
                }
                catch (ArgumentException)
                {
                    LogMessage("The document could not be customized.");
                }
                catch (DocumentNotCustomizedException)
                {
                    LogMessage("The document could not be customized.");
                }
                catch (InvalidOperationException)
                {
                    LogMessage("The customization could not be removed.");
                }
                catch (IOException)
                {
                    LogMessage("The document does not exist or is read-only.");
                }
            }

            public override void Rollback(IDictionary savedState)
            {
                base.Rollback(savedState);
                DeleteDocument();
            }
            public override void Uninstall(IDictionary savedState)
            {
                base.Uninstall(savedState);
                DeleteDocument();
            }
            private void DeleteDocument()
            {
                string documentLocation = Context.Parameters.ContainsKey("documentLocation") ? Context.Parameters["documentLocation"] : String.Empty;

                try
                {
                    File.Delete(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), Path.GetFileName(documentLocation)));
                }
                catch (Exception)
                {
                    LogMessage("The document doesn't exist or is read-only.");
                }
            }
            private void LogMessage(string Message)
            {
                if (Context.Parameters.ContainsKey("LogFile"))
                {
                    Context.LogMessage(Message);
                }
            }

            static void Main() { }
            }
    }

Om du vill lägga till anpassningen i dokumentet måste du ha lösnings-ID:t för vsto-dokumentnivålösningen. Det här värdet hämtas från Visual Studio-projektfilen.

Hämta lösnings-ID:t

  1. På menyn Skapa klickar du på Skapa lösning för att skapa lösningen på dokumentnivå och lägger till egenskapen lösnings-ID i projektfilen.

  2. Högerklicka på projektet ExcelWorkbookProject på dokumentnivå i Solution Explorer

  3. Klicka på UnloadProject för att komma åt projektfilen inifrån Visual Studio.

    Skärmbild av Lösningsutforskaren som avlastar Excel-dokumentlösning

    Bild 13: Lossa Excel-dokumentlösning

  4. Högerklicka på ExcelWorkbookProject i Solution Explorer och klicka på EditExcelWorkbookProject.vbproj eller Edit ExcelWorkbookProject.csproj.

  5. Leta upp SolutionID-elementet i PropertyGroup-elementet i ExcelWorkbookProject-redigeraren.

  6. Kopiera GUID-värdet för det här elementet.

    Hämta SolutionID

    Bild 14: Hämta SolutionID

  7. Högerklicka på ExcelWorkbookProject i Solution Explorer och klicka på Läs in projektet igen.

  8. Klicka på Ja i dialogrutan som visas för att stänga ExcelWorkbookProject-redigeraren .

  9. Lösnings-ID:t används i den anpassade åtgärden Installera.

Det sista steget är att konfigurera den anpassade åtgärden för installations- och avinstallationsstegen.

Så här konfigurerar du installationsprojektet

  1. Högerklicka på ExcelWorkbookSetup i Solution Explorer, expandera Lägg till och klicka på Projektutdata.

  2. I dialogrutan Lägg till projektutdatagrupp klickar du på AddCustomizationCustomAction i listan Projekt.

  3. Välj Primära utdata och klicka på OK för att stänga dialogrutan och lägg till sammansättningen som innehåller den anpassade åtgärden i installationsprojektet.

    Skärmbild av fönstret Anpassad åtgärd för dokumentmanifest – Lägg till projektresultatgrupp

    Bild 15: Anpassad åtgärd för dokumentmanifest – Lägg till projektutdatagrupp

  4. Högerklicka på ExcelWorkbookSetup i Solution Explorer.

  5. Expandera Visa och klicka på Anpassade åtgärder.

  6. I redigeraren Custom Actions(ExcelWorkbookSetup) högerklickar du på Anpassade åtgärder och klickar på Lägg till anpassad åtgärd.

  7. I dialogrutan Välj objekt i projekt går du från listan Sök i och klickar på Applikationsmappen. Välj Primära utdata från AddCustomizationCustomAction(active) och klicka på OK för att lägga till den anpassade åtgärden i installationssteget.

  8. Under noden Installera högerklickar du på Primära utdata från AddCustomizationCustomAction(Active) och klickar på Byt namn. Ge den anpassade åtgärden namnet Kopiera dokument till Mina dokument och bifoga anpassning.

  9. Under noden Avinstallera högerklickar du på Primära utdata från AddCustomizationCustomAction(Active) och klickar på Byt namn. Ge den anpassade åtgärden namnet Ta bort dokument från mappen Dokument.

    Skärmbild av fönstret Anpassade åtgärder för dokumentmanifest

    Bild 16: Anpassade åtgärder för dokumentmanifest

  10. I redigeraren Custom Actions(ExcelWorkbookSetup) högerklickar du på Kopiera dokument till Mina dokument och bifogar anpassning och klickar på Fönstret Egenskaper.

  11. I fönstret Egenskaper för CustomActionData anger du platsen för anpassnings-DLL, distributionsmanifestet och platsen för Microsoft Office-dokumentet. SolutionID behövs också.

  12. Om du vill logga eventuella installationsfel i en fil ska du inkludera en LogFile-parameter. s

    /assemblyLocation="[INSTALLDIR]ExcelWorkbookProject.dll" /deploymentManifestLocation="[INSTALLDIR]ExcelWorkbookProject.vsto" /documentLocation="[INSTALLDIR]ExcelWorkbookProject.xlsx" /solutionID="Your Solution ID" /LogFile="[TARGETDIR]Setup.log"
    

    Skärmbild av fönstret Anpassad åtgärd för att kopiera dokument till Mina Dokument - Egenskaper

    Bild 17: Anpassad åtgärd för att kopiera dokument till mina dokument

  13. Den anpassade åtgärden för avinstallation behöver namnet på dokumentet. Du kan ange det med hjälp av samma documentLocation-parameter i CustomActionData

    /documentLocation="[INSTALLDIR]ExcelWorkbookProject.xlsx"
    
  14. Kompilera och distribuera ExcelWorkbookSetup-projektet .

  15. Titta i mappen Mina dokument och öppna filen ExcelWorkbookProject.xlsx.

Ytterligare resurser

Anvisningar: Installera Visual Studio Tools för Office Runtime

Office Primary Interop-sammansättningar

Registerposter för VSTO-tillägg

Översikt över anpassade dokumentegenskaper

Ange formulärregioner i Windows-registret

Bevilja förtroende till dokument

Om författarna

Wouter van Vugt är en Microsoft MVP med Office Open XML-tekniker och en oberoende konsult som fokuserar på att skapa Office Business Applications (OBA) med SharePoint, Microsoft Office och relaterade .NET-tekniker. Wouter är en frekvent deltagare på utvecklarwebbplatser i communityn, till exempel MSDN. Han har publicerat flera white papers och artiklar samt en bok tillgänglig online med titeln Open XML: Explained. Wouter är grundare av Code-Counsel, ett holländskt företag som fokuserar på att leverera banbrytande tekniskt innehåll via en mängd olika kanaler. Du kan ta reda på mer om Wouter genom att läsa hans blogg.

Ted Pattison är en SharePoint MVP, författare, tränare och grundare av Ted Pattison Group. Hösten 2005 anställdes Ted av Microsofts developer platform evangelism-grupp för att skapa utbildningsplanen ascend developer för Windows SharePoint Services 3.0 och Microsoft Office SharePoint Server 2007. Sedan dess har Ted fokuserat helt på att utbilda professionella utvecklare om SharePoint 2007-tekniker. Ted har skrivit en bok för Microsoft Press med titeln Inside Windows SharePoint Services 3.0 som fokuserar på hur du använder SharePoint som utvecklingsplattform för att skapa affärslösningar. Ted skriver också en utvecklarfokuserad kolumn för MSDN Magazine med titeln Office Space.