Pakketten maken voor het Dynamics 365-hulpprogramma Package Deployer
Gepubliceerd: januari 2017
Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Met Microsoft Dynamics CRM Package Deployer kunnen beheerders pakketten implementeren in Microsoft Dynamics 365 (online)- en Dynamics 365 (on-premises)-exemplaren. Een "pakket" kan bestaan uit enkele of alle van de volgende:
Een of meer Dynamics 365-oplossingsbestanden.
Platte bestanden of geëxporteerde configuratiegegevensbestanden uit het Hulpprogramma voor configuratiemigratie. Zie voor meer informatie over het hulpprogramma TechNet: Uw configuratiegegevens beheren.
Aangepaste code die kan worden uitgevoerd voor, tijdens of na de implementatie voor het Dynamics 365-exemplaar.
HTML-inhoud specifiek voor het pakket die aan het begin en het einde van het installatieproces 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.
Microsoft Dynamics 365 biedt u een Visual Studio-sjabloon voor het maken van deze pakketten die met Hulpmiddel Pakketimplementatie kunnen worden gebruikt om deze naar een Dynamics 365-exemplaar te implementeren.
Notitie
Met de vrijgave van de CRM Online 2016 Update 1 en het CRM 2016-servicepack 1 (on-premises), is de Visual Studio-sjabloon voor het maken van Dynamics 365-pakketten uitgebreid met ondersteuning voor nieuwe functies, zoals runtime-ondersteuning voor parameters, het importeren van meerdere configuratiebestanden in één pakket, de mogelijkheid om aanpassingen te overschrijven of te negeren tijdens het bijwerken van oplossingen en nog veel meer. Bestaande pakketprojecten kunnen worden bijgewerkt zodat ze gebruik kunnen maken van de nieuwe functieset, door de Pakketinstallatie voor CRM-assembly's met NuGet bij te werken naar versie 8.1 of hoger.
In dit onderwerp
Vereisten
Een pakket maken
Installeer een pakket
Aanbevolen procedures voor het maken en implementeren van pakketten
Vereisten
Zorg ervoor dat u alle bestanden en de oplossingen die u hebt in het pakket wilt opnemen.
Microsoft .NET Framework 4.5.2
Microsoft Visual Studio 2012, Visual Studio 2013 of Visual Studio 2015
NuGet Pakketbeheer voor Visual Studio 2012, Visual Studio 2013 of Visual Studio 2015
Microsoft Dynamics 365 SDK sjablonen voor Visual Studio dat het pakketsjabloon bevat. U kunt het via een van de volgende opties krijgen:
Download de CRM SDK-sjablonen en dubbelklik op het bestand CRMSDKTemplates.vsix om de sjabloon in Visual Studio te installeren.
Download het CRM SDK-pakket en pak het uit. Het sjabloonsbestand, CRMSDKTemplates.vsix, staat in de map SDK\Templates. Dubbelklik op het CRMSDKTemplates.vsix bestand om het sjabloon te installeren in Visual Studio.
Een pakket maken
Voer de volgende vijf stappen uit om een pakket te maken:
Stap 1: Een project maken met behulp van het sjabloon
Stap 2: Voeg uw bestanden toe aan het project
Stap 3: Werk de HTML-bestanden bij: Engels en andere talen
Stap 4: Geef de configuratiewaarden voor het pakket
Stap 5: Definieer aangepaste code voor uw pakket
Stap 1: Een project maken met behulp van het sjabloon
Start Microsoft Visual Studio, en maak een nieuw project.
In het dialoogvenster Nieuw project:
Vouw in de lijst met geïnstalleerde sjablonen Visual C# uit en selecteer Dynamics 365 SDK-sjablonen.
Controleer of .NET Framework 4.5.2 is geselecteerd.
Selecteer Dynamics 365-pakket.
Geef de locatie en de naam van het bestand op, en klik op OK.
Stap 2: Voeg uw bestanden toe aan het project
In het deelvenster Oplossingenverkenner, voegt u uw oplossingen en bestanden onder de PkgFolder-map toe.
Voor elk bestand dat u onder de map PkgFolder in het deelvenster Eigenschappen toevoegt, stelt u de waarde Kopiëren naar uitvoermap in op Altijd kopiëren. Dit zorgt ervoor dat uw bestand in het gegenereerde pakket beschikbaar is.
Stap 3: Werk de HTML-bestanden bij: Engels en andere talen
In het deelvenster Oplossingenverkenner, vouw PkgFolder > Content > en-us uit. U vindt twee mappen genaamd EndHTML en WelcomeHTML. Deze mappen bevatten de HTML en aanverwante bestanden waarmee u de informatie aan het einde en het begin van het proces van de pakketinstallatie weergeeft. Bewerk de bestanden in de HTML map van deze mappen om informatie voor uw pakket toe te voegen.
U kunt de in HTML-bestanden in uw pakket ook in andere talen toevoegen, zodat de inhoud in HTML verschijnt in de taal gebaseerd op de lokale instellingen van de computer van de gebruiker. Hiervoor doet u het volgende
Maak een kopie van de en-us map onder PkgFolder > Content.
Hernoem de gekopieerde map naar de juiste taal. Bijvoorbeeld, voor de Spaanse taal, hernoem het es-ES.
Wijzig de inhoud van de HTML bestanden om Spaanse inhoud toe te voegen.
Stap 4: Geef de configuratiewaarden voor het pakket
Definieer de pakketconfiguratie door informatie over uw pakket in het ImportConfig.xml bestand toe te voegen dat beschikbaar is in PkgFolder. Dubbelklik op het bestand om het te openen voor bewerking. De volgende tabel bevat informatie over elke parameter en knooppunt in het configuratiebestand.
Parameter/knooppunt
Beschrijving
installsampledata
True of false. Als true, installeert voorbeeldgegevens naar exemplaar Dynamics 365. Dit zijn dezelfde voorbeeldgegevens die u in het gebied Instellingen > Gegevensbeheer in Dynamics 365 kunt installeren.
waitforsampledatatoinstall
waar of onwaar. Als waar, en als ook de installsampledata zijn ingesteld op waar, wacht u tot de voorbeeldgegevens zijn geïnstalleerd alvorens het pakket te distribueren.
Notitie
Let erop dat u de optie installsampledata instelt op true wanneer u waitforsampledatatoinstall instelt op true.
agentdesktopzipfile
Bestandsnaam of zip-bestand om uit te pakken. Als u een zip-bestand en bestandsnaam hier opgeeft, wordt er een scherm tijdens het installatieproces van het pakket toegevoegd, waarin u wordt voorgesteld om een locatie te selecteren waar u de inhoud van het bestand uit wilt pakken.
Dit wordt meestal gebruikt voor het maken van pakketten voor Unified Service Desk for Microsoft Dynamics 365. Zie voor meer informatie over Unified Service DeskTechNet: Unified Service Desk Beheerhandleiding.
agentdesktopexename
Naam van het .exe of .msi bestand in het zip-bestand of een URL die aan het einde van de installatieprocedure moet worden aangehaald.
Dit wordt meestal gebruikt voor het maken van pakketten voor Unified Service Desk.
crmmigdataimportfile
Bestandsnaam van het standaard configuratiegegevensbestand (.zip) geëxporteerd met behulp van Hulpprogramma voor configuratiemigratie.
U kunt een gelokaliseerde versie van het configuratiegegevensbestand ook importeren op basis van de landinstellingen-ID, opgegeven met nieuwe runtime-instellingen tijdens het uitvoeren van Package Deployer. Gebruik het knooppunt <cmtdatafile> (later uitgelegd) om de gelokaliseerde versies van het configuratiegegevensbestand in een pakket op te geven en gebruik vervolgens de methode OverrideConfigurationDataFileLanguage (later uitgelegd) om de logica voor het importeren van het configuratiegegevensbestand op te geven op basis van de landinstellingen-ID die is opgegeven met de runtime-instellingen. U kunt niet meer dan één configuratiegegevensbestand tegelijk importeren met een pakket.
Voor Dynamics 365 (on-premises) geldt dat als het configuratiegegevensbestand gebruikersgegevens bevat en de bron- en doelexemplaren van Dynamics 365 zich in hetzelfde Active Directory-domein bevinden, de gebruikersgegevens worden geïmporteerd naar het Dynamics 365-doelexemplaar. Als u gebruikersgegevens wilt importeren naar een Dynamics 365-exemplaar (on-premises) in een ander domein, moet u het gebruikerstoewijzingsbestand (.xml) opnemen dat is gegenereerd door middel van het Hulpprogramma voor configuratiemigratie in uw project, en het opgeven samen met het configuratiegegevensbestand met het kenmerk usermapfilename in het knooppunt <cmtdatafile> dat later wordt besproken. De gebruikersgegevens kunnen niet worden geïmporteerd in exemplaren van Dynamics 365 (online).
<solutions> knooppunt
Bevat een matrix van <configsolutionfile> knooppunten die de oplossingen om te importeren beschrijven. De volgorde van oplossingen onder dit knooppunt geeft de volgorde aan waarin de oplossingen in het Dynamics 365-exemplaar worden geïmporteerd.
<configsolutionfile> knooppunt
Gebruik dit knooppunt onder het knooppunt <solutions> om de afzonderlijke oplossingen en de volgende gegevens op te geven voor elke oplossing die u wilt importeren:
solutionpackagefilename: Geef de naam van het zip-bestand van de oplossing op. Vereist.
overwriteunmanagedcustomizations: geef hier op of andere onbeheerde aanpassingen moeten worden overschreven bij het importeren van een oplossing die al in het doelexemplaar van Dynamics 365 bestaat. Dit is optioneel. Als u dit kenmerk niet opgeeft, worden standaard de onbeheerde aanpassingen in bestaande oplossingen bewaard op het doelexemplaar van Dynamics 365.
publishworkflowsandactivateplugins: geef op of u workflows wilt publiceren en invoegtoepassingen in het doelexemplaar van Dynamics 365 wilt activeren nadat de oplossing is geïmporteerd. Dit is optioneel. Als u dit kenmerk niet opgeeft, worden standaard de workflows gepubliceerd en de invoegtoepassingen gestart nadat de oplossing in het doelexemplaar van Dynamics 365 is geïmporteerd.
U kunt meerdere oplossingbestandsnamen in een pakket toevoegen door een evengroot aantal <configsolutionfile> knooppunten toe te voegen. Bijvoorbeeld, als u wilt dat drie oplossingsbestanden worden geïmporteerd, voegt u deze als volgt toe:
<solutions> <configsolutionfile solutionpackagefilename="SampleSolutionOne_1_0_managed.zip" overwriteunmanagedcustomizations="false" publishworkflowsandactivateplugins="true"/> <configsolutionfile solutionpackagefilename="SampleSolutionTwo_1_0_managed.zip" overwriteunmanagedcustomizations="false" publishworkflowsandactivateplugins="true"/> <configsolutionfile solutionpackagefilename="SampleSolutionThree_1_0_managed.zip" /> </solutions>
<filestoimportnode> knooppunt
Bevat een matrix van de knooppunten <configimportfile> en <zipimportdetails> die worden gebruikt om respectievelijk individuele bestanden en .zip-bestanden beschrijft om te importeren.
<configimportfile> knooppunt
Met dit knooppunt onder het knooppunt <configimportfile> beschrijft u een bestand dat in Dynamics 365 moeten worden geïmporteerd. U kunt meerdere bestanden in een pakket toevoegen door een evengroot aantal <configimportfile> knooppunten toe te voegen.
<filestoimport> <configimportfile filename="File.csv" filetype="CSV" associatedmap="FileMap" importtoentity="FileEntity" datadelimiter="" fielddelimiter="comma" enableduplicatedetection="true" isfirstrowheader="true" isrecordownerateam="false" owneruser="" waitforimporttocomplete="true" /> <configimportfile filename="File.zip" filetype="ZIP" associatedmap="FileMapName" importtoentity="FileEntity" datadelimiter="" fielddelimiter="comma" enableduplicatedetection="true" isfirstrowheader="true" isrecordownerateam="false" owneruser="" waitforimporttocomplete="true"/> </filestoimport>
Dit heeft de volgende kenmerken:
Kenmerk
Beschrijving
filename
De naam van het bestand dat de importgegevens bevat. Als het bestand een .zip-bestand is, moet een <zipimportdetails> knooppunt met een <zipimportdetail> knooppunt voor elk van de bestanden in het .zip-bestand aanwezig zijn.
filetype
Dit kan csv, xml of zip zijn.
associatedmap
Naam van de Dynamics 365 importgegevenstoewijzing om met dit bestand te gebruiken. Indien leeg, wordt geprobeerd om de naam van de importgegevenstoewijzing voor dit bestand bepaald door het systeem te gebruiken.
importtoentity
Kan de naam van de exe in het zip-bestand, een URL, of een .msi bestand zijn om een koppeling te bieden om aan het einde van het proces aan te roepen.
datadelimiter
Naam van het gegevensscheidingsteken dat in het importbestand wordt gebruikt. Geldige waarden zijn singlequote of doublequotes.
fielddelimiter
Naam van het veldscheidingsteken dat in het importbestand wordt gebruikt. Geldige waarden zijn comma of colon of singlequote.
enableduplicatedetection
Geeft aan of duplicaatdetectieregels tijdens gegevensimport moet worden ingeschakeld. De geldige waarden zijn waar of onwaar.
isfirstrowheader
Gebruikt om aan te duiden dat de eerste rij in het importbestand de veldnamen bevat. Geldige waarden zijn true of false.
isrecordownerateam
Geeft aan of de eigenaar van het record op importeren een team moet zijn. Geldige waarden zijn true of false.
owneruser
Wijs op de gebruikers-ID van wie de records moeten zijn. De standaardwaarde is de momenteel aangemelde gebruiker.
waitforimporttocomplete
Als true, dan wacht het systeem tot de voltooiing van de import alvorens verder te gaan. Als false, dan plaatst het de taken in de wachtrij en gaat het verder.
<zipimportdetails> knooppunt
Dit knooppunt bevat een matrix van <zipimportdetail>-knooppunten die de bestanden van een zip-bestand beschrijven dat wordt gebruikt om te importeren naar Dynamics 365.
<zipimportdetail> knooppunt
Gebruik dit knooppunt onder het knooppunt <zipimportdetails> om informatie over een afzonderlijke bestand in een zip-bestand te leveren dat is opgegeven in het knooppunt <configimportfile>.
<filestoimport> ... ... <zipimportdetails> <zipimportdetail filename="subfile1.csv" filetype="csv" importtoentity="account" /> <zipimportdetail filename="subfile2.csv" filetype="csv" importtoentity="contact" /> </zipimportdetails> </filestoimport>
Dit heeft de volgende kenmerken:
Kenmerk
Beschrijving
filename
De naam van het bestand dat de importgegevens bevat.
filetype
Dit kan csv of xml zijn.
importtoentity
Kan de naam van het exe in het zip-bestand, een URL, of een .msi-bestand zijn om een koppeling te bieden om aan het einde van het proces aan te roepen.
<filesmapstoimport> knooppunt
Dit knooppunt bevat een matrix van knooppunten <configmapimportfile> om te importeren. De volgorde van de toegewezen bestanden in dit knooppunt geeft de volgorde waarin ze worden geïmporteerd. Raadpleeg Gegevensmappen maken voor import voor meer informatie over gegevenstoewijzingen.
<configimportmapfile> knooppunt
Gebruik dit knooppunt onder het knooppunt <filesmapstoimport> om informatie te leveren over een afzonderlijk toegewezen bestand om te importeren in Dynamics 365.
<filesmapstoimport> <configimportmapfile filename="FileMap.xml" /> </filesmapstoimport>
<cmtdatafiles>
Dit knooppunt bevat een matrix van <cmtdatafile>-knooppunten die de gelokaliseerde versie van het te importeren configuratiegegevensbestanden bevatten.
<cmtdatafile>
Gebruik dit knooppunt onder het <cmtdatafiles>-knooppunt om de gelokaliseerde configuratiegegevensbestanden, de landinstellingen-ID (vereist) en het toewijzingsbestand met de gebruikersgegevens (optioneel) op te geven. Bijvoorbeeld:
<cmtdatafiles> <cmtdatafile filename="data_1033.zip" lcid="1033" usermapfilename="UserMap.xml" /> <cmtdatafile filename="data_1041.zip" lcid="1041" usermapfilename="" /> </cmtdatafiles>
U uw aangepaste logica opgeven in de methode OverrideConfigurationDataFileLanguage (later uitgelegd) om in plaats van de standaardversie een gelokaliseerd configuratiegegevensbestand te gebruiken (opgegeven in crmmigdataimportfile) op basis van de opgegeven waarde voor de landinstellingen-ID (LCID) in de runtime-instellingen.
Klik op Alle opslaan.
Het volgende geeft een voorbeeld van de inhoud van het ImportConfig.xml-bestand.
<?xml version="1.0" encoding="utf-16"?> <configdatastorage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" installsampledata="true" waitforsampledatatoinstall="true" agentdesktopzipfile="" agentdesktopexename="" crmmigdataimportfile="data_1033.zip"> <solutions> <configsolutionfile solutionpackagefilename="SampleSolutionOne_1_0_managed.zip" overwriteunmanagedcustomizations="false" publishworkflowsandactivateplugins="true"/> <configsolutionfile solutionpackagefilename="SampleSolutionTwo_1_0_managed.zip" overwriteunmanagedcustomizations="false" publishworkflowsandactivateplugins="true"/> <configsolutionfile solutionpackagefilename="SampleSolutionThree_1_0_managed.zip" /> </solutions> <filestoimport> <configimportfile filename="SampleOption.csv" filetype="CSV" associatedmap="SampleOption" importtoentity="sample_option" datadelimiter="" fielddelimiter="comma" enableduplicatedetection="true" isfirstrowheader="true" isrecordownerateam="false" owneruser="" waitforimporttocomplete="false"/> <configimportfile filename="File.zip" filetype="ZIP" associatedmap="FileMapName" importtoentity="FileEntity" datadelimiter="" fielddelimiter="comma" enableduplicatedetection="true" isfirstrowheader="true" isrecordownerateam="false" owneruser="" waitforimporttocomplete="true"/> <zipimportdetails> <zipimportdetail filename="subfile1.csv" filetype="csv" importtoentity="account" /> <zipimportdetail filename="subfile2.csv" filetype="csv" importtoentity="contact" /> </zipimportdetails> </filestoimport> <filesmapstoimport> <configimportmapfile filename="SampleOption.xml" /> </filesmapstoimport> <cmtdatafiles> <cmtdatafile filename="data_1033.zip" lcid="1033" usermapfilename="UserMap.xml" /> <cmtdatafile filename="data_1041.zip" lcid="1041" usermapfilename="" /> </cmtdatafiles> </configdatastorage>
Stap 5: Definieer aangepaste code voor uw pakket
In het deelvenster Oplossingenverkenner, dubbelklik op het bestand PackageTemplate.cs in de hoofdmap om deze te bewerken.
In het bestand PackageTemplate.cs kunt u:
Aangepaste code invoeren om uit te voeren wanneer het pakket is in geïnitialiseerd in de negeermethodedefinitie van InitializeCustomExtension.
Met deze methode kunnen gebruikers de runtime-parameters gebruiken terwijl zij een pakket uitvoeren. Als ontwikkelaar kunt u ondersteuning voor alle runtime-parameters aan uw pakket toevoegen door de eigenschap RuntimeSettings te gebruiken, als u code hebt om het te verwerken op basis van de gebruikerinvoer.
In de volgende voorbeeldcode wordt bijvoorbeeld een runtime-parameter met de naam SkipChecks ingeschakeld voor het pakket, die twee mogelijke waarden heeft: true of false. De voorbeeldcode controleert of de gebruiker runtime-parameters heeft opgegeven bij het uitvoeren van Pakketinstallatie voor CRM (vanaf de opdrachtregel of vanuit de PowerShell) en verwerkt vervolgens de gegevens. Als geen runtime-parameter door de gebruiker is opgegeven tijdens het uitvoeren van het pakket, wordt de waarde van de eigenschap RuntimeSettings ingesteld op null.
public override void InitializeCustomExtension() { // Do nothing. // Validate the state of the runtime settings object. if (RuntimeSettings != null) { PackageLog.Log(string.Format("Runtime Settings populated. Count = {0}", RuntimeSettings.Count)); foreach (var setting in RuntimeSettings) { PackageLog.Log(string.Format("Key={0} | Value={1}", setting.Key, setting.Value.ToString())); } // Check to see if skip checks is present. if ( RuntimeSettings.ContainsKey("SkipChecks") ) { bool bSkipChecks = false; if (bool.TryParse((string)RuntimeSettings["SkipChecks"], out bSkipChecks)) OverrideDataImportSafetyChecks = bSkipChecks; } } else PackageLog.Log("Runtime Settings not populated"); }
Zo kan de beheerder de opdrachtregel of de cmdlet Import-CrmPackage gebruiken om op te geven of de veiligheidscontroles moeten worden overgeslagen tijdens het uitvoeren van Hulpmiddel Pakketimplementatie om het pakket te importeren. Zie voor meer informatie TechNet: Pakketten installeren met CRM Package Deployer en Windows PowerShell
Voer aangepaste code in die moet worden uitgevoerd voordat de oplossingen worden geïmporteerd in de methodeoverschrijvingsdefinitie van PreSolutionImport, om op te geven of u aanpassingen wilt behouden of wilt overschrijven, terwijl de opgegeven oplossing wordt bijgewerkt in een doelexemplaar van Dynamics 365, en of u invoegtoepassingen en workflows automatisch wilt laten activeren.
Gebruik de overschrijvingsmethodedefinitie van RunSolutionUpgradeMigrationStep om gegevenstransformatie of een upgrade tussen twee versies van een oplossing uit te voeren. Deze methode wordt alleen aangeroepen als de oplossing die u importeert al bestaat in het doelexemplaar van Dynamics 365.
Deze functie verwacht de volgende parameters:
Parameter
Beschrijving
solutionName
Naam van de oplossing
oldVersion
Versienummer van de oude oplossing
newVersion
Versienummer van de nieuwe oplossing
oldSolutionId
GUID van de oude oplossing.
newSolutionId
GUID van de nieuwe oplossing.
Voer aangepaste code in die moet worden uitgevoerd voordat de import van de oplossing wordt afgerond in de overschrijvingsdefinitie van de methode BeforeImportStage. De voorbeeldgegevens en sommige platte bestanden voor oplossingen die zijn opgegeven in het bestand ImportConfig.xml worden geïmporteerd voordat de import van de oplossing is voltooid.
Overschrijf de momenteel geselecteerde taal voor de import van configuratiegegevens door middel van de methodeoverschrijvingsdefinitie van OverrideConfigurationDataFileLanguage. Als de opgegeven landinstellingen-ID (LCID) van de opgegeven taal niet in de lijst met beschikbare talen in het pakket wordt gevonden, wordt het standaardgegevensbestand geïmporteerd.
U kunt de beschikbare talen voor de configuratiegegevens opgeven in het knooppunt <cmtdatafiles> in het bestand ImportConfig.xml. Het standaardbestand voor import van standaardgegevens wordt opgegeven in het knooppunt crmmigdataimportfile in het bestand ImportConfig.xml.
Het overslaan van gegevenscontroles (OverrideDataImportSafetyChecks = true) kan hier nuttig zijn als u zeker weet dat het doelexemplaar van Dynamics 365 geen gegevens bevat.
Voer aangepaste code in die moet worden uitgevoerd nadat de import in de overschrijvingsdefinitie van de methode AfterPrimaryImport is voltooid. De resterende platte bestanden die niet eerder werden geïmporteerd, voordat de import van de oplossing begon, worden nu geïmporteerd.
Wijzig de standaardnaam van uw pakketmap van PkgFolder naar de gewenste pakketnaam. Hernoem hiervoor de map PkgFolder in het deelvenster Oplossingsverkenner en bewerk vervolgens de retourwaarde onder de eigenschap GetImportPackageDataFolderName.
public override string GetImportPackageDataFolderName { get { // WARNING this value directly correlates to the folder name in the Solution Explorer where the ImportConfig.xml and sub content is located. // Changing this name requires that you also change the correlating name in the Solution Explorer return "PkgFolder"; } }
Wijzig de pakketnaam door de retourwaarde onder de GetNameOfImport eigenschap te bewerken.
public override string GetNameOfImport(bool plural) { return "Package Short Name"; }
Dit is de naam van uw pakket dat op de pagina pakketselectie in de wizard Pakketinstallatie voor CRM wordt weergegeven.
Wijzig de pakketbeschrijving door de retourwaarde onder de GetImportPackageDescriptionText eigenschap te bewerken.
public override string GetImportPackageDescriptionText { get { return "Package Description"; } }
Dit is de pakketbeschrijving die naast de pakketnaam op de pagina pakketselectie in de wizard Package Deployer wordt weergegeven.
Wijzig de lange pakketnaam door de retourwaarde onder de GetLongNameOfImport eigenschap te bewerken.
public override string GetLongNameOfImport { get { return "Package Long Name"; } }
De lange pakketnaam wordt weergegeven op de volgende pagina nadat u het pakket om te installeren hebt geselecteerd.
Bovendien zijn de volgende functies en de variabelen voor het pakket beschikbaar:
Naam
Type
Beschrijving
Functie
Gebruikt om een nieuw voortgangitem in de gebruikersinterface (UI) te maken.
Functie
Gebruikt om de voortgang bij te werken gemaakt door de oproep tot CreateProgressItem.
ProgressPanelItemStatus is een opsomming:
public enum ProgressPanelItemStatus { Working = 0, Complete = 1, Failed = 2, Warning = 3, Unknown = 4 }
Functie
Gebruikt om de huidige statusimport met een uitzonderingsbericht te laten mislukken.
Functie
Gebruikt om te bepalen of een rol met een bepaald team is gekoppeld.
Functie
Gebruikt om te bepalen of een bepaalde werkstroom actief is.
Klassenaanwijzer
Dit is een aanwijzer voor het geïnitialiseerde geregistreerde interface voor het pakket. Deze interface wordt gebruikt door een pakket om berichten en uitzonderingen op het pakketlogboekbestand te registreren.
Eigenschap
Dit is een dispatcherinterface dat wordt gebruikt om het besturingselement toe te staan om zijn eigen UI tijdens pakketinstallatie weer te geven. Gebruik deze interface om eventuele UI-elementen of opdrachten te verpakken. Het is belangrijk dat u deze variabele voor nullwaarden controleert voordat deze kan worden gebruikt omdat deze al dan niet op een waarde is ingesteld.
Eigenschap
Dit is een aanwijzer naar de klasse CrmServiceClient waarmee een pakket Dynamics 365 vanuit het pakket kan aanspreken. Gebruik dit om Dynamics 365 SDK en andere acties in de overschreven methoden uit te voeren.
Eigenschap
Gebruik dit om op te geven of Pakketinstallatie voor CRM alle bewerkingen voor gegevensimport moet overslaan, zoals de import van voorbeeldgegevens voor Dynamics 365, gegevens in platte bestanden en gegevens die zijn geëxporteerd vanuit het Hulpprogramma voor configuratiemigratie. Stel als waarde true of false in. Standaard is false.
Eigenschap
Gebruik dit om op te geven of Pakketinstallatie voor CRM enkele veiligheidscontroles moet omzeilen. Dit kan bijdragen aan betere systeemprestaties bij de import. Geef true of false op. Standaard is false.
U moet dit alleen instellen op true, als het doelexemplaar van Dynamics 365 geen gegevens bevat.
Sla uw project op en maak het (Maken > Oplossing maken) om het pakket te maken. Uw pakket bestaat uit de volgende bestanden onder de map <Project>\Bin\Debug.
Map <PackageName>: De mapnaam is dezelfde als u de naam die u voor uw pakketmapnaam hebt gewijzigd in stap 2.g van deze sectie (stap 5: Definieer aangepaste code voor uw pakket) Deze map bevat alle oplossingen, configuratiegegevens, platte bestanden en de inhoud voor uw pakket.
<PackageName>.dll: De assembly bevat de aangepaste code voor uw pakket. Standaard is de naam van de assembly hetzelfde als de Visual Studio-projectnaam.
De volgende stap is het pakket te implementeren.
Installeer een pakket
Nadat u een updatepakket hebt gemaakt, kunt u het installeren om het exemplaar Dynamics 365 door gebruik van de Hulpmiddel Pakketimplementatie of Windows PowerShell. Zie voor meer informatie TechNet: Pakketten installeren met CRM Package Deployer of Windows PowerShell.
Aanbevolen procedures voor het maken en implementeren van pakketten
Bij het maken van pakketten, moeten ontwikkelaars ervoor zorgen dat de pakketassembly's zijn getekend.
Bij de distributie van de pakketten moeten Dynamics 365-beheerders het volgende doen:
Op een ondertekende pakketassembly aandringen zodat u een assembly terug kunt 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
Nieuwe functies voor ontwikkelaars: Microsoft Dynamics 365
Microsoft Dynamics 365
© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht