Opprette pakker for Package Deployer-verktøyet
Package Deployer gjør det mulig for administratorer å distribuere pakker på Microsoft Dataverse-forekomster. En pakke kan bestå av hvilken som helst av, eller alle, følgende:
- Én eller flere løsningsfiler for Dataverse.
- Flate filer eller eksporterte konfigurasjonsdatafiler fra verktøyet for konfigurasjonsoverføring. For mer informasjon om verktøyet, se Flytte konfigurasjonsdata på tvers av forekomster og organisasjoner med verktøyet for konfigurasjonsoverføring.
- Egendefinert kode som kan kjøre før, samtidig eller etter at pakken distribueres til Dataverse-forekomsten.
- HTML-innhold som er spesifikk for pakken som kan vises i begynnelsen og mot slutten av distribusjonsprosessen. Dette kan være nyttig for å gi en beskrivelse av løsninger og filer som distribueres i pakken.
En Visual Studio 2015-mal eller senere (tilgjengelig for nedlasting) brukes til å lage pakker. Når du har opprettet en pakke, bruker du Package Deployer-verktøyet til å distribuere pakken til en Dataverse-forekomst.
Forutsetninger
- Kontroller at du har alle løsningene og filene klare som du vil ha med i pakken.
- Microsoft .NET Framework 4.6.2
- Visual Studio 2015 eller senere versjon
- Pakkebehandling for NuGet for Visual Studio 2015
- Microsoft Dynamics CRM SDK-maler for Visual Studio som inneholder pakkemalen. Du kan få den ved å laste ned Microsoft Dynamics CRM SDK-malene og dobbeltklikke
CRMSDKTemplates.vsix-filen for å installere malen i Visual Studio.
Opprett en pakke
Utfør følgende fem trinn for å opprette en pakke:
- Trinn 1: Opprett et prosjekt ved hjelp av malen
- Trinn 2: Legg til filene i prosjektet
- Trinn 3: Oppdater HTML-filene
- Trinn 4: Angi konfigurasjonsverdiene for pakken
- Trinn 5: Definer tilpasset kode for pakken
Trinn 1: Opprett et prosjekt ved hjelp av malen
Start Visual Studio, og opprett et nytt prosjekt.
I dialogboksen New Project:
- I listen over installerte maler utvider du Visual C#, og deretter velger du Dynamics 365 SDK-maler.
- Kontroller at .NET Framework 4.6.2 er valgt.
- Velg Dynamics 365-pakke.
- Angi navnet og plasseringen til prosjektet, og klikk OK.

Trinn 2: Legg til filene i prosjektet
- I Solutions Explorer-ruten legger du til løsningene og filene under PkgFolder-mappen.
- Angi Copy Always for Copy to Output Directory i Properties-ruten for hver fil du legger til i PkgFolder-mappen. Dette sikrer at filen er tilgjengelige i den genererte pakken.
Trinn 3: Oppdater HTML-filene: engelsk og andre språk
I Solution Explorer-ruten utvider du PkgFolder > Innhold > en-us. Det finnes to mapper som kalles
EndHTMLogWelcomeHTML. Disse mappene inneholder HTML-filer og tilknyttede filer som gir deg muligheten til å vise informasjon på slutten av og begynnelsen av pakkedistribusjonsprosessen. Rediger filene i HTML-mappen i disse mappene for å legge til informasjon for pakken.Du kan også legge til HTML-filer i pakken på andre språk, slik at innholdet i HTML-koden vises på språket basert på de nasjonale innstillingene i brukerens datamaskin. Slik gjør du det:
- Opprett en kopi av en-us-mappen under PkgFolder > Innhold.
- Endre navnet på den kopierte mappen til det aktuelle språket. Du kan for eksempel endre navnet for det spanske språket til es-ES.
- Endre innholdet i HTML-filene for å legge til spansk innhold.
Trinn 4: Angi konfigurasjonsverdiene for pakken
Definer pakkekonfigurasjonen ved å legge til informasjon om pakken i ImportConfig.xml-filen som er tilgjengelig i PkgFolder. Dobbelt klikk filen for å åpne den for redigering. Følgende liste inneholder informasjon om hver parameter og node i konfigurasjonsfilen.
installsampledata
Trueellerfalse. Hvistrue, installeres eksempeldata til Dataverse-forekomst. Dette er de samme eksempeldataene som du kan installere fra Innstillinger > Databehandling-området i Dataverse.waitforsampledatatoinstall
Sann eller usann. Hvis sann, og hvis installsampledata også er satt til sann, venter på at eksempeldata skal installeres før pakken distribueres.Obs!
Kontroller at du angir installsampledata til sann hvis du setter
waitforsampledatatoinstalltil usann.agentdesktopzipfile
Filnavnet til zip-filen som skal pakkes ut. Hvis du angir et ZIP-filnavn her, legges det til et skjermbilde under pakkedistribusjonsprosessen der du blir bedt om å velge et sted der du vil pakke ut innholdet i filen.Dette brukes vanligvis ved opprettelse av pakker for Unified Service Desk for Dynamics 365. Hvis du vil ha mer informasjon om Unified Service Desk, se Administrasjonsveiledning for Unified Service Desk for Dynamics 3.0.
agentdesktopexename
Navnet på exe-eller MSI-filen i zip-filen eller en URL-adresse som skal startes på slutten av distribusjons prosessen.Dette brukes vanligvis ved opprettelse av pakker for Unified Service Desk.
crmmigdataimportfile
Filnavnet på standard konfigurasjonsdatafilen (.zip) eksportert ved hjelp av verktøyet for konfigurasjonsoverføring.Du kan også importere en lokalisert versjon av konfigurasjonsdatafilen basert på ID-en for nasjonale innstillinger (LCID) som er angitt ved hjelp av nye kjøretidsinnstillinger, mens Package Deployer kjøres. Bruk
<cmtdatafile>-noden (forklart senere) til å angi de lokaliserte versjonene av konfigurasjonsdatafilen i en pakke, og bruk deretterOverrideConfigurationDataFileLanguage-metoden (forklart senere) til å angi logikken for importering av konfigurasjonsdatafilen basert på ID-en for nasjonal innstilling som er angitt ved hjelp av kjøretidsinnstillingene. Du kan ikke importere mer enn én konfigurasjonsdatafil med en pakke om gangen.For Dataverse (lokal), hvis konfigurasjonsdatafilen inneholder brukerinformasjon, og både kilde- og målforekomster av Dataverse er i samme Active Directory-domene, importeres brukerinformasjonen til målforekomsten av Dataverse. Hvis du vil importere brukerinformasjon til en Dataverse-forekomst (lokal) i et annet domene, må du inkludere brukertilordningsfilen (xml) generert ved hjelp av verktøyet for konfigurasjonsoverføring i prosjektet, og deretter angir du det sammen med konfigurasjonsdatafilen ved å bruke
usermapfilename-attributtet i<cmtdatafile>-noden som forklart senere. Brukerinformasjon kan ikke importeres til Dataverse-forekomster.
<solutions>-node
Inneholder en matrise med<configsolutionfile>-noder som beskriver løsningene som skal importeres. Rekkefølgen til løsningene under denne noden angir i hvilken rekkefølge løsningene skal importeres i målforekomsten av Dataverse.<configsolutionfile>-node
Bruk denne noden under<solutions>-noden til å angi de enkelte løsningene og følgende informasjon for hver løsning som skal importeres:solutionpackagefilename: Angi zip-filnavnet for løsningen. Obligatorisk.overwriteunmanagedcustomizations: Angi om eventuelle uadministrerte tilpassinger skal overskrives når du importerer en løsning som allerede finnes i målforekomsten av Dynamics 365. Dette er valgfritt, og hvis du ikke angir dette attributtet, opprettholdes de uadministrerte tilpassingene i den eksisterende løsningen på målforekomsten av Dynamics 365 som standard.publishworkflowsandactivateplugins: Angi om arbeidsflyter skal publiseres og plugin-moduler aktiveres i målforekomsten av Dynamics 365 etter at løsningen er importert. Dette er valgfritt, og hvis du ikke angir dette attributtet, blir arbeidsflytene publisert som standard, og plugin-moduler blir aktivert etter at løsningen er importert i målforekomsten av Dynamics 365.Du kan legge til flere løsningsfilnavn i en pakke ved å legge til like mange
<configsolutionfile>-noder. Hvis du for eksempel vil at treløsningsfiler skal importeres, legger du dem til slik:
<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>-node
Inneholder en matrise med<configimportfile>- og<zipimportdetails>-noder som brukes til å beskrive henholdsvis enkeltfiler og zip-filer som skal importeres.<configimportfile>-node
Bruk denne noden under<configimportfile>-noden for å beskrive en fil som skal importeres til Dataverse. Du kan legge til flere filer i en pakke ved å legge til like mange<configimportfile>-noder.<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>Dette har følgende attributter:
Attributt Beskrivelse filenameNavnet på filen som inneholder importdataene. Hvis filen er en zip-fil, må en <zipimportdetails>-node vises med en<zipimportdetail>-node for hver fil i zip-filen.filetypeDette kan være CSV, XML eller zip. associatedmapNavnet på Dataverse-datatilordningen for import som skal brukes med denne filen. Hvis tom, gjøres forsøk på å bruke det systemgitte datatilordningsnavnet for import for denne filen. importtoentityKan være navnet på exe-filen i zip-filen, en URL-adresse eller en MSI-fil for å gi en kobling for å starte på filslutten av prosessen. datadelimiterNavn på dataskilletegn brukt i importfilen. Gyldige verdier er enkle anførselstegn eller doble anførselstegn. fielddelimiterNavn på feltskilletegnet brukt i importfilen. Gyldige verdier er komma eller kolon, eller enkle anførselstegn. enableduplicatedetectionAngir om duplikatregistreringsregler skal aktiveres for dataimport. Gyldige verdier er sann eller usann. isfirstrowheaderBrukes til å angi at den første raden i importfilen inneholder feltnavnene. Gyldige verdier er trueellerfalse.isrecordownerateamAngir om eieren av oppføringen i import skal være et team. Gyldige verdier er trueellerfalse.owneruserAngir bruker-ID-en som skal eie oppføringene. Standardverdien er brukeren som for øyeblikket er logget på. waitforimporttocompleteHvis true, venter systemet på at importen skal fullføres før det fortsetter. Hvisfalse, setter det jobbene i kø og går videre.<zipimportdetails>-node
Denne noden inneholder en matrise med<zipimportdetail>-noder som beskriver filene som er inkludert i en zip-fil som brukes til å importere til Dynamics 365.<zipimportdetail>-node
Bruk denne noden under<zipimportdetails>-noden til å gi informasjon om en enkelt fil i en zip-fil som er angitt i<configimportfile>-noden.<filestoimport> ... ... <zipimportdetails> <zipimportdetail filename="subfile1.csv" filetype="csv" importtoentity="account" /> <zipimportdetail filename="subfile2.csv" filetype="csv" importtoentity="contact" /> </zipimportdetails> </filestoimport>Dette har følgende attributter:
Attributt Beskrivelse filenameNavnet på filen som inneholder importdataene. filetypeDette kan være CSV eller XML. importtoentityKan være navnet på exe-filen i zip-filen, en URL-adresse eller en MSI-fil for å gi en kobling for å starte på filslutten av prosessen. <filesmapstoimport>-node
Denne noden inneholder en matrise med<configmapimportfile>-noder som skal importeres. Rekkefølgen på tilordningsfilene i denne noden angir i hvilken rekkefølge de skal importeres. Hvis du vil ha informasjon om datatilordninger, kan du se Opprette datatilordninger for import.<configimportmapfile>-node
Bruk denne noden under<filesmapstoimport>-noden til å gi informasjon om en enkelt tilordningsfil som skal importeres i Dataverse.<filesmapstoimport> <configimportmapfile filename="FileMap.xml" /> </filesmapstoimport><cmtdatafiles>-node
Denne noden inneholder en matrise med<cmtdatafile>-noder som inneholder lokalisert versjon av konfigurasjonsdatafilen som skal importeres.<cmtdatafile>-node
Bruk denne noden under<cmtdatafiles>-noden til å angi de lokaliserte konfigurasjonsdatafilene sammen med ID for nasjonale innstillinger (obligatorisk) og tilordningsfilen for brukerinformasjon (valgfritt). Eksempel:<cmtdatafiles> <cmtdatafile filename="data_1033.zip" lcid="1033" usermapfilename="UserMap.xml" /> <cmtdatafile filename="data_1041.zip" lcid="1041" usermapfilename="" /> </cmtdatafiles>Du kan definere den egendefinerte logikken i
OverrideConfigurationDataFileLanguage-metoden (forklart senere) for å importere en oversatt konfigurasjonsdatafil i stedet for standarden som er angitt i crmmigdataimportfile basert på verdien for ID for nasjonale innstillinger (LCID) som er angitt ved hjelp av innstillingene for kjøretid (forklart senere).Klikk Lagre alle.
Følgende representerer innholdet i eksempelfilen
ImportConfig.xml.<?xml version="1.0" encoding="utf-16"?> <configdatastorage xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://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>
Trinn 5: Definer tilpasset kode for pakken
I Solution Explorer-ruten dobbeltklikker du PackageTemplate.cs-filen i roten for å redigere den.
I PackageTemplate.cs-filen kan du gjøre følgende:
Angi en egendefinert kode som skal kjøres når pakken er initialisert i definisjonen for overstyringsmetode for
InitializeCustomExtension.Denne metoden kan brukes til å la brukere bruke kjøretidsparameterne under kjøring av en pakke. Som utvikler kan du legge til støtte for alle kjøretidsparametere i pakken ved å bruke RuntimeSettings-egenskapen så lenge du har kode som behandler den basert på brukerinndataene.
Eksempelkoden nedenfor aktiverer for eksempel en kjøretidsparameter kalt
SkipChecksfor pakken som har to mulige verdier: true eller false. Eksempelkoden kontrollerer om brukeren har angitt eventuelle kjøretidsparametere under kjøring av Package Deployer (enten ved hjelp av kommandolinjen eller PowerShell), og behandler deretter informasjonen tilsvarende. Hvis det ikke er angitt en kjøretidparameter for brukeren mens pakken kjører, vil verdien av RuntimeSettings-egenskapen være 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"); }På denne måten kan administratoren bruke kommandolinjen eller Import-CrmPackage til å angi om han vil hoppe over sikkerhetskontrollene mens han kjører Package Deployer-verktøyet for å importere pakken. Mer informasjon: Distribuere pakker ved hjelp av Package Deployer og Windows PowerShell
Angi en egendefinert kode som skal kjøres før løsningene importeres i definisjonen av overstyringsmetode for
PreSolutionImportfor å angi om du vil vedlikeholde eller overskrive tilpassinger mens du oppdaterer den angitte løsningen i en målforekomst av Dataverse, og om du automatisk vil aktivere plugin-moduler og arbeidsflyter.Bruk definisjonen for overstyringsmetoden for
RunSolutionUpgradeMigrationSteptil å utføre datatransformasjon eller oppgradering mellom to versjoner av en løsning. Denne metoden kalles bare hvis løsningen du importerer, allerede finnes i Dataverse-målforekomsten.Denne funksjonen forventer følgende parametere:
Parameter Beskrivelse solutionNameNavnet på løsningen oldVersionVersjonsnummer for den gamle løsningen newVersionVersjonsnummer for den nye løsningen oldSolutionIdGUID for den gamle løsningen. newSolutionIdGUID for den nye løsningen. Angi en egendefinert kode som skal kjøres før løsningsimporten er fullført i overstyringsdefinisjonen for
BeforeImportStage-metoden. Eksempeldataene og noen flate filer for løsninger som er angitt iImportConfig.xml-filen, importeres før løsningsimporten fullføres.Overstyr det valgte språket for konfigurasjondataimport ved hjelp av definisjonen av overstyringsmetode for
OverrideConfigurationDataFileLanguage. Hvis angitt ID for nasjonale innstillinger (LCID) for det angitte språket ikke finnes i listen over tilgjengelige språk i pakken, importeres standard datafil.Du angir tilgjengelige språk for konfigurasjonsdataene i
<cmtdatafiles>-noden iImportConfig.xml-filen. Standard importfil for konfigurasjonsdata er angitt icrmmigdataimportfile-attributtet iImportConfig.xml-filen.Det kan være effektiv å hoppe over datakontroller (OverrideDataImportSafetyChecks = true) her hvis du er sikker på at Dataverse-målforekomsten ikke inneholder data.
Angi en egendefinert kode som skal kjøres etter at løsningsimporten er fullført i overstyringsdefinisjonen for
AfterPrimaryImport>-metoden. De gjenværende flate filene som ikke ble importert tidligere før løsningsimporten startet, blir importert nå.Endre standardnavnet på pakkemappen fra PkgFolder til pakkenavnet du vil ha. Dette gjør du ved å gi nytt navn til
PkgFolder>-mappen i Solution Explorer-ruten, og deretter redigere returverdien underGetImportPackageDataFolderName-egenskapen.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"; } }Endre pakkenavnet ved å redigere returverdien under
GetNameOfImport-egenskapen.public override string GetNameOfImport(bool plural) { return "Package Short Name"; }Dette er navnet på pakken som skal vises på pakkeutvalgssiden i Dynamics 365 Package Deployer-veiviseren.
Endre pakkebeskrivelsen ved å redigere returverdien under
GetImportPackageDescriptionText-egenskapen.public override string GetImportPackageDescriptionText { get { return "Package Description"; } }Dette er pakkebeskrivelsen som skal vises sammen med pakkenavnet på pakkeutvalgssiden i Package Deployer-veiviseren.
Endre det lange pakkenavnet ved å redigere returverdien under
GetLongNameOfImport-egenskapen.public override string GetLongNameOfImport { get { return "Package Long Name"; } }Pakkens lange navn vises på neste side etter at du har valgt pakken som skal installeres.
I tillegg er følgende funksjoner og variabler tilgjengelige for pakken:
Navn Type Beskrivelse CreateProgressItem(String) Function Brukes til å opprette et nytt fremdriftelement i brukergrensesnittet (UI). RaiseUpdateEvent(String, ProgressPanelItemStatus) Function Brukes til å oppdatere fremdriften som ble opprettet av kallet til CreateProgressItem(String).
ProgressPanelItemStatus er en opplisting med følgende verdier:
Arbeider = 0
Fullført = 1
Mislykket = 2
Advarsel = 3
Ukjent = 4RaiseFailEvent(String, Exception) Function Brukes til å angi at gjeldende statusimport er mislykket med en unntaksmelding. IsRoleAssoicatedWithTeam(Guid, Guid) Function Brukes til å avgjøre om en rolle er tilknyttet et bestemt team. IsWorkflowActive(Guid) Function Brukes til å avgjøre om en angitt arbeidsflyt er aktiv. PackageLog Klassepeker Dette er en peker til grensesnittet for initialisert logging for pakken. Dette grensesnittet brukes av en pakke til å logge meldinger og unntak til pakkeloggfilen. RootControlDispatcher Egenskap Dette er et fordelingsgrensesnitt som brukes til å tillate at kontrollen gjengir sitt eget brukergrensesnitt under pakkedistribusjon. Bruk dette grensesnittet til å pakke alle grensesnittelementer eller kommandoer. Det er viktig å kontrollere denne variabelen for nullverdier før du bruker den, fordi det kan hende at den ikke er satt til en verdi. CrmSvc Egenskap Dette er en peker til CrmServiceClient-klasse som gjør det mulig for en pakke å adressere Dynamics 365 fra pakken. Bruk denne til å utføre SDK-metoder og andre handlinger i overstyrte metoder. DataImportBypass Egenskap Bruk denne til å angi om Dynamics 365 Package Deployer skal hoppe over alle dataimportoperasjoner, for eksempel import av Dataverse-eksempeldata, flate fildata og data eksportert fra verktøyet for konfigurasjonsoverføring. Angi usann eller usann. Standard er false.OverrideDataImportSafetyChecks Egenskap Bruk denne til å angi om Dynamics 365 Package Deployer skal hoppe over noen av sikkerhetskontrollene, noe som bidrar til å forbedre importytelsen. Angi trueellerfalse. Standard erfalse.
Du bør bare angi dettetruehvis Dataverse-målforekomsten ikke inneholder noen data.Lagre prosjektet, og bygg det (Build > Build Solution) for å lage pakken. Pakken din er følgende filer under mappen <Project> \Bin\Debug
<PackageName>-mappe: Navnet på mappen er det samme som det du endret for navnet på pakkemappen i trinn 2. g av denne delen (trinn 5: Definer tilpasset kode for pakken). Denne mappen inneholder alle løsninger, konfigurasjonsdata, flate filer og alt innhold for pakken.
<PackageName>.dll: Samlingen inneholder den egedefinerte koden for pakken. Som standard er navnet på samlingen er det samme som Visual Studio-prosjektnavnet.
Det neste trinnet er å distribuere pakken.
Distribuere en pakke
Når du har opprettet en pakke, kan du distribuere den i Dataverse-forekomsten ved å bruke enten Package Deployer-verktøyet eller Windows PowerShell.
Package Deployment-verktøyet distribueres som en del av pakken Microsoft.CrmSdk.XrmTooling.PackageDeployment NuGet. Hvis du vil laste ned Package Deployer-verktøyet, kan du se Laste ned verktøy fra NuGet.
For detaljert informasjon, se Distribuere pakker ved hjelp av Package Deployer eller Windows PowerShell.
Gode fremgangsmåter for opprettelse og distribusjon av pakker
Når du oppretter pakker, må utviklere kontrollere at pakkesamlingene er signert.
Under distribusjon av pakker må Dataverse-administratorer:
- Bruke en signert pakkesamling slik at du kan spore en samling tilbake til kilden.
- Teste pakken i en før-produksjonsforekomst (fortrinnsvis et speilbilde av produksjonsforekomsten) før den kjøres på en produksjonsforekomst.
- Sikkerhetskopiere produksjonsforekomsten før en pakkedistribusjon.
Se også
Løsningspakkeprogram (verktøy)
Obs!
Kan du fortelle oss om språkinnstillingene for dokumentasjonen? Ta en kort undersøkelse. (vær oppmerksom på at denne undersøkelsen er på engelsk)
Undersøkelsen tar rundt sju minutter. Det blir ikke samlet inn noen personopplysninger (personvernerklæring).
Tilbakemeldinger
Send inn og vis tilbakemelding for