Del via


Registrere og installere plug-ins

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Plug-ins og brugerdefinerede arbejdsprocesaktiviteter er brugerdefineret kode, som du udvikler for at udvide den eksisterende funktionalitet af Microsoft Dynamics 365. Før en plug-in eller en brugerdefineret arbejdsprocesaktivitet kan bruges, skal den være registreret på serveren. Du kan registrere plug-ins og brugerdefinerede arbejdsprocesaktiviteter via programmering med Microsoft Dynamics 365 (online og i det lokale miljø) ved at skrive registreringskode ved hjælp af visse klasser af SDK. For at lette indlæringstiden og få hurtigere udvikling og udrulning af brugerdefineret kode er et registreringsværktøj for plug-ins og brugerdefinerede arbejdsprocesaktiviteter inkluderet i Bin-mappen i SDK.Hent SDK-pakken til Microsoft Dynamics CRM.

Dette emne fokuserer primært på plug-ins, men de fleste oplysninger er også gældende for brugerdefinerede arbejdsprocesaktiviteter. Én forskel mellem de to er, at du for brugerdefinerede arbejdsprocesaktiviteters assemblies kun registrerer assembly. Du kan registrere plug-in-assembly'en og et eller flere trin pr. plug-in. Du kan finde flere oplysninger om brugerdefinerede arbejdsprocesaktiviteter i Brugerdefinerede arbejdsprocesaktiviteter (arbejdsprocesassemblies).

System_CAPS_security Sikkerhed Bemærkning

Registrér ikke nogen plug-in eller brugerdefineret arbejdsprocesaktivitet, medmindre de stammer fra en pålidelig og troværdig kilde.

Du kan finde flere oplysninger om, hvordan du pakker dine plug-ins som løsningskomponenter, i Pakke- og distributionsudvidelser ved hjælp af løsninger.

Dette emne indeholder

Plug-in-registreringsværktøj

Plug-in-lager

Udrulning

Assembly-versionsstyring og -løsninger

Sikkerhedsbegrænsninger

Registrere plug-ins via programmering

Aktivere eller deaktivere kørsel af brugerdefineret kode

Plug-in-registreringsværktøj

Værktøjet Plug-in Registration indeholder en grafisk brugergrænseflade og understøtter registrering af plug-ins og brugerdefinerede arbejdsprocesaktiviteter i Microsoft Dynamics 365. Men tilpassede plug-ins og brugerdefinerede arbejdsprocesaktiviteter kan kun blive registreret og udført i sandkassen (isolationstilstand) til Microsoft Dynamics 365 (online).

Find flere oplysninger om, hvordan du registrerer og installerer en plug-in ved hjælp af værktøjet, i Gennemgang: Registrere en plug-in ved hjælp af værktøjet til registrering af plug-in. Værktøjet kan føjes til menuen Visual StudioFunktioner som et eksternt værktøj til at fremskynde udviklingsprocessen.

Plug-in-lager

For en udrulning i det lokale miljø kan plug-ins, der ikke er registreret i sandkassen, gemmes i Microsoft Dynamics 365-serverens database eller på disken i filsystemet. Vi anbefaler, at du gemmer dine produktionsklare plug-ins i Microsoft Dynamics 365-databasen i stedet for på disken. Plug-ins, der er gemt i databasen, bliver automatisk fordelt på tværs af flere Microsoft Dynamics 365-servere i en datacenterklynge. Opbevaring af plug-ins på disk er nyttig til fejlfinding af plug-ins ved hjælp af Microsoft Visual Studio. Du kan dog foretage fejlfinding af en plug-in, der er gemt i databasen. Du kan finde flere oplysninger under Fejlfinding af en plug-in.

Plug-ins, der er registreret i sandkassen, skal gemmes i databasen, uanset Microsoft Dynamics 365-udrulningen (i det lokale miljø, IFD eller online).

Udrulning

For installationer af Microsoft Dynamics 365 i det lokale miljø eller med adgang via internettet (IFD), når du installerer plug-ins fra en anden computer til Microsoft Dynamics 365-serverdisken (udrulning på disk) skal plug-in-assembly'en kopieres manuelt til serveren før registrering. Assembly'en, der skal installeres i mappen <installdir>\Program Files\Microsoft CRM\server\bin\assembly på hver server, hvor den pågældende plug-in skal køre.

Registrering af plug-in skal ske, efter at assembly'en er blevet kopieret til mappen …\bin\assembly på serveren for at undgå en situation, hvor en bruger får en hændelse i Microsoft Dynamics 365 til at opstå, men den registrerede plug-in-assembly findes ikke på serveren. For udrulning af serverdatabase kopieres plug-in-assembly'en automatisk under registrering af plug-in, så den ovennævnte situation ikke er et problem.

Afhængig af dine plug-ins design kan dine plug-ins kræve andre referencer til assemblies for at kunne køre. Uanset om du udruller din plug-in til databasen eller disken, hvis din plug-in kræver andre assemblies for at kunne køre, skal du gemme kopier af disse assemblies i den globale assemblycache på hver server, hvor denne plug-in skal køre. Dette gælder ikke for en Microsoft Dynamics 365 (online)-server, fordi du ikke har adgang til den globale assemblycache på den pågældende server.

Sådan flyttes en plug-in fra et udviklingsmiljø til en midlertidig eller produktionsserver

  1. Opbyg plug-in-kode på udviklingscomputeren. Medtag ikke fejlfindingsoplysninger. Optimer ydeevnen af plug-in'en.

  2. Registrer den pågældende plug-in i Microsoft Dynamics 365-serverdatabasen.

  3. Brug Microsoft Dynamics 365-webprogramnet til at oprette en løsning, eller brug en eksisterende, og tilføj plug-in'en i denne løsning.

  4. Når du har tilføjet de ønskede komponenter i løsningen, kan du eksportere løsningen.

  5. Importér løsningen på serveren, der er midlertidig eller til produktion.

Assembly-versionsstyring og -løsninger

Plug-in-assemblies kan have versionsnumre i formatet overordnet.underordnet.build.revision, der er defineret i filen Assembly.info til Microsoft Visual Studio-projektet. Følgende funktionsmåde gælder alt efter, hvilken del af assemblyens versionsnummer der ændres i en nyere løsning, når en eksisterende løsning opdateres via import.

  • Build- eller revisionsassembly-versionsnummeret ændres.

    Dette betragtes som en direkte opgradering. Den ældre version af assemblyen fjernes, når den løsning, der indeholder den opdaterede assembly importeres. De eksisterende trin fra den gamle løsning ændres automatisk for at henvise til den nyere version af assemblyen.

  • Overordnet eller underordnet assembly-versionsnummer, med undtagelse af build- eller revisionsnumre, ændres.

    Når der importeres en opdateret løsning med en revideret assembly, betragtes denne assembly som en helt anden assembly end den tidligere version af denne assembly i den eksisterende løsning. Registreringstrin for plug-in i den eksisterende løsning fortsætter med at henvise til den tidligere version af assemblyen. Hvis eksisterende plug-in-registreringstrin for den tidligere assembly skal pege på den reviderede assembly, skal du bruge værktøjet til registrering af plug-ins til manuelt for at ændre konfigurationen af trin til at henvise til den reviderede assembly-type. Dette skal gøres, før du eksporterer den opdaterede assembly til en løsning til senere import.

Du kan få flere oplysninger om løsninger i Introduktion til løsninger.

Sikkerhedsbegrænsninger

Der er en sikkerhedsmæssig begrænsning, så kun brugere med rettigheder kan registrere plug-ins. For plug-ins, der ikke er registreret i isolation, skal den systembrugerkonto, hvor denne plug-in er registreret, findes i gruppen Installationsadministratorer i Installationsstyring. Det er kun brugerkontoen Systemadministrator eller enhver anden brugerkonto, der er medtaget i gruppen Installationsadministratorer, som kan køre Installationsstyring.

Vigtigt

For ikke-isolerede plug-ins vil manglende registrering af brugerkontoen i gruppen Installationsadministratorer resultere i en undtagelse, der opstår under registrering af plug-in. Undtagelsens beskrivelse angiver "ikke tilstrækkelige rettigheder til at fuldføre oprettelseshandling for et SDK-objekt".

Den systembrugerkonto, hvor denne plug-in er registreret, skal have følgende sikkerhedsrettigheder for hele organisationen:

  • prvCreatePluginAssembly

  • prvCreatePluginType

  • prvCreateSdkMessageProcessingStep

  • prvCreateSdkMessageProcessingStepImage

  • prvCreateSdkMessageProcessingStepSecureConfig

Du kan finde flere oplysninger i Security role and privilege reference og Sikkerhedsmodellen for Microsoft Dynamics 365.

For plug-ins, der er registreret i sandkassen (isolationstilstand), skal systembrugerkontoen, hvor plug-in'en er ved at blive registreret, have rollen Systemadministrator. Medlemskab af gruppen Installationsadministratorer er ikke påkrævet.

Registrere plug-ins via programmering

De vigtigste objekttyper, der bruges til at registrere plug-ins og billeder, er: PluginAssembly, PluginType, SdkMessageProcessingStep og SdkMessageProcessingStepImage. De vigtigste objekttyper, der bruges til at registrere brugerdefinerede arbejdsprocesaktiviteter, er PluginAssembly og PluginType. Brug disse objekter til oprette-, opdatere-, hente- og slettehandlinger.

Du kan finde flere oplysninger om billeder i Forstå den datakontekst, der overføres til en plug-in.

Aktivere eller deaktivere kørsel af brugerdefineret kode

Du kan bruge Windows PowerShell til at aktivere eller deaktivere brugerdefineret kode, herunder plug-ins og brugerdefinerede arbejdsprocesaktiviteter, på serveren, som beskrevet her. Du kan også bruge installationswebtjenesten. Du kan finde flere oplysninger i Indstillinger for installationsobjekter og installationskonfiguration om at angive CustomCodeSettings.AllowExternalCode-egenskaben.

Sådan aktiverer du kørsel af brugerdefineret kode

  1. Åbn et Windows PowerShell-kommandovindue.

  2. Tilføj Microsoft Dynamics 365 PowerSnell-snap-in'en:

    Add-PSSnapin Microsoft.Crm.PowerShell
    
  3. Hent den aktuelle indstilling:

    $setting = get-crmsetting customcodesettings
    
  4. Rediger den aktuelle indstilling:

    $setting.AllowExternalCode="True"
    
    set-crmsetting $setting
    
  5. Kontrollér indstillingen:

    get-crmsetting customcodesettings
    

Sådan deaktiverer du kørsel af brugerdefineret kode

  1. Åbn et Windows PowerShell-kommandovindue.

  2. Tilføj Microsoft Dynamics 365 PowerSnell-snap-in'en:

    Add-PSSnapin Microsoft.Crm.PowerShell
    
  3. Hent den aktuelle indstilling:

    $setting = get-crmsetting customcodesettings
    
  4. Rediger den aktuelle indstilling:

    $setting.AllowExternalCode=0
    
    set-crmsetting $setting
    
  5. Kontrollér indstillingen:

    get-crmsetting customcodesettings
    

Se også

Plug-in-udvikling
Fejlfinding af en plug-in
Plug-in-isolation, -tillidsforhold og -statistik
Pakke- og distributionsudvidelser ved hjælp af løsninger
Rettigheder efter objekt

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret