Partilhar via


Implementar pacotes utilizando o Package Deployer do Dynamics CRM e o Windows PowerShell

 

Publicado: fevereiro de 2017

Aplica-se A: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Nota

As informações aqui fornecidas destinam-se às versões do Dynamics 365 anteriores ao Dynamics 365 (online), versão 9.0. Para obter a documentação mais recente, consulte Implementar pacotes com o Package Deployer do Dynamics CRM e o Windows PowerShell.

Microsoft Dynamics CRM Package Deployer e administradores de distribuição de pacotes num exemplo de Dynamics 365 (local) ou de Microsoft Dynamics 365 (online) . Um pacote “” podem consistir em alguns ou em qualquer seguintes:

  • Um ou mais ficheiros de solução do Dynamics 365.

  • Ficheiros lisos ou ficheiros de dados exportados de Ferramenta de Migração da Configuração. Para mais informações sobre o Ferramenta de Migração da Configuração, consulte Gerir dados de configuração.

  • Código personalizado que podem ser efetuadas durante ou após o pacote ser encaminhado para Microsoft Dynamics 365.

  • Específico conteúdo do pacote que a apresentar no início e fim do processo de implementação do pacote. Isto pode ser útil fornecer uma descrição de soluções e dos ficheiros que são implementados no pacote.

Os programadores criar pacotes utilizando o modelo de implementação do pacote em Microsoft Visual Studio.Mais informações:MSDN: Criar pacotes para o CRM Package Deployer

Após o pacote ser criado, pode executar o Implementador de Pacotes do CRM ou utilizando cmdlets de Windows PowerShell para a ferramenta.

Importante

Antes de importar e executar um pacote numa organização de produção, teste o pacote numa organização de não produção que seja uma imagem exata da organização de produção.

Faça sempre uma cópia de segurança da organização de produção antes de implementar um pacote.

Neste tópico

Implementar pacotes com a Ferramenta Implementador de Pacotes

Utilizar para implementar o Windows PowerShell pacotes

Resolver problemas de implementação do pacote utilizando ficheiros de registo

Melhores práticas de pacotes de distribuição

Implementar pacotes com a Ferramenta Implementador de Pacotes

Pode utilizar o Ferramenta Implementador de Pacotes (packagedeployer.exe) para implementar pacotes das seguintes formas.

Utilizar a Ferramenta Implementador de Pacotes para implementar pacotes

Utilizar a Ferramenta Implementador de Pacotes na linha de comandos

Utilizar a Ferramenta Implementador de Pacotes para implementar pacotes

Só pode Ferramenta Implementador de Pacotes pacote processar uma de cada vez. Contudo, fornece os utilizadores a capacidade de selecionar um pacote para distribuir dos pacotes vários disponíveis no de Ferramenta Implementador de Pacotes. Alguns dos ecrãs e ações a ferramenta diferem com base na definição de pacote. Não necessita de instalar Ferramenta Implementador de Pacotes. Apenas transfira-a e execute-.

  1. Transferir o pacote para ser implementado. Um pacote é uma coleção de ficheiros e pastas criada na pasta do projeto do Visual Studio (<Projeto>\Bin\Debug) quando cria o projeto do pacote no Visual Studio. Copiar o seguinte da pasta de depuração do projeto:

    • Pasta <PackageName>: Esta pasta contém as soluções, a configuração de importação e os conteúdos para o pacote.

    • <PackageName>.dll: A assemblagem contém o código para o pacote. Por predefinição, o nome da assemblagem é igual ao nome do projeto do Visual Studio.

    Para obter informações detalhadas sobre como criar um pacote utilizando Visual Studio, consulte MSDN: Criar um pacote para a ferramenta Package Deployer.

    Para este tópico, vamos assumir que a assemblagem e a pasta do pacote da pasta de depuração do projeto do Visual Studio (<Projeto>\Bin\Debug) são copiadas para a pasta c:\DeployPackage.

  2. Transferir o Microsoft Dynamics CRM SDK. Em seguida, execute o ficheiro executável transferido para extrair o conteúdo do pacote.

  3. Navegue para a pasta SDK\Tools\PackageDeployer e copie a pasta e a assemblagem do pacote a partir de c:\DeployPackage para a pasta SDK\Tools\PackageDeployer.

  4. Após os ficheiros serem copiados, execute a ferramenta fazendo duplo clique no ficheiro PackageDeployer.exe na pasta SDK\Tools\PackageDeployer.

  5. Clique em Continuar no ecrã principal da ferramenta.

  6. No ecrã Ligar ao Microsoft Dynamics 365, forneça detalhes de autenticação para ligar ao servidor do Dynamics 365 onde pretende implementar o pacote. Se tiver várias organizações e quiser selecionar a organização em que pretende implementar o pacote do selecione a caixa de verificação Apresentar sempre a lista de organizações disponíveis. Clique em Iniciar sessão.

  7. Se tiver várias organizações, no servidor do Dynamics 365, selecione a organização do Dynamics 365 à qual pretende ligar.

  8. Selecionar o pacote a implementar e clique em Seguinte.

    Select your package in the Package Deployer Tool

  9. Siga as instruções nos ecrãs subsequentes para concluir a implementação do pacote.

    Os são apresentados por com base na definição do pacote selecionado para a implementação. Para uma implementação do pacote ponto-a-ponto que utilize o Ferramenta Implementador de Pacotes, consulte o tópico para a implementação de pacotes de Unified Service Desk: Deploy sample Unified Service Desk applications to CRM Server using Package Deployer

Utilizar a Ferramenta Implementador de Pacotes na linha de comandos

Os personalizadores e administradores de sistema podem transmitir parâmetros, como códigos de idioma regional, para packagedeployer.exe a partir da linha de comandos. Estes parâmetros só podem ser configuradas ao executar a Ferramenta Implementador de Pacotes na linha de comandos.

Nota

Esta funcionalidade foi introduzida pela primeira vez na Atualização 0.1 do Microsoft Dynamics CRM Online 2016.

Os parâmetros disponíveis estão nesta tabela.

Parâmetro

Descrição

Valor Predefinido

RuntimePackageSettings

Indica à ferramenta packagedeployer.exe para aceitar os parâmetros da linha de comandos, como LCID e SkipChecks.

Não aplicável

LCID=localeID

Especifica o ID de região, como 1033 para Inglês - Estados Unidos ou 1036 para Francês - França, dos IDs de região disponíveis no pacote. Se não for especificado, será utilizado o idioma predefinido.

Utilizar o idioma predefinido

SkipChecks=true/false

Use este parâmetro apenas quando o ambiente de destino não contém quaisquer outras soluções ou personalizações. Quando definida como verdadeiro, a importação da solução irá ignorar algumas verificações de segurança que poderão melhorar o desempenho da importação.

Falso

O seguinte exemplo indica ao Implementador de Pacotes do CRM para ignorar algumas verificações de segurança e define o idioma para importação como polaco.

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

Nota

Utilize o caráter de barra vertical | para separar parâmetros quando executa packagedeployer.exe na linha de comandos com vários parâmetros.

Para mais informações sobre os parâmetros e os valores que podem ser transmitidos para a ferramenta packagedeployer.exe, consulte MSDN: Criar pacotes para o CRM Package Deployer.

Utilizar para implementar o Windows PowerShell pacotes

Ferramenta Implementador de Pacotes também fornece suporte de Windows PowerShell pacotes para distribuir.

Efetue os seguintes passos para utilizar os cmdlets de PowerShell para distribuir pacotes:

Pré-requisitos

Registar os cmdlets

Utilize o cmdlet para obter pacotes

Utilize o cmdlet para se ligar à sua instância do Dynamics 365

Utilize o cmdlet para implementar pacotes

Detalhadas obter ajuda em cmdlets

Pré-requisitos

Seguem-se os pré-requisitos para utilizar os cmdlets de PowerShell :

  • PowerShell 3,0 ou superior é necessário para implementar um pacote utilizando PowerShell. Para verificar a versão de PowerShell, execute uma janela de PowerShell e execute o comando seguinte: $Host

  • Definir a política de execução para implementar scripts de PowerShell iniciada. Para tal, execute uma janela de PowerShell como administrador, e execute o comando seguinte: Set-ExecutionPolicy -ExecutionPolicy AllSigned

Registar os cmdlets

Tem de iniciar sessão cmdlets dos Windows PowerShell para Ferramenta Implementador de Pacotes antes de utilizá-lo. Para registar os cmdlets:

  1. Caso ainda não o tenha feito, transferir o pacote de Dynamics 365 SDK de Centro de Transferências da Microsoft, e executar o ficheiro de pacote para extrair o conteúdo do pacote. Vamos supor qual extraiu o pacote para a pasta c:\CRM no computador. O Ferramenta Implementador de Pacotes e outros ficheiros necessários ficam disponíveis na localização seguinte: c:\CRM\SDK\Tools\PackageDeployer.

  2. Inicie Windows PowerShell no computador com privilégios elevar (executar como administrador.)

  3. Na linha de comandos na janela do Windows PowerShell, altere o diretório para a pasta Windows PowerShell na pasta PackageDeployer. Neste caso:

    cd c:\CRM\SDK\Tools\PackageDeployer\PowerShell
    
  4. Execute o script RegisterXRMTooling.ps1 registar a assemblagem (dll) do Package Deployer Windows PowerShell e instalar o snap-in Windows PowerShell para o Ferramenta Implementador de Pacotes. Para tal, para introduzir o comando seguinte, e prima ENTER:

    .\RegisterXRMTooling.ps1
    
  5. Adicionar os Windows PowerShell para utilização em XRM de ferramentas. Isto cmdlets registará os seguintes: Get-CrmConnection e Get-CrmOrganizations.

    Add-PSSnapin Microsoft.Xrm.Tooling.Connector
    
  6. Adicione o snap-in do Windows PowerShell para o Package Deployer. Isto registará os seguintes cmdlets: Get-CrmPackages e Import-CrmPackage.

    Add-PSSnapin Microsoft.Xrm.Tooling.PackageDeployment
    

Agora está pronto a utilizar estes cmdlets de Windows PowerShell. Para criar os cmdlets que registou, execute o seguinte comando na linha na janela de Windows PowerShell :

Get-Help “Crm”

Utilize o cmdlet para obter pacotes

Antes de poder utilizar o cmdlet, certifique-se de que copiou o pacote para a pasta PackageDeployer (neste caso, c:\CRM\SDK\Tools\PackageDeployer). Um pacote é uma coleção de ficheiros e pastas criada na pasta do projeto do Visual Studio (<Projeto>\Bin\Debug) quando cria o seu projeto no Visual Studio. Copie o inteiros da respetiva conceção desqualificar erros da pasta para a pasta de PackageDeployer. Para obter informações detalhadas sobre como criar um pacote utilizando o Visual Studio, consulte MSDN: Criar pacotes para o CRM Package Deployer.

  1. Na janela do PowerShell, utilize o seguinte cmdlet para devolver uma lista de pacotes disponíveis para importação na pasta especificada (neste caso, c:\CRM\SDK\Tools\PackageDeployer):

    Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer
    
  2. Se pretende informações sobre um pacote que está numa pasta, pode utilizar o cmdlet de Get-CrmPackages juntamente com o parâmetro –PackageName para especificar o nome de assemblagem na pasta que contém o pacote.

    Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll
    
  3. A assemblagem do pacote pode ser armazenada numa variável utilizando o cmdlet Get-CrmPackages. Em seguida, poderá ser reutilizado no cmdlet Import-CrmPackage para especificar um valor para o parâmetro PackageDirectory. Por exemplo, pode armazenar as informações de um ou mais pacotes devolvidos do cmdlet Get-CrmPackages numa variável designada como $MyPackages.

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

    Para apresentar todos os pacotes.

    $MyPackages
    

    Para apresentar apenas o terceiro pacote.

    $MyPackages[2].PackageAssemblyLocation
    

    Em seguida, pode referenciar cada pacote na matriz entre 0 e n. Porexemplo, este cmdlet importa o primeiro pacote encontrado em $MyPackages.

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

    Nota

    O parâmetro PackageAssemblyLocation e a capacidade de apresentar a localização da pasta e o nome de um pacote foram introduzidos primeiro com Atualização para Dynamics 365 (online e local) de dezembro de 2016.Mais informações:Dynamics 365 SDK

Utilize o cmdlet para se ligar à sua instância do Dynamics 365

  1. Forneça as suas credenciais para ligar à instância de Microsoft Dynamics 365 (online) ou de Dynamics 365 (local). Executar o comando seguinte pede-lhe introduzir o seu nome de utilizador e a palavra-passe para ligar ao Dynamics 365 exemplo, e não armazená-lo-emos a variável de $Cred e, posteriormente usamo-lo ligar ao servidor do Dynamics 365.

    $Cred = Get-Credential
    
  2. Utilize o comando seguinte obter uma ligação à instância de Microsoft Dynamics 365 (online) ou de Dynamics 365 (local). A armazenaremos a ligação a variável de $CRMConn :

    • Se estiver a ligar-se ao Dynamics 365 (local) exemplo:

      $CRMConn = Get-CrmConnection -ServerUrl http://<your_CRM_Server> -OrganizationName <your_Org_Name> -Credential $Cred
      
    • Se estiver a ligar-se ao servidor do Microsoft Dynamics 365 (online):

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

      Nota

      Para o parâmetro DeploymentRegion, os valores válidos são NorthAmerica, EMEA, APACSouthAmerica, Oceania, JPN e NorthAmerica2. Para o parâmetro OnlineType, os valores válidos são Office365 e LiveID.

  3. As suas credenciais são fornecidas validadas quando executar o comando no passo 2.

Utilize o cmdlet para implementar pacotes

Em seguida, utilize as informações de ligação do Dynamics 365 armazenadas na variável $CRMConn para implementar pacotes na instância do Dynamics 365. O seguinte comando, implementa um pacote, desagrega o pacote na pasta c:\UnpackedFiles, e grava informações num ficheiro de registo na pasta c:\MyLogFiles.

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

Nota

  • CrmConnection, PackageDirectory, e os parâmetros de PackageName são obrigatórios.

  • Em vez de especificar manualmente a pasta do pacote, pode utilizar uma variável com o parâmetro PackageDirectory.Mais informações:Utilize o cmdlet para obter pacotes

  • Para o parâmetro de PackageName, tem de especificar o nome da assemblagem que contém a definição de pacote.

  • Não necessita de especificar o parâmetro de UnpackFilesDirectory se o pacote não desembala ficheiros durante a implementação do pacote. Quando definir um pacote no Visual Studio, especifique se pretende descompactar os ficheiros que utilizam o parâmetro de agentdesktopzipfile no ficheiro ImportConfig.xml.Mais informações:MSDN: Criar pacotes para o CRM Package Deployer

  • O parâmetro de Verbose é opcional, e é utilizado para apresentar num registo das atividades efectuadas durante o processo de implementação do pacote.

  • O parâmetro opcional RuntimePackageSettings pode ser utilizado em conjunto com os seguintes parâmetros:

    • O parâmetro LCID=localeID especifica o ID de região, como 1033 para Inglês - Estados Unidos ou 1036 para Francês - França, dos IDs de região disponíveis no pacote. Se não for especificado, será utilizado o idioma predefinido.

    • O

      O parâmetro SkipChecks=true/false só deve ser utilizado quando o ambiente de destino não contém outras quaisquer outras soluções ou personalizações. Quando definida como verdadeira, a importação de soluções irá ignorar algumas verificações de segurança, o que poderá melhorar o desempenho da importação.

  • A pasta que especificar quando utiliza o parâmetro LogWriteDirectory já tem de existir, e o utilizador que está a executar o cmdlet Import-CrmPackage tem de ter permissão de escrita para a pasta. Além disso, é necessário o parâmetro -Verbose quando utiliza o parâmetro LogWriteDirectory.

    O parâmetro LogWriteDirectory foi introduzido pela primeira vez com Atualização para Dynamics 365 (online e local) de dezembro de 2016.Mais informações:Dynamics 365 SDK

O comando de exemplo seguinte importa um pacote denominado SampleCRMPackage e especifica Inglês-Estados Unidos (1033) como idioma para importar o pacote.

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

Detalhadas obter ajuda em cmdlets

Na janela de PowerShell, utilize o cmdlet de Get-Help com um nome do cmdlet para ver uma ajuda detalhadas sobre o cmdlet. Por exemplo, para obter ajuda para o cmdlet detalhada de Import-CrmPackage :

Get-Help Import-CrmPackage -full

Para ver a ajuda online do cmdlets, consulte Referência do CRM PowerShell.

Resolver problemas de implementação do pacote utilizando ficheiros de registo

O Ferramenta Implementador de Pacotes fornece suporte de registo para obter informações detalhadas sobre os erros que podem ocorrer ao iniciar sessão na instância do Microsoft Dynamics 365 utilizando a ferramenta e implementando pacotes. Por predefinição, a ferramenta gera três ficheiros de registo que estão disponíveis na seguinte localização no computador onde executa a ferramenta: c:\Users\<UserName>\AppData\Roaming\Microsoft\Microsoft Dynamics CRM Package Deployer\<Version>. Para especificar uma pasta diferente, utilize o parâmetro cmdlet PowerShell -LogWriteDirectory.Mais informações:Utilize o cmdlet para obter pacotes

  • Login_ErrorLog.log: Fornece informações sobre problemas que ocorreram quando utilizou a ferramenta para iniciar sessão na instância do Dynamics 365. Se existir quaisquer problemas no início de sessão, uma mensagem apresentadas no ecrã de início de sessão de ferramentas com uma hiperligação para o ficheiro de registo. A mensagem indica que um erro ao processar o pedido de início de sessão e o utilizador pode ver o registo de erros. Pode clicar na hiperligação na mensagem para ver o ficheiro de registo. O ficheiro de registo é criado a primeira vez que encontrar problemas de início de sessão na ferramenta. Depois, o ficheiro de registo é utilizado para registar informações sobre problemas de início de sessão sempre que estes ocorrerem.

  • PackageDeployer.log: Fornece informações detalhadas sobre cada tarefa efectuada na ferramenta durante a implementação dos pacotes. Pode ver o ficheiro de registo a partir da ferramenta clicando na hiperligação Ver Ficheiro de Registo na parte inferior do ecrã.

  • ComplexImportDetail.log: Fornece informações detalhadas sobre os dados importados na última implementação utilizando a ferramenta. Sempre que implementar um pacote utilizando esta ferramenta, os detalhes existentes no ficheiro de registo são movidos para um ficheiro denominado ComplexImportDetail._old.log no mesmo diretório e o ficheiro ComplexImportDetail.log apresenta informações sobre a importação mais recente efectuada utilizando a ferramenta.

Melhores práticas de pacotes de distribuição

A distribuição de pacotes, os administradores de Dynamics 365 tem de:

  • Insista num conjunto deste pacote para que possa monitorizar um conjunto de volta à sua origem.

  • Testar o pacote numa instância de pré-produção (de preferência uma imagem exata da instância de produção) antes de a executar num servidor de produção.

  • Fazer uma cópia de segurança da instância de produção antes de implementar o pacote.

Consulte Também

MSDN: Criar pacotes para o CRM Package Deployer
Administrar o Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos de Autor