Distribuera paket med verktyget Package Deployer och Windows PowerShell för Dynamics CRM
Publicerat: februari 2017
Gäller för: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Anteckning
Informationen som ges här är för versioner av Dynamics 365 innan Dynamics 365 (online) version 9.0. För den senaste dokumentationen, se Distribuera paket med Dynamics CRM Package Deployer och Windows PowerShell.
Microsoft Dynamics CRM Package Deployer gör det möjligt för administratörer att distribuera paket på en Dynamics 365 (lokalt)- eller Microsoft Dynamics 365 (online)-instans. Ett paket kan bestå av några eller alla av följande:
En eller flera Dynamics 365-lösningsfiler.
Platta eller exporterade datafiler från Konfiguration av migreringsverktyget. Mer information om Konfiguration av migreringsverktyget finns i Hantera konfigurationsdata.
Anpassad kod som kan köras under eller efter att paketet har distribuerats till Microsoft Dynamics 365.
HTML-innehåll i paketet som kan visas i början och slutet av processen för distribution av paket. Detta kan vara användbart för att ge en beskrivning av de lösningar och filer som distribueras i paketet.
Utvecklare kan skapa paket med hjälp av mallen för distribution av paket i Microsoft Visual Studio.Mer information:MSDN: skapa paket för CRM Package Deployer
När du har skapat ett paket kan du distribuera det antingen genom att köra CRM-paketdistributören eller med hjälp av Windows PowerShell-cmdlets för verktyget.
Viktigt
Innan du importerar och kör ett paket för en produktionsorganisation, testa paketet på en icke-produktion som är en spegelbild av produktionsorganisationen.
Säkerhetskopiera alltid produktionsorganisationen innan du distribuerar ett paket.
I det här ämnet
Distribuera paket med Paketdistributionsverktyg
Använda Windows PowerShell för att distribuera paket
Felsökning av problem med paketdistribution med hjälp av loggfiler
Metodtips för distribution av paket
Distribuera paket med Paketdistributionsverktyg
Du kan använda Paketdistributionsverktyg (packagedeployer.exe) att distribuera paket på följande sätt.
Använd Paketdistributionsverktyg för att distribuera paket
Använd Paketdistributionsverktyg på kommandoraden
Använd Paketdistributionsverktyg för att distribuera paket
Paketdistributionsverktyg kan bara bearbeta ett paket åt gången. Detta ger dock användarna möjlighet att välja ett paket för distribution bland flera paket som är tillgängliga i Paketdistributionsverktyg katalog. Vissa skärmar och åtgärder i verktyget skiljer sig åt beroende på paketdefinitionen. Du behöver inte installera Paketdistributionsverktyg. Bara hämta och köra det.
Hämta paketet som ska distribueras. Ett paket är en samling filer och mappar som skapas i projektmappen för Visual Studio (<Project>\Bin\Debug) när du skapar ett paketprojekt i Visual Studio. Kopiera följande från mappen Project Debug:
mappen <PackageName>: den här mappen innehåller lösningarna, importkonfigurationen och innehållet för ditt paket.
<PackageName>.dll: sammansättningen innehåller koden för ditt paket. Som standard är namnet på sammansättningen detsamma som för ditt Visual Studio-projektnamn.
Mer information om hur du skapar ett paket med hjälp av Visual Studio, se MSDN: skapa ett paket för verktyget Package Deployer.
För det här avsnittet antar vi att paketmappen och sammansättningen från mappen Visual Studio Project Debug (<Projekt>\Bin\Debug) kopieras till mappen c:\DeployPackage.
Ladda ned Microsoft Dynamics CRM SDK. Kör sedan den nedladdade körbara filen och extrahera innehållet i paketet.
Bläddra till mappen SDK\Tools\PackageDeployer och kopiera paketmappen och sammansättningen från c:\DeployPackage till mappen SDK\Tools\PackageDeployer.
Efter att filerna kopierats kör du verktyget genom att dubbelklicka på filen PackageDeployer.exe i mappen SDK\Tools\PackageDeployer.
Klicka på Fortsätt i huvudfönstret för verktyget.
På skärmen Anslut till Microsoft Dynamics 365 anger du dina autentiseringsuppgifter för att ansluta till den Dynamics 365-server där du vill distribuera paketet. Om du har flera organisationer på servern och vill välja den organisation där du vill distribuera paketet markerar du kryssrutan Visa alltid listan över tillgängliga organisationer. Klicka på Logga in.
Om du har flera organisationer på din Dynamics 365-server väljer du en Dynamics 365-organisation att ansluta till.
Välj det paket som ska distribueras och klicka på Nästa.
Följ instruktionerna på de efterföljande skärmarna för att slutföra installationen av paketet.
Skärmarna som visas baseras på definitionen av det paket du har valt för distribution. Information om en paketdistribution från slutpunkt till slutpunkt som använder Paketdistributionsverktyg finns i avsnittet om distribution av Unified Service Desk-paket: Distribuera Unified Service Desk-exempelprogram till CRM Server med hjälp av Package Deployer
Använd Paketdistributionsverktyg på kommandoraden
Systemadministratörer och anpassare kan överföra parametrar, till exempel en regional språkkod till packagedeployer.exe från kommandoraden. Dessa parametrar kan endast konfigureras genom att köra Paketdistributionsverktyg på kommandoraden.
Anteckning
Den här funktionen introducerades först i Microsoft Dynamics CRM Online 2016-uppdatering 0.1.
Tillgängliga parametrar finns i den här tabellen.
Parameter |
Beskrivning |
Standardvärde |
---|---|---|
RuntimePackageSettings |
Instruerar packagedeployer.exe att acceptera kommandoradsparametrar som LCID och SkipChecks. |
Saknas |
LCID=localeID |
Anger språk-ID, t.ex. 1033 för Engelska - USA eller 1036 för Franska - Frankrike från tillgängliga ID för nationella inställningar i paketet. Om inget anges används standardspråket. |
Använd standardspråket |
SkipChecks=true/false |
Använd endast denna parameter när målmiljön inte innehåller några andra lösningar eller anpassningar. När värdet är true, kringgår lösningsimporten vissa säkerhetskontroller, vilket kan förbättra prestanda för import. |
Falskt |
Följande exempel instruerar CRM-paketdistributören att kringgå vissa säkerhetskontroller och anger språket att importera som polska.
packagedeployer.exe /Settings:"SkipChecks=true|lcid=1045"
Anteckning
Använd tecknet vertikalstreck | för att avgränsa parametrar när du kör packagedeployer.exe på kommandoraden med flera parametrar.
Läs mer om parametrar och värden som kan skickas till packagedeployer.exe i MSDN: Skapa paket för CRM Package Deployer.
Använda Windows PowerShell för att distribuera paket
Paketdistributionsverktyg innehåller också Windows PowerShell-stöd för distribution av paket.
Utför följande steg för att använda PowerShell-cmdletar för distribution av paket:
Förutsättningar
Registrera cmdletarna
Använda cmdleten för att hämta paket
Använda cmdleten för att ansluta till Dynamics 365-instansen
Använda cmdleten för att distribuera paket
Få detaljerad hjälp med cmdletar
Förutsättningar
Här är förutsättningarna för att använda PowerShell-cmdletarna:
PowerShell 3.0 eller senare krävs för att distribuera ett paket med hjälp av PowerShell. Du kontrollerar din PowerShell-version genom att köra ett PowerShell-fönster och sedan köra följande kommando: $Host
Ange körningsprincipen för att köra det signerade PowerShell-skriptet. Det gör du genom att köra ett PowerShell-fönster som administratör och sedan köra följande kommando: Set-ExecutionPolicy -ExecutionPolicy AllSigned
Registrera cmdletarna
Du måste registrera Windows PowerShell-cmdletar för Paketdistributionsverktyg innan du kan använda den. Registrera cmdletarna:
Om du inte redan har gjort det kan du hämta SDK-paketet för Dynamics 365 från Microsoft Download Center och köra paketfilen för att extrahera innehållet i paketet. Vi antar att du extraherade paketet till mappen c:\CRM på datorn.Paketdistributionsverktyg och andra obligatoriska filer blir tillgängliga på följande plats: c:\CRM\SDK\Tools\PackageDeployer.
Starta Windows PowerShell på din dator med förhöjda privilegier (Kör som administratör).
I kommandotolken i Windows PowerShell-fönstret byter du katalog till mappen Windows PowerShell under mappen PackageDeployer. Gör följande i det här fallet:
cd c:\CRM\SDK\Tools\PackageDeployer\PowerShell
Kör skriptet RegisterXRMTooling.ps1 för att registrera Windows PowerShell-sammansättningen (dll) för Package Deployer och installera Windows PowerShell-snapin-modulen för Paketdistributionsverktyg. Gör det genom att skriva följande kommando och trycka på RETUR:
.\RegisterXRMTooling.ps1
Lägg till Windows PowerShell-snapin-modulen för XRM-verktygsuppsättningen. Detta gör att följande cmdletar registreras: Get-CrmConnection och Get-CrmOrganizations.
Add-PSSnapin Microsoft.Xrm.Tooling.Connector
Lägg till Windows PowerShell-snapin-modulen för Package Deployer. Detta gör att följande cmdletar registreras: Get-CrmPackages och Import-CrmPackage.
Add-PSSnapin Microsoft.Xrm.Tooling.PackageDeployment
Du är nu redo att använda dessa Windows PowerShell-cmdletar. Om du vill visa de cmdletar som du registrerat kör du följande kommando i Kommandotolken i Windows PowerShell-fönstret:
Get-Help “Crm”
Använda cmdleten för att hämta paket
Innan du kan använda cmdleten bör du se till att du har kopierat ditt paket till mappen PackageDeployer (i det här fallet c:\CRM\SDK\Tools\PackageDeployer). Ett paket är en samling filer och mappar som skapas i projektmappen för Visual Studio (<Project>\Bin\Debug) när du skapar ett projekt i Visual Studio. Kopiera hela innehållet i mappen Project Debug till mappen PackageDeployer. Mer information om hur du skapar ett paket med hjälp av Visual Studio finns i MSDN: skapa paket för CRM Package Deployer.
I PowerShell-fönstret, använd följande cmdlet för att returnera en lista över paket som är tillgängliga för import i den angivna mappen (i det här fallet c:\CRM\SDK\Tools\PackageDeployer):
Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer
Om du vill ha information om ett paket i en mapp kan du använda cmdleten Get-CrmPackages tillsammans med parametern –PackageName för att ange namnet på paketet i den mapp som innehåller paketdefinitionen.
Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll
Paketets monteringsplats kan lagras i en variabel genom att anväda Get-CrmPackages cmdlet. Den kan sedan återanvändas i Import-CrmPackage cmdlet för att ange ett värde för parametern PackageDirectory. Till exempel kan du lagra information i ett eller flera paket som returneras från Get-CrmPackages cmdlet en variabel med namnet $MyPackages.
$MyPackages = Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer
För att visa alla paket.
$MyPackages
För att endast visa tredje paketet.
$MyPackages[2].PackageAssemblyLocation
Då kan du referera varje paket tilli matrisen från 0 till n. Tillexemplet importerar den här cmdleten det första paketet som finns i $MyPackages.
Import-CrmPackage -CrmConnection $CRMConn -PackageDirectory $MyPackages[0].PackageAssemblyLocation
Anteckning
Parametern PackageAssemblyLocation och möjlighet att visa mappplatsen och paketets namn började först med Uppdatering december 2016 för Dynamics 365 (online och lokalt).Mer information:Dynamics 365 SDK
Använda cmdleten för att ansluta till Dynamics 365-instansen
Ange dina autentiseringsuppgifter för att ansluta till din Microsoft Dynamics 365 (online)- eller Dynamics 365 (lokalt)-instans. Om du kör följande kommando uppmanas du att ange ditt användarnamn och lösenord för att ansluta till Dynamics 365-instansen. De lagras då i variabeln $Cred och används senare för att ansluta till Dynamics 365-servern.
$Cred = Get-Credential
Använd följande kommando för att hämta en anslutning till Microsoft Dynamics 365 (online)- eller Dynamics 365 (lokalt)-instansen. Vi lagrar anslutningsinformationen i variabeln $CRMConn:
Om du ansluter till Dynamics 365 (lokalt)-instansen:
$CRMConn = Get-CrmConnection -ServerUrl http://<your_CRM_Server> -OrganizationName <your_Org_Name> -Credential $Cred
Om du ansluter till Microsoft Dynamics 365 (online)-servern:
$CRMConn = Get-CrmConnection -DeploymentRegion NorthAmerica –OnlineType Office365 –OrganizationName <your_Org_Name> -Credential $Cred
Anteckning
Giltiga värden för parametern DeploymentRegion är NorthAmerica, EMEA, APACSouthAmerica, Oceania, JPN och NorthAmerica2. Giltiga värden för parametern OnlineType är Office365 och LiveID.
De angivna autentiseringsuppgifterna valideras när du kör kommandot i steg 2.
Använda cmdleten för att distribuera paket
Använd nu Dynamics 365-anslutningsinformationen som lagrats i $CRMConn-variabeln för att distribuera paket till Dynamics 365-instansen. Följande kommando distribuerar ett paket, tar isär paketet i mappen c:\UnpackedFiles och registrerar informationen i en loggfil i mappen c:\MyLogFiles.
Import-CrmPackage –CrmConnection $CRMConn –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll –UnpackFilesDirectory c:\UnpackedFiles -LogWriteDirectory C:\MyLogFiles -Verbose
Anteckning
-
Parametrarna CrmConnection, PackageDirectory och PackageName är obligatoriska.
-
I stället för att manuellt ange paketmappen kan du använda en variabel med parametern PackageDirectory.Mer information:Använda cmdleten för att hämta paket
-
För parametern PackageName måste du ange namnet på paketet som innehåller paketdefinitionen.
-
Du behöver inte ange UnpackFilesDirectory-parametern om ditt paket inte packar upp filerna under distributionen av paket. När du definierar ett paket i Visual Studio anger du om filerna ska packas upp med hjälp av parametern agentdesktopzipfile i filen ImportConfig.xml.Mer information:MSDN: skapa paket för CRM Package Deployer
-
Verbose-parametern är valfri och används för att visa en detaljerad logg över de aktiviteter som utförs under distributionsprocessen för paket.
-
Den valfria parametern RuntimePackageSettings kan användas tillsammans med följande parametrar:
-
Parametern LCID=localeID anger språk-ID, t.ex. 1033 för Engelska - USA eller 1036 för Franska - Frankrike från tillgängliga ID för nationella inställningar i paketet. Om inget anges används standardspråket.
-
.
Parametern SkipChecks=true/false bör endast användas när målmiljön inte innehåller några andra lösningar eller anpassningar. När värdet är true, kringgår lösningsimporten vissa säkerhetskontroller, vilket kan förbättra prestanda för import.
-
-
Den mapp som du anger när du använder parametern LogWriteDirectory måste redan finnas och användaren som kör cmdleten Import Import-CrmPackage måste ha skrivbehörighet till mappen. Dessutom krävs parametern -Verbose när du använder parametern LogWriteDirectory.
Parametern LogWriteDirectory introducerades först med Uppdatering december 2016 för Dynamics 365 (online och lokalt).Mer information:Dynamics 365 SDK
Följande exempelkommando importerar ett paket som heter SampleCRMPackage och anger engelska - USA (1033) som språket för att importera paketet.
Import-CrmPackage –CrmConnection $CRMConn –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll –UnpackFilesDirectory c:\UnpackedFiles –RuntimePackageSettings LCID=1033
Få detaljerad hjälp med cmdletar
I PowerShell-fönstret, använd Get-Help-cmdleten med ett cmdlet-namn om du vill visa en detaljerad hjälp för cmdleten. Om du t.ex. vill få detaljerad hjälp för cmdleten Import-CrmPackage:
Get-Help Import-CrmPackage -full
Om du vill visa direkthjälpen för cmdlets, se CRM PowerShell-referens.
Felsökning av problem med paketdistribution med hjälp av loggfiler
Paketdistributionsverktyg stöder loggning om du vill få detaljerad information om fel som kan uppstå när någon loggar in på Microsoft Dynamics 365-instansen med hjälp av verktyget och distribuerar paket. Som standard skapar verktyget tre loggfiler som lagras på följande plats på datorn där du kör verktyget: c:\Users\<UserName>\AppData\Roaming\Microsoft\Microsoft Dynamics CRM Package Deployer\<Version>. Om du vill ange en annan mapp, använder du parametern LogWriteDirectory PowerShell cmdleten.Mer information:Använda cmdleten för att hämta paket
Login_ErrorLog.log: ger information om de problem som uppstod när du använde verktyget för att logga in på Dynamics 365-instansen. Om det uppstår problem vid inloggningen visas ett meddelande på verktygets inloggningsskärm med en länk till den här loggfilen. Meddelandet anger att ett fel uppstod vid bearbetningen av en inloggningsbegäran och användaren kan granska felloggen. Du kan klicka på länken i meddelandet för att visa loggfilen. Loggfilen skapas första gången du stöter på några inloggningsproblem i verktyget. Loggfilen används därefter för att logga information om inloggningsproblem när dessa uppstår.
PackageDeployer.log: innehåller detaljerad information om varje aktivitet i som utförts i verktyget under distributionen av paketen. Du kan visa loggfilen från verktyget genom att klicka på länken Visa loggfil längst ned på skärmen.
ComplexImportDetail.log: innehåller detaljerad information om importerade data i den senaste distributionen som gjordes med hjälp av verktyget. Varje gång du distribuerar ett paket med det här verktyget flyttas befintlig information från loggfilen till en fil med namnet ComplexImportDetail._old.log i samma katalog och filen ComplexImportDetail.log visar information om den senaste importen som gjordes hjälp av verktyget.
Metodtips för distribution av paket
Vid distribution av paket Dynamics 365 måste administratörerna göra följande:
Kräva att ett signerat paket används så att de kan spåra ett paket tillbaka till källan.
Testa paketet på en instans i en förproduktionsinstans (helst en spegelbild av produktionsinstansen) innan du kör det på en produktionsserver.
Säkerhetskopiera produktionsinstansen innan du distribuerar ett paket.
Se även
MSDN: skapa paket för CRM Package Deployer
Administrera Dynamics 365
© 2017 Microsoft. Med ensamrätt. Copyright