Del via


Distribuere pakker ved hjelp av verktøyet Package Deployer og Windows PowerShell i Dynamics CRM

 

Publisert: februar 2017

Gjelder: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Obs!

Informasjonen som er angitt her, er for versjoner av Dynamics 365 som er eldre en Dynamics 365 (online), versjon 9.0 For den nyeste dokumentasjonen kan du se Distribuere pakker ved hjelp av verktøyet Package Deployer og Windows PowerShell i Dynamics CRM.

Microsoft Dynamics CRM Package Deployer gjør det mulig for administratorer å distribuere pakker på en Dynamics 365 (lokal)- eller Microsoft Dynamics 365 (Online)-forekomst. En pakke kan bestå av hvilken som helst av, eller alle, følgende:

  • Én eller flere løsningsfiler for Dynamics 365.

  • Flate filer eller eksporterte datafiler fra Verktøy for konfigurasjonsoverføring. Hvis du vil ha mer informasjon om Verktøy for konfigurasjonsoverføring, kan du se Håndtere konfigurasjonsdata.

  • Egendefinert kode som kan kjøres under distribusjon eller etter at pakken er distribuert til Microsoft Dynamics 365.

  • HTML-innhold spesifikt for pakken som kan vises ved start og slutt av pakkdistribusjon. Dette kan være nyttig for å gi en beskrivelse av løsninger og filer som distribueres i pakken.

Utviklere oppretter pakker ved å bruke pakkedistribusjonsmalen i Microsoft Visual Studio.Mer informasjon:MSDN: Opprette pakker for CRM Package Deployer

Når en pakke er opprettet, kan du distribuere den ved å kjøre Pakkedistribusjon for CRM eller ved å bruke Windows PowerShell-cmdleter for verktøyet.

Viktig

Før du importerer og kjører en pakke i en produksjonsorganisasjon, kan du teste pakken på et ikke-produksjonsspeilbilde av produksjonsorganisasjonen.

Sikkerhetskopier alltid produksjonsorganisasjonen før du distribuerer en pakke.

I dette emnet

Distribuere pakker ved hjelp av Pakkedistribusjonsverktøy

Bruke Windows PowerShell til å distribuere pakker

Feilsøke problemer med pakkedistribusjon ved hjelp av loggfiler

Gode fremgangsmåter for distribusjon av pakker

Distribuere pakker ved hjelp av Pakkedistribusjonsverktøy

Du kan bruke Pakkedistribusjonsverktøy (packagedeployer.exe) til å distribuere pakker på følgende måter.

Bruke Pakkedistribusjonsverktøy til å distribuere pakker

Bruke Pakkedistribusjonsverktøy fra kommandolinjen

Bruke Pakkedistribusjonsverktøy til å distribuere pakker

Pakkedistribusjonsverktøy kan bare behandle én pakke om gangen. Den gir imidlertid brukere muligheten til å velge en pakke å distribuere fra flere pakker som er tilgjengelige i Pakkedistribusjonsverktøy-katalogen. Noen av skjermbildene og handlingene i verktøyet avhenger av pakkedefinisjonen. Du behøver ikke å installere Pakkedistribusjonsverktøy. Bare laste ned og kjøre det.

  1. Få tak i pakken som skal distribueres. En pakke er en samling av filer og mapper som er opprettet i Visual studio-prosjektmappen (<Prosjekt>\Bin\Debug) når du bygger pakkeprosjektet i Visual Studio. Kopier følgende fra prosjektets Debug-mappe:

    • Mappen <PackageName>: Denne mappen inneholder løsningene, importkonfigurasjonen og innholdet for pakken.

    • <PackageName>.dll: Samlingen inneholder koden for pakken. Som standard er navnet på samlingen er det samme som Visual Studio-prosjektnavnet.

    Hvis du vil ha mer informasjon om hvordan du oppretter en pakke ved hjelp av Visual Studio, kan du se MSDN: Opprette en pakke for Package Deployer-verktøyet.

    La oss anta for dette emnet at pakkemappen og samlingen fra Visual Studio-prosjektets Debug-mappe (<Prosjekt>\Bin\Debug) kopieres til c:\DeployPackage-mappen.

  2. Last ned Microsoft Dynamics CRM SDK Kjør deretter den nedlastede kjørbare filen for å pakke ut innholdet i pakken.

  3. Bla deg frem til SDK\Tools\PackageDeployer-mappen og kopier pakkemappen og samlingen fra c:\DeployPackage til mappen SDK\Tools\PackageDeployer.

  4. Når filene er kopiert, kjører du verktøyet ved å dobbeltklikke PackageDeployer.exe-filen i mappen SDK\Tools\PackageDeployer.

  5. Klikk Fortsett i hovedskjermbildet i verktøyet.

  6. I skjermbildet Koble til Microsoft Dynamics 365 angir du godkjenningsdetaljer for å koble til Dynamics 365-serveren der du vil distribuere pakken. Hvis du har flere organisasjoner og vil velge organisasjonen der du vil distribuere pakken, marker du av for Vis alltid en liste over tilgjengelige organisasjoner. Klikk Logg på.

  7. Hvis du har flere organisasjoner, velger du en Dynamics 365-organisasjon du vil koble til, på Dynamics 365-serveren.

  8. Velg pakken som skal distribueres, og klikk Neste.

    Select your package in the Package Deployer Tool

  9. Følg instruksjonene i de neste skjermbildene for å fullføre distribusjonen av pakken.

    Skjermbildene som vises er basert på definisjonen for pakken du har valgt for distribusjon. For en pakke for ende-til-ende-distribusjon som bruker Pakkedistribusjonsverktøy, kan du se emnet for distribusjon av Unified Service Desk-pakker: Distribuere eksempelprogrammer for Unified Service Desk til CRM-serveren ved hjelp av Package Deployer

Bruke Pakkedistribusjonsverktøy fra kommandolinjen

Systemansvarlige og systemtilpassere kan sende parametere, for eksempel en lokal språkkode, til packagedeployer.exe fra kommandolinjen. Disse parameterne kan bare konfigureres ved å kjøre Pakkedistribusjonsverktøy på kommandolinjen.

Obs!

Denne funksjonen ble først innført i Microsoft Dynamics CRM Online 2016 Update 0.1.

Tilgjengelige parametere finnes i denne tabellen.

Parameter

Beskrivelse

Standardverdi

RuntimePackageSettings

Instruerer packagedeployer.exe til å godta kommandolinjeparametere som LCID og SkipChecks.

Ikke aktuelt

LCID=localeID

Angir ID-en for nasjonal innstilling, for eksempel 1033 for English-United States eller 1036 for French-France, fra tilgjengelige ID-er i pakken. Hvis den ikke er angitt, brukes standardspråket.

Bruk standardspråket

SkipChecks=true/false

Bruk bare denne parameteren når målmiljøet ikke inneholder andre løsninger eller tilpasninger. Når den er satt til sann, vil løsningsimporten hoppe over noen sikkerhetssjekker, som kan forbedre ytelsen til importen.

Usann

Det følgende eksemplet angir at Pakkedistribusjon for CRM skal omgå noen sikkerhetskontroller og angir språket som skal importeres, til polsk.

packagedeployer.exe /Settings:"SkipChecks=true|lcid=1045"

Obs!

Bruke den loddrette streken | til å skille parameterne når du kjører packagedeployer.exe på kommandolinjen med flere parametere.

Hvis du vil ha mer informasjon om parametere og verdier som kan sendes til packagedeployer.exe, kan du se MSDN: opprette pakker for CRM Package Deployer.

Bruke Windows PowerShell til å distribuere pakker

Pakkedistribusjonsverktøy har også Windows PowerShell-støtte for å distribuere pakker.

Gjør følgende for å bruke PowerShell-cmdletene til å distribuere pakker:

Forhåndskrav

Registrere cmdleter

Bruke cmdletene til å hente pakker

Bruke cmdleten for å koble til Dynamics 365-forekomsten

Bruke cmdletene til å distribuere pakker

Få detaljert hjelp med cmdleter

Forhåndskrav

Her er forhåndskravene for å bruke PowerShell-cmdletene:

  • PowerShell 3.0 eller nyere kreves for å distribuere en pakke ved hjelp av PowerShell. Hvis du vil kontrollere PowerShell-versjonen, kjører du et PowerShell-vindu og deretter følgende kommando: $Host

  • Angi kjøringspolicyen for å kjøre det signerte PowerShell-skriptet. Hvis du vil gjøre dette, kan du kjøre PowerShell-vinduet som administrator og deretter følgende kommando: Set-ExecutionPolicy -ExecutionPolicy AllSigned

Registrere cmdleter

Du må registrere Windows PowerShell-cmdletene for Pakkedistribusjonsverktøy før du kan bruke det. Slik registrerer du cmdleter:

  1. Hvis du ikke allerede har gjort dette, laster du ned Dynamics 365 SDK-pakken fra Microsoft Download Center og kjører pakkefilen for å pakke ut innholdet i pakken. La oss anta at du pakket ut pakken til mappen c:\CRM på datamaskinen.Pakkedistribusjonsverktøy og de andre nødvendige filene blir tilgjengelige på følgende plassering: c:\CRM\SDK\Tools\PackageDeployer.

  2. Start Windows PowerShell på datamaskinen med utvidede rettigheter (Kjør som administrator).

  3. På ledeteksten i Windows PowerShell-vinduet endrer du mappen til mappen Windows PowerShell under mappen PackageDeployer. I dette tilfellet:

    cd c:\CRM\SDK\Tools\PackageDeployer\PowerShell
    
  4. Kjør RegisterXRMTooling.ps1-skriptet for å registrere Package Deployer Windows PowerShell-samlingen (dll) og installere Windows PowerShell-snapin-modulen for Pakkedistribusjonsverktøy. Du gjør dette ved å skrive inn følgende kommando og trykke ENTER:

    .\RegisterXRMTooling.ps1
    
  5. Legg til snapin-modulen Windows PowerShell for XRM-verktøy. Dette vil registrere følgende cmdleter: Get-CrmConnection og Get-CrmOrganizations.

    Add-PSSnapin Microsoft.Xrm.Tooling.Connector
    
  6. Legg til snapin-modulen Windows PowerShell for Package Deployer. Dette vil registrere følgende cmdleter: Get-CrmPackages og Import-CrmPackage.

    Add-PSSnapin Microsoft.Xrm.Tooling.PackageDeployment
    

Du er nå klar til å bruke disse Windows PowerShell-cmdletene. Hvis du vil vise cmdletene som du registrerte, kjører du følgende kommando fra ledeteksten i Windows PowerShell-vinduet:

Get-Help “Crm”

Bruke cmdletene til å hente pakker

Før du kan bruke cmdleten, må du sikre at du har kopiert pakken til mappen PackageDeployer (i dette tilfelletc:\CRM\SDK\Tools\PackageDeployer). En pakke er en samling av filer og mapper som opprettes i Visual Studio-prosjektmappen (<Prosjekt>\Bin\Debug) når du bygger prosjektet i Visual Studio. Kopier hele innholdet i Debug-mappen for prosjektet til den PackageDeployer-mappen. Hvis du vil ha mer informasjon om hvordan du bygger en pakke ved hjelp av Visual Studio, kan du se MSDN: Opprette pakker for CRM Package Deployer.

  1. I PowerShell-vinduet bruker du følgende cmdlet til å returnere en liste over pakker som er tilgjengelige for import i den angitte mappen (i dette tilfellet c:\CRM\SDK\Tools\PackageDeployer):

    Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer
    
  2. Hvis du vil ha informasjon om en pakke i en mappe, kan du bruke cmdleten Get-CrmPackages sammen med parameteren –PackageName for å angi navnet på samlingen i mappen som inneholder pakkedefinisjonen.

    Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll
    
  3. Plasseringen av pakkesamlingen kan lagres i en variabel ved hjelp av cmdleten Get-CrmPackages. Den kan deretter brukes på nytt i cmdleten Import-CrmPackage for å angi en verdi for parameteren PackageDirectory. Du kan for eksempel lagre informasjon om én eller flere pakker som returneres fra cmdleten Get-CrmPackages, i en variabel som kalles $MyPackages.

    $MyPackages = Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer 
    

    For å vise alle pakker.

    $MyPackages
    

    For å vise bare den tredje pakken.

    $MyPackages[2].PackageAssemblyLocation
    

    Deretter kan du referere til hver pakke i matrisen fra 0 til n. For eksempel, denne cmdleten importerer den første pakken som som blir funnet i $MyPackages.

    Import-CrmPackage -CrmConnection $CRMConn -PackageDirectory $MyPackages[0].PackageAssemblyLocation
    

    Obs!

    Parameteren PackageAssemblyLocation og muligheten til å vise mappeplasseringen og navnet på en pakke ble først i introdusert Oppdatering desember 2016 for Dynamics 365 (Online og lokal).Mer informasjon:Dynamics 365 SDK

Bruke cmdleten for å koble til Dynamics 365-forekomsten

  1. Angi legitimasjonen for å koble til Microsoft Dynamics 365 (Online)- eller Dynamics 365 (lokal)-forekomsten. Hvis du kjører følgende kommando, blir du bedt om å skrive inn brukernavn og passord for å koble til Dynamics 365-forekomsten, og vi vil lagre den i $Cred-variabelen og bruke den senere for å koble til Dynamics 365-serveren.

    $Cred = Get-Credential
    
  2. Bruk følgende kommando for å koble til Microsoft Dynamics 365 (Online)- eller Dynamics 365 (lokal)-forekomsten. Vi lagrer tilkoblingsinformasjonen i $CRMConn-variabel:

    • Hvis du kobler til Dynamics 365 (lokal)-forekomsten:

      $CRMConn = Get-CrmConnection -ServerUrl http://<your_CRM_Server> -OrganizationName <your_Org_Name> -Credential $Cred
      
    • Hvis du kobler til Microsoft Dynamics 365 (Online)-serveren:

      $CRMConn = Get-CrmConnection -DeploymentRegion NorthAmerica –OnlineType Office365 –OrganizationName <your_Org_Name> -Credential $Cred
      

      Obs!

      Gyldige variabler for DeploymentRegion-parameteren er NorthAmerica, EMEA, APACSouthAmerica, Oceania, JPN og NorthAmerica2. Gyldige variabler for OnlineType-parameteren er Office365 og LiveID.

  3. De angitte legitimasjonene valideres når du kjører kommandoen i trinn 2.

Bruke cmdletene til å distribuere pakker

Det neste du gjør er å bruke Dynamics 365-informasjonen som er lagret i $CRMConn-variabel, til å distribuere pakker til Dynamics 365-forekomsten. Følgende kommando distribuerer en pakke, deler opp pakken i mappen c:\UnpackedFiles, og registrerer informasjon i en fil i mappen c:\MyLogFiles.

Import-CrmPackage –CrmConnection $CRMConn –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll –UnpackFilesDirectory c:\UnpackedFiles -LogWriteDirectory C:\MyLogFiles -Verbose

Obs!

  • Parameterne CrmConnection, PackageDirectory og PackageName er obligatoriske.

  • I stedet for å angi pakkemappen manuelt kan du bruke en variabel med PackageDirectory-parameteren.Mer informasjon:Bruke cmdletene til å hente pakker

  • For PackageName-parameteren må du angi navnet på samlingen som inneholder pakkedefinisjonen.

  • Du trenger ikke å angi UnpackFilesDirectory-parameteren hvis pakken ikke pakker ut filene under distribuering av pakken. Når du definerer en pakke i Visual Studio, angir du om filene skal pakkes ut ved hjelp av parameteren agentdesktopzipfile i filen ImportConfig.xml.Mer informasjon:MSDN: Opprette pakker for CRM Package Deployer

  • Parameteren Verbose er valgfri, og den brukes til å vise en detaljert logg over aktiviteter som utføres i løpet av distribusjonsprosessen for pakken.

  • Den valgfrie parameteren RuntimePackageSettings kan brukes sammen med følgende parametere:

    • Parameteren LCID=localeID angir ID-en for nasjonal innstilling, for eksempel 1033 for English-United States eller 1036 for French-France, fra tilgjengelige ID-er i pakken. Hvis den ikke er angitt, brukes standardspråket.

    • Rapportveiviseren

      Parameteren SkipChecks=true/false bør bare brukes når målmiljøet ikke inneholder andre løsninger eller tilpasninger. Når den er satt til sann, vil løsningsimporten hoppe over noen sikkerhetssjekker, som kan forbedre importytelsen.

  • Mappen du angir når du bruker LogWriteDirectory-parameteren, må finnes allerede, og brukeren som kjører cmdleten Import-CrmPackage, må ha skrivetilgang til mappen. I tillegg er parameteren -Verbose nødvendig når du bruker LogWriteDirectory-parameteren.

    LogWriteDirectory-parameteren ble innført med Oppdatering desember 2016 for Dynamics 365 (Online og lokal).Mer informasjon:Dynamics 365 SDK

Følgende eksempelkommando importerer en pakke med navnet SampleCRMPackage og angir English-United States (1033) som språket for pakkeimporten.

Import-CrmPackage –CrmConnection $CRMConn –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll –UnpackFilesDirectory c:\UnpackedFiles –RuntimePackageSettings LCID=1033

Få detaljert hjelp med cmdleter

I PowerShell-vinduet bruker du Get-Help-cmdleten med et cmdlet-navn til å vise detaljert hjelp for cmdleten. Eksempel: Få detaljert hjelp for Import-CrmPackage-cmdleten:

Get-Help Import-CrmPackage -full

Hvis du vil vise den elektroniske hjelpen for cmdlets, kan du se CRM PowerShell referanse.

Feilsøke problemer med pakkedistribusjon ved hjelp av loggfiler

Pakkedistribusjonsverktøy støtter logging for å få detaljert informasjon om feil som kan oppstå når noen logger på Microsoft Dynamics 365-forekomsten ved hjelp av verktøyet og distribuerer pakker. Verktøyet genererer som standard tre loggfiler som er tilgjengelig på følgende plassering på datamaskinen der du kjører verktøyet: C:\Brukere\<brukernavn>\AppData\Roaming\Microsoft\Microsoft Dynamics CRM Package Deployer\<versjon>. Hvis du vil angi en annen mappe, kan du bruke -LogWriteDirectory PowerShell-cmdlet-parameteren.Mer informasjon:Bruke cmdletene til å hente pakker

  • Login_ErrorLog.log: Inneholder informasjon om problemene som oppstod da du brukte verktøyet til å logge på Dynamics 365-forekomsten. Hvis det er problemer under pålogging, vises en melding i påloggingsskjermbildet for verktøyet med en kobling til loggfilen. Meldingen angir at det oppstod en feil under behandling av påloggingsforespørselen og at brukeren kan vise feilloggen. Du kan klikke koblingen i meldingen for å vise loggfilen. Loggfilen opprettes første gang det oppstår påloggingsproblemer i verktøyet. Loggfilen brukes deretter til å logge informasjon om påloggingsproblemer når de oppstår.

  • PackageDeployer.log: Inneholder detaljert informasjon om alle oppgaver som utføres i verktøyet under distribusjon av pakkene. Du kan vise loggfilen fra verktøyet ved å klikke koblingen Vis loggfil nederst på skjermen.

  • ComplexImportDetail.log: Inneholder detaljert informasjon om dataene som ble importert i den siste distribusjonsjobben ved hjelp av verktøyet. Hver gang du distribuerer en pakke ved hjelp av verktøyet, flyttes de eksisterende detaljene fra loggfilen til en fil som heter ComplexImportDetail._old.log i samme mappe, og filen ComplexImportDetail.log viser informasjon om den siste importen som ble utført ved hjelp av verktøyet.

Gode fremgangsmåter for distribusjon av pakker

Under distribusjon av pakker må Dynamics 365-administratorer:

  • Bruk en signert pakkesamling slik at samlingen kan spores tilbake til kilden.

  • Teste pakken i en før-produksjonsforekomst (fortrinnsvis et speilbilde av produksjonsforekomsten) før det kjøres på en produksjonsserver.

  • Sikkerhetskopiere produksjonsforekomsten før en pakkedistribusjon.

Se også

MSDN: Opprette pakker for CRM Package Deployer
Administrering av Dynamics 365

© 2017 Microsoft. Med enerett. Opphavsrett