Share via


Pakketten installeren met Dynamics CRM Package Deployer en Windows PowerShell

 

Gepubliceerd: februari 2017

Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Notitie

De hier geboden informatie heeft betrekking op versies van Dynamics 365 vóór Dynamics 365 (online), versie 9.0. Voor de nieuwste documentatie raadpleegt Pakketten installeren met Dynamics CRM Package Deployer en Windows PowerShell.

Met Microsoft Dynamics CRM Package Deployer kunnen beheerders pakketten implementeren op een Dynamics 365 (on-premises)- of Microsoft Dynamics 365 (online)-exemplaar. Een "pakket" kan bestaan uit enkele of alle van de volgende:

  • Een of meer Dynamics 365-oplossingsbestanden.

  • Vlakke bestanden of geëxporteerde gegevensbestanden van Hulpprogramma voor configuratiemigratie. Voor meer informatie over Hulpprogramma voor configuratiemigratie raadpleegt u Configuratiegegevens beheren.

  • Aangepaste code die kan worden uitgevoerd tijdens of nadat het pakket is geïmplementeerd naar Microsoft Dynamics 365.

  • HTML-inhoud specifiek voor het pakket die aan het begin en het einde van de pakketinstallatie kan worden weergeven. Dit kan handig zijn als u een beschrijving wilt geven van de oplossingen en bestanden die in het pakket worden geïnstalleerd.

Ontwikkelaars maken pakketten met de sjabloon voor pakketinstallatie in Microsoft Visual Studio.Meer informatie:MSDN: Pakketten maken voor CRM Package Deployer

Nadat het pakket is gemaakt, kunt u het distribueren door Pakketinstallatie voor CRM uit te voeren of door de Windows PowerShell-cmdlets voor het hulpprogramma te gebruiken.

Belangrijk

Voordat u een pakket uitvoert en importeert in een productieorganisatie, test u het pakket op een niet-productieorganisatie die een spiegelbeeld van de productieorganisatie is.

Maak altijd een back-up van de productieorganisatie voordat u een pakket installeert.

In dit onderwerp

Pakketten implementeren met Hulpmiddel Pakketimplementatie

Windows PowerShell gebruiken om pakketten te distribueren

Problemen met pakketinstallatie oplossen met behulp van logboekbestanden

Aanbevolen procedures voor het implementeren van pakketten

Pakketten implementeren met Hulpmiddel Pakketimplementatie

U kunt Hulpmiddel Pakketimplementatie (packagedeployer.exe) gebruiken om pakketten op de volgende manieren te installeren.

Hulpmiddel Pakketimplementatie gebruiken om pakketten te implementeren

Hulpmiddel Pakketimplementatie op de opdrachtregel gebruiken

Hulpmiddel Pakketimplementatie gebruiken om pakketten te implementeren

Het Hulpmiddel Pakketimplementatie kan slechts één pakket tegelijk verwerken. Het biedt gebruikers echter de mogelijkheid een te installeren pakket te selecteren uit meerdere pakketten die beschikbaar zijn in de map Hulpmiddel Pakketimplementatie. Enkele van de schermen en acties in de tool variëren afhankelijk van de pakketdefinitie. U hoeft het Hulpmiddel Pakketimplementatie niet te installeren. Download het en voer het uit.

  1. Zorg dat u beschikt over het te installeren pakket. Een pakket is een verzameling bestanden en mappen die is gemaakt in uw Visual Studio-projectmap (<Project>\Bin\Debug) wanneer u uw pakket in Visual Studio maakt. Kopieer het volgende uit uw projectdebugmap:

    • <Pakketnaam>-map: Deze map bevat de oplossingen, importconfiguratie en de inhoud voor uw pakket.

    • <Pakketnaam>.dll: De assembly bevat de code voor het pakket. Standaard is de naam van de assembly hetzelfde als de Visual Studio-projectnaam.

    Voor gedetailleerde informatie over het maken van een pakket met Visual Studio raadpleegt u MSDN: Een pakket maken voor het hulpmiddel Package Deployer.

    In dit onderwerp wordt ervan uitgegaan dat de pakketmap en de assembly uit de projectdebugmap Visual Studio (<Project>\Bin\Debug) worden gekopieerd naar de map c:\DeployPackage.

  2. Download de Microsoft Dynamics CRM SDK. Voer het pakketbestand uit om de inhoud van het pakket uit te pakken.

  3. Ga naar de map SDK\Tools\PackageDeployer en kopieer de pakketmap en de assembly van de map c:\DeployPackage naar de map SDK\Tools\PackageDeployer.

  4. Nadat alle bestanden zijn gekopieerd, voert u het hulpprogramma uit door op het bestand PackageDeployer.exe te dubbelklikken in de map SDK\Tools\PackageDeployer.

  5. Klik op Doorgaan in het hoofdscherm van het hulpmiddel.

  6. Geef in het scherm Verbinding maken met Microsoft Dynamics 365 verificatiedetails op om verbinding te maken met uw Dynamics 365-server waar u het pakket wilt implementeren. Als u meer organisaties hebt, en de organisatie wilt selecteren waar u het pakket wilt implementeren, schakelt u het selectievakje Altijd de lijst met beschikbare organisaties weergeven in. Klik op Aanmelden.

  7. Als u meer organisaties hebt op uw Dynamics 365-server, selecteert u een Dynamics 365-organisatie waarmee u verbinding wilt maken.

  8. Selecteer het pakket dat u wilt installeren en klik op Volgende.

    Select your package in the Package Deployer Tool

  9. Volg de instructies in de volgende schermen om de installatie van pakket te voltooien.

    De schermen worden weergegeven op basis van de definitie van het pakket die u hebt geselecteerd voor de installatie. Voor een complete pakketinstallatie die Hulpmiddel Pakketimplementatie gebruikt, raadpleegt u het onderwerp voor de installatie van Unified Service Desk-pakketten: Voorbeelden van Unified Service Desk-toepassingen op CRM-server implementeren met behulp van Package Deployer

Hulpmiddel Pakketimplementatie op de opdrachtregel gebruiken

Systeembeheerders en systeemaanpassers kunnen parameters, zoals een regionale taalcode, doorgeven aan packagedeployer.exe vanaf de opdrachtregel. Deze parameters kunnen alleen worden geconfigureerd door Hulpmiddel Pakketimplementatie op de opdrachtregel uit te voeren.

Notitie

Deze functie is oorspronkelijk geïntroduceerd in Update 0.1 voor Microsoft Dynamics CRM Online 2016.

De beschikbare parameters worden in deze tabel weergegeven.

Parameter

Beschrijving

Standaardwaarde

RuntimePackageSettings

Instrueert packagedeployer.exe om opdrachtregelparameters te accepteren, zoals LCID en SkipChecks.

Niet van toepassing

LCID=localeID

Hiermee wordt de ID van de landinstelling, zoals 1033 voor Engels-Verenigde Staten of 1036 voor Frans-Frankrijk, opgegeven via de beschikbare ID´s voor landinstellingen in het pakket. Als deze niet wordt opgegeven, wordt de standaardtaal gebruikt.

De standaardtaal gebruiken

SkipChecks=true/false

Gebruik deze parameter alleen wanneer de doelomgeving geen andere oplossingen of aanpassingen bevat. Als dit is ingesteld op waar, worden bij de import van de oplossing bepaalde veiligheidscontroles overgeslagen, waarmee de prestaties van de import mogelijk worden verbeterd.

Onwaar

Het volgende voorbeeld instrueert Pakketinstallatie voor CRM bepaalde veiligheidscontroles over te slaan en stelt de te importeren taal op Pools in.

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

Notitie

Gebruik het pijpteken (|) om parameters van elkaar te scheiden als u packagedeployer.exe op de opdrachtregel uitvoert met meerdere parameters.

Zie voor meer informatie over de parameters en waarden die kunnen worden doorgegeven aan packagedeployer.exe MSDN: Pakketten maken voor CRM Package Deployer

Windows PowerShell gebruiken om pakketten te distribueren

Hulpmiddel Pakketimplementatie biedt ook Windows PowerShell-ondersteuning voor de installatie van pakketten.

Voer de volgende stappen uit om de Powershell-cmdlets te gebruiken om pakketten te distribueren:

Vereisten

De cmdlet registreren

De cmdlets gebruiken om pakketten op te halen

De cmdlet gebruiken om verbinding te maken met uw Dynamics 365-exemplaar

De cmdlets gebruiken om pakketten te installeren

Gedetailleerde Help krijgen over cmdlets

Vereisten

Dit zijn de vereisten voor het gebruik van de Powershell-cmdlets:

  • Powershell 3.0 of later is vereist om een pakket te distribueren met Powershell. Als u uw versie van Powershell wilt controleren, opent u een Powershell-venster en voert u de volgende opdracht uit: $Host.

  • Stel het uitvoeringsbeleid zo in dat het de ondertekende Powershell-scripts uitvoert. Als u dit wilt, opent u een Powershell-venster als beheerder en voert u de volgende opdracht uit: Set-ExecutionPolicy -ExecutionPolicy AllSigned

De cmdlet registreren

U moet de Windows PowerShell-cmdlets voor Hulpmiddel Pakketimplementatie registreren voordat u ze kunt gebruiken. De cmdlets registreren:

  1. Download als u dat nog niet hebt gedaan het Dynamics 365 SDK-pakket uit het Microsoft Downloadcentrum en voer het pakketbestand uit om de inhoud van het pakket uit te pakken. Stel dat u het pakket hebt uitgepakt in de map c:\CRM op uw computer.Hulpmiddel Pakketimplementatie en de overige vereiste bestanden zijn dan beschikbaar op de volgende locatie: c:\CRM\SDK\Tools\PackageDeployer.

  2. Start Windows PowerShell op uw computer met extra bevoegdheden (uitvoeren als beheerder).

  3. Wijzig achter de prompt in het Windows PowerShell-venster de map in de map Windows PowerShell onder de map PackageDeployer. In dit geval:

    cd c:\CRM\SDK\Tools\PackageDeployer\PowerShell
    
  4. Voer het script RegisterXRMTooling.ps1 uit om de Package Deployer Windows PowerShell-assembly (dll) te registreren en installeer de Windows PowerShell-module voor Hulpmiddel Pakketimplementatie. Hiervoor typt u de volgende opdracht en drukt u op ENTER:

    .\RegisterXRMTooling.ps1
    
  5. Voeg de Windows PowerShell-module voor XRM tooling toe. Hierdoor worden de volgende cmdlets geregistreerd: Get-CrmConnection en Get-CrmOrganizations.

    Add-PSSnapin Microsoft.Xrm.Tooling.Connector
    
  6. Voeg de Windows PowerShell-module voor Package Deployer toe. Hierdoor worden de volgende cmdlets geregistreerd: Get-CrmPackages en Import-CrmPackage.

    Add-PSSnapin Microsoft.Xrm.Tooling.PackageDeployment
    

U bent nu klaar om deze Windows PowerShell-cmdlets te gebruiken. Als u de cmdlets die u hebt geïnstalleerd, wilt weergeven, voert u de volgende opdracht uit bij de prompt in het venster Windows PowerShell:

Get-Help “Crm”

De cmdlets gebruiken om pakketten op te halen

Voordat u de cmdlet kunt gebruiken, moet u het pakket hebben gekopieerd naar de map PackageDeployer (in dit geval c:\CRM\SDK\Tools\PackageDeployer). Een pakket is een verzameling bestanden en mappen die is gemaakt in uw Visual Studio-projectmap (<Project>\Bin\Debug) wanneer u uw project in Visual Studio maakt. Kopieer de volledige inhoud van uw projectdebugmap naar de map PackageDeployer. Voor gedetailleerde informatie over het maken van een pakket met Visual Studio raadpleegt u MSDN: Pakketten maken voor CRM Package Deployer.

  1. In het venster Powershell gebruikt u de volgende cmdlet om een lijst te krijgen van pakketten die beschikbaar zijn voor import in de opgegeven map (in dit geval c:\CRM\SDK\Tools\PackageDeployer):

    Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer
    
  2. Als u informatie over een pakket in een map wilt, kunt u de cmdlet Get-CrmPackages met de parameter - PackageName gebruiken om de naam van de assembly op te geven in de map die de pakketdefinitie bevat.

    Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll
    
  3. De locatie van de pakketassembly kan in een variabele worden opgeslagen met behulp van de cmdlet Get-CrmPackages. Vervolgens kan het worden hergebruikt in de cmdlet Import-CrmPackage om een waarde voor de PackageDirectory-parameter op te geven. U kunt bijvoorbeeld de gegevens van een of meer pakketten opslaan die zijn geretourneerd van de cmdlet Get-CrmPackages in een variabele met de naam $MyPackages.

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

    Voor weergave van alle pakketten.

    $MyPackages
    

    Voor weergave van alleen het derde pakket.

    $MyPackages[2].PackageAssemblyLocation
    

    Vervolgens kunt u naar elk pakket verwijzen in de matrix van 0 tot en met n. Met bijvoorbeelddeze cmdlet wordt het eerste pakket geïmporteerd dat is gevonden in $MyPackages.

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

    Notitie

    De parameter PackageAssemblyLocation en de mogelijkheid om de maplocatie en de naam van een pakket weer te geven, worden geïntroduceerd met Update voor Dynamics 365 (online en on-premises) - december 2016Meer informatie:Dynamics 365 SDK

De cmdlet gebruiken om verbinding te maken met uw Dynamics 365-exemplaar

  1. Geef de referenties op om verbinding te maken met uw Microsoft Dynamics 365 (online)- of Dynamics 365 (on-premises)-exemplaar. Als u de volgende opdracht uitvoert, wordt u gevraagd om uw gebruikersnaam en wachtwoord te typen om verbinding te maken met het Dynamics 365-exemplaar. Het wordt opgeslagen in de variabele $Cred en later gebruikt om verbinding te maken met uw Dynamics 365-server.

    $Cred = Get-Credential
    
  2. Gebruik de volgende opdracht om verbinding te maken met uw Microsoft Dynamics 365 (online)- of Dynamics 365 (on-premises)-exemplaar. De verbindingsinformatie wordt opgeslagen in de variabele $CRMConn:

    • Als u verbinding maakt met het Dynamics 365 (on-premises)-exemplaar:

      $CRMConn = Get-CrmConnection -ServerUrl http://<your_CRM_Server> -OrganizationName <your_Org_Name> -Credential $Cred
      
    • Als u verbinding maakt met de Microsoft Dynamics 365 (online)-server:

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

      Notitie

      Voor de parameter DeploymentRegion zijn de volgende waarden geldig: NorthAmerica, EMEA, APAC, SouthAmerica, Oceania, JPN en NorthAmerica2. Voor de parameter OnlineType zijn de volgende waarden geldig: Office365 en LiveID.

  3. Uw opgegeven referenties worden gevalideerd wanneer u de opdracht in stap 2 uitvoert.

De cmdlets gebruiken om pakketten te installeren

Vervolgens gebruikt u de Dynamics 365-verbindingsinformatie die is opgeslagen in de variabele $CRMConn om pakketten te installeren op het Dynamics 365-exemplaar. Met de volgende pakketopdracht deploysa wordt het pakket in de map c: \UnpackedFiles gedeassembleerd en wordt informatie in een logboekbestand vastgelegd in de map c: \MyLogFiles.

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

Notitie

  • De parameters CrmConnection, PackageDirectory en PackageName zijn verplicht.

  • In plaats van de pakketmap handmatig op te geven, kunt u een variabele gebruiken met de parameter PackageDirectory.Meer informatie:De cmdlets gebruiken om pakketten op te halen

  • Voor de parameter PackageName moet u de naam van de assembly opgeven die de pakketdefinitie bevat.

  • U hoeft de parameter UnpackFilesDirectory niet op te geven als uw pakket geen bestanden uitpakt tijdens de pakketinstallatie. Bij het definiëren van een pakket in Visual Studio geeft u met de parameter agentdesktopzipfile in het bestand ImportConfig.xml op of bestanden moeten worden uitgepakt.Meer informatie:MSDN: Pakketten maken voor CRM Package Deployer

  • De parameter Verbose is optioneel en wordt gebruikt om een gedetailleerd logboek weer te geven met de activiteiten die tijdens de pakketinstallatie zijn uitgevoerd.

  • De optionele parameter RuntimePackageSettings kan in combinatie met de volgende parameters worden gebruikt:

    • Met de parameter LCID=localeID wordt de ID van de landinstelling, zoals 1033 voor Engels-Verenigde Staten of 1036 voor Frans-Frankrijk, opgegeven via de beschikbare ID´s voor landinstellingen in het pakket. Als deze niet wordt opgegeven, wordt de standaardtaal gebruikt.

    • De

      De parameter SkipChecks=true/false dient alleen te worden gebruikt wanneer de doelomgeving geen andere oplossingen of aanpassingen bevat. Als dit is ingesteld op waar, worden bij de import van de oplossing bepaalde veiligheidscontroles overgeslagen, waarmee de prestaties mogelijk worden verbeterd.

  • De map die u opgeeft wanneer u de parameter LogWriteDirectory gebruikt, moet al bestaan, en de gebruiker die de cmdlet Import-CrmPackage uitvoert, moet schrijfmachtiging voor de map bevatten. Bovendien is de -Verbose-parameter vereist wanneer u de parameter LogWriteDirectory gebruikt.

    De parameter LogWriteDirectory is voor het eerst geïntroduceerd met Update voor Dynamics 365 (online en on-premises) - december 2016.Meer informatie:Dynamics 365 SDK

Met de volgende voorbeeldopdracht wordt een pakket met de naam SampleCRMPackage geïmporteerd en wordt Engels-Verenigde Staten (1033 ) opgegeven als de taal waarin het pakket moet worden geïmporteerd.

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

Gedetailleerde Help krijgen over cmdlets

In het Powershell-venster moet u de cmdlet Get-Help met een cmdlet-naam gebruiken om gedetailleerde Help voor de cmdlet weer te geven. U kunt bijvoorbeeld Help krijgen voor de cmdlet Import-CrmPackage:

Get-Help Import-CrmPackage -full

Als u de online help wilt zien voor de cmdlets, raadpleegt u CRM PowerShell-referentie.

Problemen met pakketinstallatie oplossen met behulp van logboekbestanden

Hulpmiddel Pakketimplementatie biedt logboekregistratieondersteuning om gedetailleerde informatie te krijgen over fouten die kunnen optreden wanneer iemand zich bij het Microsoft Dynamics 365-exemplaar aanmeldt met het hulpmiddel en installatiepakketten. Met het hulpprogramma worden standaard drie logboekbestanden gegenereerd die vanaf de volgende locatie beschikbaar zijn op de computer waarop u het hulpprogramma uitvoert: c: \Users\<Gebruikersnaam>\AppData\Roaming\Microsoft\Microsoft Dynamics CRM Package Deployer\<Versie>. Als u een andere map wilt opgeven, gebruikt u de Powershell-cmdletparameter -LogWriteDirectory.Meer informatie:De cmdlets gebruiken om pakketten op te halen

  • Login_ErrorLog.log: Biedt informatie over de problemen die optreden als u het hulpmiddel gebruikt om u aan te melden bij het Dynamics 365-exemplaar. Als er tijdens de aanmelding problemen zijn, wordt een bericht weergegeven op het aanmeldingsscherm van het hulpmiddel met een koppeling naar dit logboekbestand. Het bericht stelt dat er een fout is opgetreden tijdens het verwerken van de aanmeldingsaanvraag en dat de gebruiker het foutlogboek kan bekijken. U kunt op de koppeling in het bericht klikken om dit logboekbestand weer te geven. Het logboekbestand wordt gemaakt de eerste keer dat er aanmeldproblemen in het hulpprogramma zijn. Daarna wordt het logboekbestand gebruikt om informatie vast te leggen over volgende aanmeldproblemen als die optreden.

  • PackageDeployer.log: Biedt meer informatie over elke taak die in het hulpprogramma wordt uitgevoerd tijdens de installatie van de pakketten. U kunt het logboekbestand weergeven vanuit het hulpprogramma door te klikken op de link Logboekbestand weergeven, onder in het scherm.

  • ComplexImportDetail.log: Biedt meer informatie over de gegevens die in de afgelopen installatie zijn geïmporteerd met het hulpprogramma. Telkens als u met dit hulpprogramma een pakket installeert, worden de bestaande gegevens van het logboekbestand verplaatst naar een bestand genaamd ComplexImportDetail._old.log in dezelfde map en bevat het bestand ComplexImportDetail.log informatie over de laatste import die met het hulpprogramma is uitgevoerd.

Aanbevolen procedures voor het implementeren van pakketten

Bij de distributie van pakketten moeten Dynamics 365-beheerders het volgende doen:

  • Op een ondertekende pakketassembly aandringen zodat ze een assembly terug kunnen volgen naar de bron.

  • Voordat u het pakket op een productie-exemplaar implementeert, moet u het pakket controleren op een pre-productie-exemplaar, bij voorkeur een spiegelbeeld van het productie-exemplaar.

  • Maak een back-up van het productie-exemplaar voordat u het pakket implementeert.

Zie ook

MSDN: Pakketten maken voor CRM Package Deployer
Dynamics 365 beheren

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht