Microsoft.Windows.Management.Deployment Namespace

Esse namespace fornece APIs de gerenciamento de pacote MSIX comparáveis às do Windows. Management.Deployment namespace, mas com funcionalidade adicional, experiência aprimorada do desenvolvedor e otimizações de desempenho.

Essas APIs do WinRT (Windows Runtime) permitem implantar e gerenciar software como pacotes MSIX. Você pode instalar, atualizar, desinstalar, enumerar e gerenciar pacotes. Aqui estão os cenários nos quais as APIs se concentram:

  • Preparar um pacote
  • Registrar um pacote
  • Adicionar/atualizar um pacote
  • Remover um pacote
  • Reparar um pacote
  • Redefinir um pacote
  • Provisionar um pacote
  • Desprovisionar um pacote

A funcionalidade adicional inclui:

  • IsReadyXxx. Determine se um pacote está pronto para uso.
  • EnsureReady. Determine se um pacote está pronto para uso e, caso contrário, faça isso.
  • IsPackageRegistrationPending. Determine se há uma atualização aguardando o registro.
  • Conjuntos de Pacotes. Operações em lote.
  • PackageRuntimeManager. Operações em lote para uso em runtime por meio de dependências dinâmicas.
  • Usabilidade. Aprimoramentos de qualidade de vida.

Estrutura de API

Os métodos para conduzir a atividade de implantação normalmente seguem o padrão:

<verb>Package[Set][By<Type>][Suffix]Async(target, options)

Há suporte para os seguintes verbos:

  • É... Ready[OrNewerAvailable]
  • Garantir... Pronto
  • Adicionar
  • Stage
  • Register
  • Remover
  • Conserto
  • Reiniciar
  • Provisionamento
  • Desprovisionar

Esses métodos aceitam seus pacotes de destino como seu primeiro parâmetro. Esse parâmetro pode ser vários tipos de informações, incluindo:

  • Nome do Arquivo
  • Caminho
  • PackageFamilyName
  • PackageFullName
  • Uri

! [OBSERVAÇÃO] Métodos com um destino de um URI são nomeados... ByUri......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFamilyName são nomeados... ByPackageFamilyName......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFullName são nomeados... ByPackageFullName......

! [OBSERVAÇÃO] Métodos sem... Por<tipo>... qualificador aceita uma cadeia de caracteres que pode conter um ou mais tipos de identificadores. Eles podem variar para verbos diferentes. Consulte a documentação da API para os tipos de destino específicos compatíveis com cada método.

Esses métodos aceitam opções como um tipo de correspondência <verb>Package[Set]Options ; por exemplo, AddPackageAsync(string packageUri, AddPackageOptions options).

A tabela a seguir mostra as permutações com suporte de verbos e destinos:

Verbo Caminho Nome do Arquivo PackageFamilyName PackageFullName Arquivo: http(s): ms-uup: PackageSet
IsReady X X SO/WAS WAS X X WAS WAS
IsReadyOrNewerAvailable X X SO/WAS WAS X X WAS WAS
EnsureReady X X X X X X WAS WAS
Adicionar SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Stage SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Register WAS SO/WAS SO/WAS SO/WAS SO/WAS X SO/WAS WAS
Remover X X WAS SO/WAS X X SO/WAS WAS
Conserto X X WAS WAS X X WAS WAS
Reiniciar X X WAS WAS X X WAS WAS
IsProvisioned X X SO/WAS X X X WAS WAS
Provisionamento X X SO/WAS X X X WAS WAS
Desprovisionar X X SO/WAS X X X WAS WAS

Legenda:

  • SO = Com suporte por APIs do Windows (SO) na classe Windows.Management.Deployment.PackageManager .
  • WAS = Compatível com APIs do SDK do Aplicativo windows na classe Microsoft.Windows.Management.Deployment.PackageDeploymentManager .
  • X = Sem suporte

Usability

As APIs de gerenciamento de pacotes no SDK de Aplicativos do Windows (Microsoft.Windows.Management.Deployment) fornecem vários aprimoramentos de qualidade de vida em relação às APIs de gerenciamento de pacotes no Windows.Management.Deployment (por exemplo, PackageManager). Elas incluem:

  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_INSTALL_PACKAGE_DOWNGRADE, se uma versão mais recente do pacote já estiver instalada. Mas PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque trata a solicitação como "instalar este pacote ou uma versão mais alta", da maneira como as dependências e outras referências de pacote são tratadas rotineiramente.
  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_PACKAGE_ALREADY_EXISTS, se essa versão exata do pacote já estiver instalada. PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque o pacote solicitado está instalado.
  • Muitas operações packagemanager aceitam um pacote de destino como um arquivo, mas exigem que ele seja expresso como um Uri. PackageDeploymentManager fornece substituições que também o aceitam como uma cadeia de caracteres.
  • PackageManager.RemovePackageByFullNameAsync falhará se o pacote especificado não for encontrado. PackageDeploymentManager é bem-sucedido porque o pacote solicitado não está presente no final da operação.
    • Isso ocorre devido ao princípio de implantação principal que não importa o estado anterior do sistema; apenas que o estado final desejado é alcançado.
  • Os métodos PackageManager aceitam permutações inconsistentes (e muitas vezes inconvenientes) de expressar um pacote de destino. Por exemplo, PackageManager dá suporte à remoção de um pacote por nome completo do pacote, mas não pelo nome da família de pacotes. PackageDeploymentManager fornece uma API mais rica aceitando identificadores adicionais.

Suporte da plataforma

Essas APIs estão disponíveis apenas no Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Um subconjunto de funcionalidade está disponível em versões mais recentes. Por exemplo, AddPackageOptions.ExpectedDigests requer o Windows 11, versão 22H2 (10.0; Build 22621) ou posterior. Qualquer funcionalidade que exija uma versão do Windows mais recente que o Windows 10, versão 2004 (10.0; A linha de base do Build 19041) tem recursos para detectar em runtime se a plataforma atual dá suporte ao recurso, por exemplo:

var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
    options.LimitToExistingPackages = true;
}

Classes

Nome Description
AddPackageOptions

Especifica as opções de implantação que você pode configurar ao usar o método AddPackageByUriAsync para adicionar um pacote, manifesto do pacote ou arquivo do Instalador de Aplicativo.

EnsureReadyOptions

Esse namespace fornece APIs de gerenciamento de pacote MSIX comparáveis às do Windows. Management.Deployment namespace, mas com funcionalidade adicional, experiência aprimorada do desenvolvedor e otimizações de desempenho.

Essas APIs do WinRT (Windows Runtime) permitem implantar e gerenciar software como pacotes MSIX. Você pode instalar, atualizar, desinstalar, enumerar e gerenciar pacotes. Aqui estão os cenários nos quais as APIs se concentram:

  • Preparar um pacote
  • Registrar um pacote
  • Adicionar/atualizar um pacote
  • Remover um pacote
  • Reparar um pacote
  • Redefinir um pacote
  • Provisionar um pacote
  • Desprovisionar um pacote

A funcionalidade adicional inclui:

  • IsReadyXxx. Determine se um pacote está pronto para uso.
  • EnsureReady. Determine se um pacote está pronto para uso e, caso contrário, faça isso.
  • IsPackageRegistrationPending. Determine se há uma atualização aguardando o registro.
  • Conjuntos de Pacotes. Operações em lote.
  • PackageRuntimeManager. Operações em lote para uso em runtime por meio de dependências dinâmicas.
  • Usabilidade. Aprimoramentos de qualidade de vida.

Estrutura de API

Os métodos para conduzir a atividade de implantação normalmente seguem o padrão:

<verb>Package[Set][By<Type>][Suffix]Async(target, options)

Há suporte para os seguintes verbos:

  • É... Ready[OrNewerAvailable]
  • Garantir... Pronto
  • Adicionar
  • Stage
  • Register
  • Remover
  • Conserto
  • Reiniciar
  • Provisionamento
  • Desprovisionar

Esses métodos aceitam seus pacotes de destino como seu primeiro parâmetro. Esse parâmetro pode ser vários tipos de informações, incluindo:

  • Nome do Arquivo
  • Caminho
  • PackageFamilyName
  • PackageFullName
  • Uri

! [OBSERVAÇÃO] Métodos com um destino de um URI são nomeados... ByUri......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFamilyName são nomeados... ByPackageFamilyName......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFullName são nomeados... ByPackageFullName......

! [OBSERVAÇÃO] Métodos sem... Por<tipo>... qualificador aceita uma cadeia de caracteres que pode conter um ou mais tipos de identificadores. Eles podem variar para verbos diferentes. Consulte a documentação da API para os tipos de destino específicos compatíveis com cada método.

Esses métodos aceitam opções como um tipo de correspondência <verb>Package[Set]Options ; por exemplo, AddPackageAsync(string packageUri, AddPackageOptions options).

A tabela a seguir mostra as permutações com suporte de verbos e destinos:

Verbo Caminho Nome do Arquivo PackageFamilyName PackageFullName Arquivo: http(s): ms-uup: PackageSet
IsReady X X SO/WAS WAS X X WAS WAS
IsReadyOrNewerAvailable X X SO/WAS WAS X X WAS WAS
EnsureReady X X X X X X WAS WAS
Adicionar SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Stage SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Register WAS SO/WAS SO/WAS SO/WAS SO/WAS X SO/WAS WAS
Remover X X WAS SO/WAS X X SO/WAS WAS
Conserto X X WAS WAS X X WAS WAS
Reiniciar X X WAS WAS X X WAS WAS
IsProvisioned X X SO/WAS X X X WAS WAS
Provisionamento X X SO/WAS X X X WAS WAS
Desprovisionar X X SO/WAS X X X WAS WAS

Legenda:

  • SO = Com suporte por APIs do Windows (SO) na classe Windows.Management.Deployment.PackageManager .
  • WAS = Compatível com APIs do SDK do Aplicativo windows na classe Microsoft.Windows.Management.Deployment.PackageDeploymentManager .
  • X = Sem suporte

Usability

As APIs de gerenciamento de pacotes no SDK de Aplicativos do Windows (Microsoft.Windows.Management.Deployment) fornecem vários aprimoramentos de qualidade de vida em relação às APIs de gerenciamento de pacotes no Windows.Management.Deployment (por exemplo, PackageManager). Elas incluem:

  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_INSTALL_PACKAGE_DOWNGRADE, se uma versão mais recente do pacote já estiver instalada. Mas PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque trata a solicitação como "instalar este pacote ou uma versão mais alta", da maneira como as dependências e outras referências de pacote são tratadas rotineiramente.
  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_PACKAGE_ALREADY_EXISTS, se essa versão exata do pacote já estiver instalada. PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque o pacote solicitado está instalado.
  • Muitas operações packagemanager aceitam um pacote de destino como um arquivo, mas exigem que ele seja expresso como um Uri. PackageDeploymentManager fornece substituições que também o aceitam como uma cadeia de caracteres.
  • PackageManager.RemovePackageByFullNameAsync falhará se o pacote especificado não for encontrado. PackageDeploymentManager é bem-sucedido porque o pacote solicitado não está presente no final da operação.
    • Isso ocorre devido ao princípio de implantação principal que não importa o estado anterior do sistema; apenas que o estado final desejado é alcançado.
  • Os métodos PackageManager aceitam permutações inconsistentes (e muitas vezes inconvenientes) de expressar um pacote de destino. Por exemplo, PackageManager dá suporte à remoção de um pacote por nome completo do pacote, mas não pelo nome da família de pacotes. PackageDeploymentManager fornece uma API mais rica aceitando identificadores adicionais.

Suporte da plataforma

Essas APIs estão disponíveis apenas no Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Um subconjunto de funcionalidade está disponível em versões mais recentes. Por exemplo, AddPackageOptions.ExpectedDigests requer o Windows 11, versão 22H2 (10.0; Build 22621) ou posterior. Qualquer funcionalidade que exija uma versão do Windows mais recente que o Windows 10, versão 2004 (10.0; A linha de base do Build 19041) tem recursos para detectar em runtime se a plataforma atual dá suporte ao recurso, por exemplo:

var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
    options.LimitToExistingPackages = true;
}
PackageCertificateEkuValidator

Esse namespace fornece APIs de gerenciamento de pacote MSIX comparáveis às do Windows. Management.Deployment namespace, mas com funcionalidade adicional, experiência aprimorada do desenvolvedor e otimizações de desempenho.

Essas APIs do WinRT (Windows Runtime) permitem implantar e gerenciar software como pacotes MSIX. Você pode instalar, atualizar, desinstalar, enumerar e gerenciar pacotes. Aqui estão os cenários nos quais as APIs se concentram:

  • Preparar um pacote
  • Registrar um pacote
  • Adicionar/atualizar um pacote
  • Remover um pacote
  • Reparar um pacote
  • Redefinir um pacote
  • Provisionar um pacote
  • Desprovisionar um pacote

A funcionalidade adicional inclui:

  • IsReadyXxx. Determine se um pacote está pronto para uso.
  • EnsureReady. Determine se um pacote está pronto para uso e, caso contrário, faça isso.
  • IsPackageRegistrationPending. Determine se há uma atualização aguardando o registro.
  • Conjuntos de Pacotes. Operações em lote.
  • PackageRuntimeManager. Operações em lote para uso em runtime por meio de dependências dinâmicas.
  • Usabilidade. Aprimoramentos de qualidade de vida.

Estrutura de API

Os métodos para conduzir a atividade de implantação normalmente seguem o padrão:

<verb>Package[Set][By<Type>][Suffix]Async(target, options)

Há suporte para os seguintes verbos:

  • É... Ready[OrNewerAvailable]
  • Garantir... Pronto
  • Adicionar
  • Stage
  • Register
  • Remover
  • Conserto
  • Reiniciar
  • Provisionamento
  • Desprovisionar

Esses métodos aceitam seus pacotes de destino como seu primeiro parâmetro. Esse parâmetro pode ser vários tipos de informações, incluindo:

  • Nome do Arquivo
  • Caminho
  • PackageFamilyName
  • PackageFullName
  • Uri

! [OBSERVAÇÃO] Métodos com um destino de um URI são nomeados... ByUri......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFamilyName são nomeados... ByPackageFamilyName......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFullName são nomeados... ByPackageFullName......

! [OBSERVAÇÃO] Métodos sem... Por<tipo>... qualificador aceita uma cadeia de caracteres que pode conter um ou mais tipos de identificadores. Eles podem variar para verbos diferentes. Consulte a documentação da API para os tipos de destino específicos compatíveis com cada método.

Esses métodos aceitam opções como um tipo de correspondência <verb>Package[Set]Options ; por exemplo, AddPackageAsync(string packageUri, AddPackageOptions options).

A tabela a seguir mostra as permutações com suporte de verbos e destinos:

Verbo Caminho Nome do Arquivo PackageFamilyName PackageFullName Arquivo: http(s): ms-uup: PackageSet
IsReady X X SO/WAS WAS X X WAS WAS
IsReadyOrNewerAvailable X X SO/WAS WAS X X WAS WAS
EnsureReady X X X X X X WAS WAS
Adicionar SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Stage SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Register WAS SO/WAS SO/WAS SO/WAS SO/WAS X SO/WAS WAS
Remover X X WAS SO/WAS X X SO/WAS WAS
Conserto X X WAS WAS X X WAS WAS
Reiniciar X X WAS WAS X X WAS WAS
IsProvisioned X X SO/WAS X X X WAS WAS
Provisionamento X X SO/WAS X X X WAS WAS
Desprovisionar X X SO/WAS X X X WAS WAS

Legenda:

  • SO = Com suporte por APIs do Windows (SO) na classe Windows.Management.Deployment.PackageManager .
  • WAS = Compatível com APIs do SDK do Aplicativo windows na classe Microsoft.Windows.Management.Deployment.PackageDeploymentManager .
  • X = Sem suporte

Usability

As APIs de gerenciamento de pacotes no SDK de Aplicativos do Windows (Microsoft.Windows.Management.Deployment) fornecem vários aprimoramentos de qualidade de vida em relação às APIs de gerenciamento de pacotes no Windows.Management.Deployment (por exemplo, PackageManager). Elas incluem:

  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_INSTALL_PACKAGE_DOWNGRADE, se uma versão mais recente do pacote já estiver instalada. Mas PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque trata a solicitação como "instalar este pacote ou uma versão mais alta", da maneira como as dependências e outras referências de pacote são tratadas rotineiramente.
  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_PACKAGE_ALREADY_EXISTS, se essa versão exata do pacote já estiver instalada. PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque o pacote solicitado está instalado.
  • Muitas operações packagemanager aceitam um pacote de destino como um arquivo, mas exigem que ele seja expresso como um Uri. PackageDeploymentManager fornece substituições que também o aceitam como uma cadeia de caracteres.
  • PackageManager.RemovePackageByFullNameAsync falhará se o pacote especificado não for encontrado. PackageDeploymentManager é bem-sucedido porque o pacote solicitado não está presente no final da operação.
    • Isso ocorre devido ao princípio de implantação principal que não importa o estado anterior do sistema; apenas que o estado final desejado é alcançado.
  • Os métodos PackageManager aceitam permutações inconsistentes (e muitas vezes inconvenientes) de expressar um pacote de destino. Por exemplo, PackageManager dá suporte à remoção de um pacote por nome completo do pacote, mas não pelo nome da família de pacotes. PackageDeploymentManager fornece uma API mais rica aceitando identificadores adicionais.

Suporte da plataforma

Essas APIs estão disponíveis apenas no Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Um subconjunto de funcionalidade está disponível em versões mais recentes. Por exemplo, AddPackageOptions.ExpectedDigests requer o Windows 11, versão 22H2 (10.0; Build 22621) ou posterior. Qualquer funcionalidade que exija uma versão do Windows mais recente que o Windows 10, versão 2004 (10.0; A linha de base do Build 19041) tem recursos para detectar em runtime se a plataforma atual dá suporte ao recurso, por exemplo:

var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
    options.LimitToExistingPackages = true;
}
PackageDeploymentManager

Gerencia o software disponível para um usuário.

PackageDeploymentResult

Fornece o resultado de uma solicitação de implantação.

PackageFamilyNameValidator

Esse namespace fornece APIs de gerenciamento de pacote MSIX comparáveis às do Windows. Management.Deployment namespace, mas com funcionalidade adicional, experiência aprimorada do desenvolvedor e otimizações de desempenho.

Essas APIs do WinRT (Windows Runtime) permitem implantar e gerenciar software como pacotes MSIX. Você pode instalar, atualizar, desinstalar, enumerar e gerenciar pacotes. Aqui estão os cenários nos quais as APIs se concentram:

  • Preparar um pacote
  • Registrar um pacote
  • Adicionar/atualizar um pacote
  • Remover um pacote
  • Reparar um pacote
  • Redefinir um pacote
  • Provisionar um pacote
  • Desprovisionar um pacote

A funcionalidade adicional inclui:

  • IsReadyXxx. Determine se um pacote está pronto para uso.
  • EnsureReady. Determine se um pacote está pronto para uso e, caso contrário, faça isso.
  • IsPackageRegistrationPending. Determine se há uma atualização aguardando o registro.
  • Conjuntos de Pacotes. Operações em lote.
  • PackageRuntimeManager. Operações em lote para uso em runtime por meio de dependências dinâmicas.
  • Usabilidade. Aprimoramentos de qualidade de vida.

Estrutura de API

Os métodos para conduzir a atividade de implantação normalmente seguem o padrão:

<verb>Package[Set][By<Type>][Suffix]Async(target, options)

Há suporte para os seguintes verbos:

  • É... Ready[OrNewerAvailable]
  • Garantir... Pronto
  • Adicionar
  • Stage
  • Register
  • Remover
  • Conserto
  • Reiniciar
  • Provisionamento
  • Desprovisionar

Esses métodos aceitam seus pacotes de destino como seu primeiro parâmetro. Esse parâmetro pode ser vários tipos de informações, incluindo:

  • Nome do Arquivo
  • Caminho
  • PackageFamilyName
  • PackageFullName
  • Uri

! [OBSERVAÇÃO] Métodos com um destino de um URI são nomeados... ByUri......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFamilyName são nomeados... ByPackageFamilyName......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFullName são nomeados... ByPackageFullName......

! [OBSERVAÇÃO] Métodos sem... Por<tipo>... qualificador aceita uma cadeia de caracteres que pode conter um ou mais tipos de identificadores. Eles podem variar para verbos diferentes. Consulte a documentação da API para os tipos de destino específicos compatíveis com cada método.

Esses métodos aceitam opções como um tipo de correspondência <verb>Package[Set]Options ; por exemplo, AddPackageAsync(string packageUri, AddPackageOptions options).

A tabela a seguir mostra as permutações com suporte de verbos e destinos:

Verbo Caminho Nome do Arquivo PackageFamilyName PackageFullName Arquivo: http(s): ms-uup: PackageSet
IsReady X X SO/WAS WAS X X WAS WAS
IsReadyOrNewerAvailable X X SO/WAS WAS X X WAS WAS
EnsureReady X X X X X X WAS WAS
Adicionar SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Stage SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Register WAS SO/WAS SO/WAS SO/WAS SO/WAS X SO/WAS WAS
Remover X X WAS SO/WAS X X SO/WAS WAS
Conserto X X WAS WAS X X WAS WAS
Reiniciar X X WAS WAS X X WAS WAS
IsProvisioned X X SO/WAS X X X WAS WAS
Provisionamento X X SO/WAS X X X WAS WAS
Desprovisionar X X SO/WAS X X X WAS WAS

Legenda:

  • SO = Com suporte por APIs do Windows (SO) na classe Windows.Management.Deployment.PackageManager .
  • WAS = Compatível com APIs do SDK do Aplicativo windows na classe Microsoft.Windows.Management.Deployment.PackageDeploymentManager .
  • X = Sem suporte

Usability

As APIs de gerenciamento de pacotes no SDK de Aplicativos do Windows (Microsoft.Windows.Management.Deployment) fornecem vários aprimoramentos de qualidade de vida em relação às APIs de gerenciamento de pacotes no Windows.Management.Deployment (por exemplo, PackageManager). Elas incluem:

  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_INSTALL_PACKAGE_DOWNGRADE, se uma versão mais recente do pacote já estiver instalada. Mas PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque trata a solicitação como "instalar este pacote ou uma versão mais alta", da maneira como as dependências e outras referências de pacote são tratadas rotineiramente.
  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_PACKAGE_ALREADY_EXISTS, se essa versão exata do pacote já estiver instalada. PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque o pacote solicitado está instalado.
  • Muitas operações packagemanager aceitam um pacote de destino como um arquivo, mas exigem que ele seja expresso como um Uri. PackageDeploymentManager fornece substituições que também o aceitam como uma cadeia de caracteres.
  • PackageManager.RemovePackageByFullNameAsync falhará se o pacote especificado não for encontrado. PackageDeploymentManager é bem-sucedido porque o pacote solicitado não está presente no final da operação.
    • Isso ocorre devido ao princípio de implantação principal que não importa o estado anterior do sistema; apenas que o estado final desejado é alcançado.
  • Os métodos PackageManager aceitam permutações inconsistentes (e muitas vezes inconvenientes) de expressar um pacote de destino. Por exemplo, PackageManager dá suporte à remoção de um pacote por nome completo do pacote, mas não pelo nome da família de pacotes. PackageDeploymentManager fornece uma API mais rica aceitando identificadores adicionais.

Suporte da plataforma

Essas APIs estão disponíveis apenas no Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Um subconjunto de funcionalidade está disponível em versões mais recentes. Por exemplo, AddPackageOptions.ExpectedDigests requer o Windows 11, versão 22H2 (10.0; Build 22621) ou posterior. Qualquer funcionalidade que exija uma versão do Windows mais recente que o Windows 10, versão 2004 (10.0; A linha de base do Build 19041) tem recursos para detectar em runtime se a plataforma atual dá suporte ao recurso, por exemplo:

var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
    options.LimitToExistingPackages = true;
}
PackageMinimumVersionValidator

Esse namespace fornece APIs de gerenciamento de pacote MSIX comparáveis às do Windows. Management.Deployment namespace, mas com funcionalidade adicional, experiência aprimorada do desenvolvedor e otimizações de desempenho.

Essas APIs do WinRT (Windows Runtime) permitem implantar e gerenciar software como pacotes MSIX. Você pode instalar, atualizar, desinstalar, enumerar e gerenciar pacotes. Aqui estão os cenários nos quais as APIs se concentram:

  • Preparar um pacote
  • Registrar um pacote
  • Adicionar/atualizar um pacote
  • Remover um pacote
  • Reparar um pacote
  • Redefinir um pacote
  • Provisionar um pacote
  • Desprovisionar um pacote

A funcionalidade adicional inclui:

  • IsReadyXxx. Determine se um pacote está pronto para uso.
  • EnsureReady. Determine se um pacote está pronto para uso e, caso contrário, faça isso.
  • IsPackageRegistrationPending. Determine se há uma atualização aguardando o registro.
  • Conjuntos de Pacotes. Operações em lote.
  • PackageRuntimeManager. Operações em lote para uso em runtime por meio de dependências dinâmicas.
  • Usabilidade. Aprimoramentos de qualidade de vida.

Estrutura de API

Os métodos para conduzir a atividade de implantação normalmente seguem o padrão:

<verb>Package[Set][By<Type>][Suffix]Async(target, options)

Há suporte para os seguintes verbos:

  • É... Ready[OrNewerAvailable]
  • Garantir... Pronto
  • Adicionar
  • Stage
  • Register
  • Remover
  • Conserto
  • Reiniciar
  • Provisionamento
  • Desprovisionar

Esses métodos aceitam seus pacotes de destino como seu primeiro parâmetro. Esse parâmetro pode ser vários tipos de informações, incluindo:

  • Nome do Arquivo
  • Caminho
  • PackageFamilyName
  • PackageFullName
  • Uri

! [OBSERVAÇÃO] Métodos com um destino de um URI são nomeados... ByUri......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFamilyName são nomeados... ByPackageFamilyName......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFullName são nomeados... ByPackageFullName......

! [OBSERVAÇÃO] Métodos sem... Por<tipo>... qualificador aceita uma cadeia de caracteres que pode conter um ou mais tipos de identificadores. Eles podem variar para verbos diferentes. Consulte a documentação da API para os tipos de destino específicos compatíveis com cada método.

Esses métodos aceitam opções como um tipo de correspondência <verb>Package[Set]Options ; por exemplo, AddPackageAsync(string packageUri, AddPackageOptions options).

A tabela a seguir mostra as permutações com suporte de verbos e destinos:

Verbo Caminho Nome do Arquivo PackageFamilyName PackageFullName Arquivo: http(s): ms-uup: PackageSet
IsReady X X SO/WAS WAS X X WAS WAS
IsReadyOrNewerAvailable X X SO/WAS WAS X X WAS WAS
EnsureReady X X X X X X WAS WAS
Adicionar SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Stage SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Register WAS SO/WAS SO/WAS SO/WAS SO/WAS X SO/WAS WAS
Remover X X WAS SO/WAS X X SO/WAS WAS
Conserto X X WAS WAS X X WAS WAS
Reiniciar X X WAS WAS X X WAS WAS
IsProvisioned X X SO/WAS X X X WAS WAS
Provisionamento X X SO/WAS X X X WAS WAS
Desprovisionar X X SO/WAS X X X WAS WAS

Legenda:

  • SO = Com suporte por APIs do Windows (SO) na classe Windows.Management.Deployment.PackageManager .
  • WAS = Compatível com APIs do SDK do Aplicativo windows na classe Microsoft.Windows.Management.Deployment.PackageDeploymentManager .
  • X = Sem suporte

Usability

As APIs de gerenciamento de pacotes no SDK de Aplicativos do Windows (Microsoft.Windows.Management.Deployment) fornecem vários aprimoramentos de qualidade de vida em relação às APIs de gerenciamento de pacotes no Windows.Management.Deployment (por exemplo, PackageManager). Elas incluem:

  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_INSTALL_PACKAGE_DOWNGRADE, se uma versão mais recente do pacote já estiver instalada. Mas PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque trata a solicitação como "instalar este pacote ou uma versão mais alta", da maneira como as dependências e outras referências de pacote são tratadas rotineiramente.
  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_PACKAGE_ALREADY_EXISTS, se essa versão exata do pacote já estiver instalada. PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque o pacote solicitado está instalado.
  • Muitas operações packagemanager aceitam um pacote de destino como um arquivo, mas exigem que ele seja expresso como um Uri. PackageDeploymentManager fornece substituições que também o aceitam como uma cadeia de caracteres.
  • PackageManager.RemovePackageByFullNameAsync falhará se o pacote especificado não for encontrado. PackageDeploymentManager é bem-sucedido porque o pacote solicitado não está presente no final da operação.
    • Isso ocorre devido ao princípio de implantação principal que não importa o estado anterior do sistema; apenas que o estado final desejado é alcançado.
  • Os métodos PackageManager aceitam permutações inconsistentes (e muitas vezes inconvenientes) de expressar um pacote de destino. Por exemplo, PackageManager dá suporte à remoção de um pacote por nome completo do pacote, mas não pelo nome da família de pacotes. PackageDeploymentManager fornece uma API mais rica aceitando identificadores adicionais.

Suporte da plataforma

Essas APIs estão disponíveis apenas no Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Um subconjunto de funcionalidade está disponível em versões mais recentes. Por exemplo, AddPackageOptions.ExpectedDigests requer o Windows 11, versão 22H2 (10.0; Build 22621) ou posterior. Qualquer funcionalidade que exija uma versão do Windows mais recente que o Windows 10, versão 2004 (10.0; A linha de base do Build 19041) tem recursos para detectar em runtime se a plataforma atual dá suporte ao recurso, por exemplo:

var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
    options.LimitToExistingPackages = true;
}
PackageRuntimeManager

A classe PackageRuntimeManager fornece suporte à Dependência Dinâmica para operações PackageSet , especialmente quando o chamador pode não saber os pacotes exatos envolvidos, por exemplo, ao direcionar pacotes por meio ms-uup:de . PackageRuntimeManager determina os pacotes envolvidos para um PackageSet e os adiciona dinamicamente ao grafo de pacote do chamador.

PackageSet

Classe que representa um conjunto de pacotes, que é um grupo de pacotes a serem operados com uma solicitação. Um conjunto de pacotes fornece um meio conveniente para executar várias operações.

! [OBSERVAÇÃO] Não há garantia de ordenação de itens processados em um PackageSet.

PackageSetItem

Representa um pacote em um PackageSet.

PackageSetItemRuntimeDisposition

Esse namespace fornece APIs de gerenciamento de pacote MSIX comparáveis às do Windows. Management.Deployment namespace, mas com funcionalidade adicional, experiência aprimorada do desenvolvedor e otimizações de desempenho.

Essas APIs do WinRT (Windows Runtime) permitem implantar e gerenciar software como pacotes MSIX. Você pode instalar, atualizar, desinstalar, enumerar e gerenciar pacotes. Aqui estão os cenários nos quais as APIs se concentram:

  • Preparar um pacote
  • Registrar um pacote
  • Adicionar/atualizar um pacote
  • Remover um pacote
  • Reparar um pacote
  • Redefinir um pacote
  • Provisionar um pacote
  • Desprovisionar um pacote

A funcionalidade adicional inclui:

  • IsReadyXxx. Determine se um pacote está pronto para uso.
  • EnsureReady. Determine se um pacote está pronto para uso e, caso contrário, faça isso.
  • IsPackageRegistrationPending. Determine se há uma atualização aguardando o registro.
  • Conjuntos de Pacotes. Operações em lote.
  • PackageRuntimeManager. Operações em lote para uso em runtime por meio de dependências dinâmicas.
  • Usabilidade. Aprimoramentos de qualidade de vida.

Estrutura de API

Os métodos para conduzir a atividade de implantação normalmente seguem o padrão:

<verb>Package[Set][By<Type>][Suffix]Async(target, options)

Há suporte para os seguintes verbos:

  • É... Ready[OrNewerAvailable]
  • Garantir... Pronto
  • Adicionar
  • Stage
  • Register
  • Remover
  • Conserto
  • Reiniciar
  • Provisionamento
  • Desprovisionar

Esses métodos aceitam seus pacotes de destino como seu primeiro parâmetro. Esse parâmetro pode ser vários tipos de informações, incluindo:

  • Nome do Arquivo
  • Caminho
  • PackageFamilyName
  • PackageFullName
  • Uri

! [OBSERVAÇÃO] Métodos com um destino de um URI são nomeados... ByUri......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFamilyName são nomeados... ByPackageFamilyName......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFullName são nomeados... ByPackageFullName......

! [OBSERVAÇÃO] Métodos sem... Por<tipo>... qualificador aceita uma cadeia de caracteres que pode conter um ou mais tipos de identificadores. Eles podem variar para verbos diferentes. Consulte a documentação da API para os tipos de destino específicos compatíveis com cada método.

Esses métodos aceitam opções como um tipo de correspondência <verb>Package[Set]Options ; por exemplo, AddPackageAsync(string packageUri, AddPackageOptions options).

A tabela a seguir mostra as permutações com suporte de verbos e destinos:

Verbo Caminho Nome do Arquivo PackageFamilyName PackageFullName Arquivo: http(s): ms-uup: PackageSet
IsReady X X SO/WAS WAS X X WAS WAS
IsReadyOrNewerAvailable X X SO/WAS WAS X X WAS WAS
EnsureReady X X X X X X WAS WAS
Adicionar SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Stage SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Register WAS SO/WAS SO/WAS SO/WAS SO/WAS X SO/WAS WAS
Remover X X WAS SO/WAS X X SO/WAS WAS
Conserto X X WAS WAS X X WAS WAS
Reiniciar X X WAS WAS X X WAS WAS
IsProvisioned X X SO/WAS X X X WAS WAS
Provisionamento X X SO/WAS X X X WAS WAS
Desprovisionar X X SO/WAS X X X WAS WAS

Legenda:

  • SO = Com suporte por APIs do Windows (SO) na classe Windows.Management.Deployment.PackageManager .
  • WAS = Compatível com APIs do SDK do Aplicativo windows na classe Microsoft.Windows.Management.Deployment.PackageDeploymentManager .
  • X = Sem suporte

Usability

As APIs de gerenciamento de pacotes no SDK de Aplicativos do Windows (Microsoft.Windows.Management.Deployment) fornecem vários aprimoramentos de qualidade de vida em relação às APIs de gerenciamento de pacotes no Windows.Management.Deployment (por exemplo, PackageManager). Elas incluem:

  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_INSTALL_PACKAGE_DOWNGRADE, se uma versão mais recente do pacote já estiver instalada. Mas PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque trata a solicitação como "instalar este pacote ou uma versão mais alta", da maneira como as dependências e outras referências de pacote são tratadas rotineiramente.
  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_PACKAGE_ALREADY_EXISTS, se essa versão exata do pacote já estiver instalada. PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque o pacote solicitado está instalado.
  • Muitas operações packagemanager aceitam um pacote de destino como um arquivo, mas exigem que ele seja expresso como um Uri. PackageDeploymentManager fornece substituições que também o aceitam como uma cadeia de caracteres.
  • PackageManager.RemovePackageByFullNameAsync falhará se o pacote especificado não for encontrado. PackageDeploymentManager é bem-sucedido porque o pacote solicitado não está presente no final da operação.
    • Isso ocorre devido ao princípio de implantação principal que não importa o estado anterior do sistema; apenas que o estado final desejado é alcançado.
  • Os métodos PackageManager aceitam permutações inconsistentes (e muitas vezes inconvenientes) de expressar um pacote de destino. Por exemplo, PackageManager dá suporte à remoção de um pacote por nome completo do pacote, mas não pelo nome da família de pacotes. PackageDeploymentManager fornece uma API mais rica aceitando identificadores adicionais.

Suporte da plataforma

Essas APIs estão disponíveis apenas no Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Um subconjunto de funcionalidade está disponível em versões mais recentes. Por exemplo, AddPackageOptions.ExpectedDigests requer o Windows 11, versão 22H2 (10.0; Build 22621) ou posterior. Qualquer funcionalidade que exija uma versão do Windows mais recente que o Windows 10, versão 2004 (10.0; A linha de base do Build 19041) tem recursos para detectar em runtime se a plataforma atual dá suporte ao recurso, por exemplo:

var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
    options.LimitToExistingPackages = true;
}
PackageSetRuntimeDisposition

Esse namespace fornece APIs de gerenciamento de pacote MSIX comparáveis às do Windows. Management.Deployment namespace, mas com funcionalidade adicional, experiência aprimorada do desenvolvedor e otimizações de desempenho.

Essas APIs do WinRT (Windows Runtime) permitem implantar e gerenciar software como pacotes MSIX. Você pode instalar, atualizar, desinstalar, enumerar e gerenciar pacotes. Aqui estão os cenários nos quais as APIs se concentram:

  • Preparar um pacote
  • Registrar um pacote
  • Adicionar/atualizar um pacote
  • Remover um pacote
  • Reparar um pacote
  • Redefinir um pacote
  • Provisionar um pacote
  • Desprovisionar um pacote

A funcionalidade adicional inclui:

  • IsReadyXxx. Determine se um pacote está pronto para uso.
  • EnsureReady. Determine se um pacote está pronto para uso e, caso contrário, faça isso.
  • IsPackageRegistrationPending. Determine se há uma atualização aguardando o registro.
  • Conjuntos de Pacotes. Operações em lote.
  • PackageRuntimeManager. Operações em lote para uso em runtime por meio de dependências dinâmicas.
  • Usabilidade. Aprimoramentos de qualidade de vida.

Estrutura de API

Os métodos para conduzir a atividade de implantação normalmente seguem o padrão:

<verb>Package[Set][By<Type>][Suffix]Async(target, options)

Há suporte para os seguintes verbos:

  • É... Ready[OrNewerAvailable]
  • Garantir... Pronto
  • Adicionar
  • Stage
  • Register
  • Remover
  • Conserto
  • Reiniciar
  • Provisionamento
  • Desprovisionar

Esses métodos aceitam seus pacotes de destino como seu primeiro parâmetro. Esse parâmetro pode ser vários tipos de informações, incluindo:

  • Nome do Arquivo
  • Caminho
  • PackageFamilyName
  • PackageFullName
  • Uri

! [OBSERVAÇÃO] Métodos com um destino de um URI são nomeados... ByUri......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFamilyName são nomeados... ByPackageFamilyName......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFullName são nomeados... ByPackageFullName......

! [OBSERVAÇÃO] Métodos sem... Por<tipo>... qualificador aceita uma cadeia de caracteres que pode conter um ou mais tipos de identificadores. Eles podem variar para verbos diferentes. Consulte a documentação da API para os tipos de destino específicos compatíveis com cada método.

Esses métodos aceitam opções como um tipo de correspondência <verb>Package[Set]Options ; por exemplo, AddPackageAsync(string packageUri, AddPackageOptions options).

A tabela a seguir mostra as permutações com suporte de verbos e destinos:

Verbo Caminho Nome do Arquivo PackageFamilyName PackageFullName Arquivo: http(s): ms-uup: PackageSet
IsReady X X SO/WAS WAS X X WAS WAS
IsReadyOrNewerAvailable X X SO/WAS WAS X X WAS WAS
EnsureReady X X X X X X WAS WAS
Adicionar SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Stage SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Register WAS SO/WAS SO/WAS SO/WAS SO/WAS X SO/WAS WAS
Remover X X WAS SO/WAS X X SO/WAS WAS
Conserto X X WAS WAS X X WAS WAS
Reiniciar X X WAS WAS X X WAS WAS
IsProvisioned X X SO/WAS X X X WAS WAS
Provisionamento X X SO/WAS X X X WAS WAS
Desprovisionar X X SO/WAS X X X WAS WAS

Legenda:

  • SO = Com suporte por APIs do Windows (SO) na classe Windows.Management.Deployment.PackageManager .
  • WAS = Compatível com APIs do SDK do Aplicativo windows na classe Microsoft.Windows.Management.Deployment.PackageDeploymentManager .
  • X = Sem suporte

Usability

As APIs de gerenciamento de pacotes no SDK de Aplicativos do Windows (Microsoft.Windows.Management.Deployment) fornecem vários aprimoramentos de qualidade de vida em relação às APIs de gerenciamento de pacotes no Windows.Management.Deployment (por exemplo, PackageManager). Elas incluem:

  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_INSTALL_PACKAGE_DOWNGRADE, se uma versão mais recente do pacote já estiver instalada. Mas PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque trata a solicitação como "instalar este pacote ou uma versão mais alta", da maneira como as dependências e outras referências de pacote são tratadas rotineiramente.
  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_PACKAGE_ALREADY_EXISTS, se essa versão exata do pacote já estiver instalada. PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque o pacote solicitado está instalado.
  • Muitas operações packagemanager aceitam um pacote de destino como um arquivo, mas exigem que ele seja expresso como um Uri. PackageDeploymentManager fornece substituições que também o aceitam como uma cadeia de caracteres.
  • PackageManager.RemovePackageByFullNameAsync falhará se o pacote especificado não for encontrado. PackageDeploymentManager é bem-sucedido porque o pacote solicitado não está presente no final da operação.
    • Isso ocorre devido ao princípio de implantação principal que não importa o estado anterior do sistema; apenas que o estado final desejado é alcançado.
  • Os métodos PackageManager aceitam permutações inconsistentes (e muitas vezes inconvenientes) de expressar um pacote de destino. Por exemplo, PackageManager dá suporte à remoção de um pacote por nome completo do pacote, mas não pelo nome da família de pacotes. PackageDeploymentManager fornece uma API mais rica aceitando identificadores adicionais.

Suporte da plataforma

Essas APIs estão disponíveis apenas no Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Um subconjunto de funcionalidade está disponível em versões mais recentes. Por exemplo, AddPackageOptions.ExpectedDigests requer o Windows 11, versão 22H2 (10.0; Build 22621) ou posterior. Qualquer funcionalidade que exija uma versão do Windows mais recente que o Windows 10, versão 2004 (10.0; A linha de base do Build 19041) tem recursos para detectar em runtime se a plataforma atual dá suporte ao recurso, por exemplo:

var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
    options.LimitToExistingPackages = true;
}
PackageValidationEventArgs

Esse namespace fornece APIs de gerenciamento de pacote MSIX comparáveis às do Windows. Management.Deployment namespace, mas com funcionalidade adicional, experiência aprimorada do desenvolvedor e otimizações de desempenho.

Essas APIs do WinRT (Windows Runtime) permitem implantar e gerenciar software como pacotes MSIX. Você pode instalar, atualizar, desinstalar, enumerar e gerenciar pacotes. Aqui estão os cenários nos quais as APIs se concentram:

  • Preparar um pacote
  • Registrar um pacote
  • Adicionar/atualizar um pacote
  • Remover um pacote
  • Reparar um pacote
  • Redefinir um pacote
  • Provisionar um pacote
  • Desprovisionar um pacote

A funcionalidade adicional inclui:

  • IsReadyXxx. Determine se um pacote está pronto para uso.
  • EnsureReady. Determine se um pacote está pronto para uso e, caso contrário, faça isso.
  • IsPackageRegistrationPending. Determine se há uma atualização aguardando o registro.
  • Conjuntos de Pacotes. Operações em lote.
  • PackageRuntimeManager. Operações em lote para uso em runtime por meio de dependências dinâmicas.
  • Usabilidade. Aprimoramentos de qualidade de vida.

Estrutura de API

Os métodos para conduzir a atividade de implantação normalmente seguem o padrão:

<verb>Package[Set][By<Type>][Suffix]Async(target, options)

Há suporte para os seguintes verbos:

  • É... Ready[OrNewerAvailable]
  • Garantir... Pronto
  • Adicionar
  • Stage
  • Register
  • Remover
  • Conserto
  • Reiniciar
  • Provisionamento
  • Desprovisionar

Esses métodos aceitam seus pacotes de destino como seu primeiro parâmetro. Esse parâmetro pode ser vários tipos de informações, incluindo:

  • Nome do Arquivo
  • Caminho
  • PackageFamilyName
  • PackageFullName
  • Uri

! [OBSERVAÇÃO] Métodos com um destino de um URI são nomeados... ByUri......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFamilyName são nomeados... ByPackageFamilyName......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFullName são nomeados... ByPackageFullName......

! [OBSERVAÇÃO] Métodos sem... Por<tipo>... qualificador aceita uma cadeia de caracteres que pode conter um ou mais tipos de identificadores. Eles podem variar para verbos diferentes. Consulte a documentação da API para os tipos de destino específicos compatíveis com cada método.

Esses métodos aceitam opções como um tipo de correspondência <verb>Package[Set]Options ; por exemplo, AddPackageAsync(string packageUri, AddPackageOptions options).

A tabela a seguir mostra as permutações com suporte de verbos e destinos:

Verbo Caminho Nome do Arquivo PackageFamilyName PackageFullName Arquivo: http(s): ms-uup: PackageSet
IsReady X X SO/WAS WAS X X WAS WAS
IsReadyOrNewerAvailable X X SO/WAS WAS X X WAS WAS
EnsureReady X X X X X X WAS WAS
Adicionar SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Stage SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Register WAS SO/WAS SO/WAS SO/WAS SO/WAS X SO/WAS WAS
Remover X X WAS SO/WAS X X SO/WAS WAS
Conserto X X WAS WAS X X WAS WAS
Reiniciar X X WAS WAS X X WAS WAS
IsProvisioned X X SO/WAS X X X WAS WAS
Provisionamento X X SO/WAS X X X WAS WAS
Desprovisionar X X SO/WAS X X X WAS WAS

Legenda:

  • SO = Com suporte por APIs do Windows (SO) na classe Windows.Management.Deployment.PackageManager .
  • WAS = Compatível com APIs do SDK do Aplicativo windows na classe Microsoft.Windows.Management.Deployment.PackageDeploymentManager .
  • X = Sem suporte

Usability

As APIs de gerenciamento de pacotes no SDK de Aplicativos do Windows (Microsoft.Windows.Management.Deployment) fornecem vários aprimoramentos de qualidade de vida em relação às APIs de gerenciamento de pacotes no Windows.Management.Deployment (por exemplo, PackageManager). Elas incluem:

  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_INSTALL_PACKAGE_DOWNGRADE, se uma versão mais recente do pacote já estiver instalada. Mas PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque trata a solicitação como "instalar este pacote ou uma versão mais alta", da maneira como as dependências e outras referências de pacote são tratadas rotineiramente.
  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_PACKAGE_ALREADY_EXISTS, se essa versão exata do pacote já estiver instalada. PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque o pacote solicitado está instalado.
  • Muitas operações packagemanager aceitam um pacote de destino como um arquivo, mas exigem que ele seja expresso como um Uri. PackageDeploymentManager fornece substituições que também o aceitam como uma cadeia de caracteres.
  • PackageManager.RemovePackageByFullNameAsync falhará se o pacote especificado não for encontrado. PackageDeploymentManager é bem-sucedido porque o pacote solicitado não está presente no final da operação.
    • Isso ocorre devido ao princípio de implantação principal que não importa o estado anterior do sistema; apenas que o estado final desejado é alcançado.
  • Os métodos PackageManager aceitam permutações inconsistentes (e muitas vezes inconvenientes) de expressar um pacote de destino. Por exemplo, PackageManager dá suporte à remoção de um pacote por nome completo do pacote, mas não pelo nome da família de pacotes. PackageDeploymentManager fornece uma API mais rica aceitando identificadores adicionais.

Suporte da plataforma

Essas APIs estão disponíveis apenas no Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Um subconjunto de funcionalidade está disponível em versões mais recentes. Por exemplo, AddPackageOptions.ExpectedDigests requer o Windows 11, versão 22H2 (10.0; Build 22621) ou posterior. Qualquer funcionalidade que exija uma versão do Windows mais recente que o Windows 10, versão 2004 (10.0; A linha de base do Build 19041) tem recursos para detectar em runtime se a plataforma atual dá suporte ao recurso, por exemplo:

var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
    options.LimitToExistingPackages = true;
}
PackageValidationEventSource

Esse namespace fornece APIs de gerenciamento de pacote MSIX comparáveis às do Windows. Management.Deployment namespace, mas com funcionalidade adicional, experiência aprimorada do desenvolvedor e otimizações de desempenho.

Essas APIs do WinRT (Windows Runtime) permitem implantar e gerenciar software como pacotes MSIX. Você pode instalar, atualizar, desinstalar, enumerar e gerenciar pacotes. Aqui estão os cenários nos quais as APIs se concentram:

  • Preparar um pacote
  • Registrar um pacote
  • Adicionar/atualizar um pacote
  • Remover um pacote
  • Reparar um pacote
  • Redefinir um pacote
  • Provisionar um pacote
  • Desprovisionar um pacote

A funcionalidade adicional inclui:

  • IsReadyXxx. Determine se um pacote está pronto para uso.
  • EnsureReady. Determine se um pacote está pronto para uso e, caso contrário, faça isso.
  • IsPackageRegistrationPending. Determine se há uma atualização aguardando o registro.
  • Conjuntos de Pacotes. Operações em lote.
  • PackageRuntimeManager. Operações em lote para uso em runtime por meio de dependências dinâmicas.
  • Usabilidade. Aprimoramentos de qualidade de vida.

Estrutura de API

Os métodos para conduzir a atividade de implantação normalmente seguem o padrão:

<verb>Package[Set][By<Type>][Suffix]Async(target, options)

Há suporte para os seguintes verbos:

  • É... Ready[OrNewerAvailable]
  • Garantir... Pronto
  • Adicionar
  • Stage
  • Register
  • Remover
  • Conserto
  • Reiniciar
  • Provisionamento
  • Desprovisionar

Esses métodos aceitam seus pacotes de destino como seu primeiro parâmetro. Esse parâmetro pode ser vários tipos de informações, incluindo:

  • Nome do Arquivo
  • Caminho
  • PackageFamilyName
  • PackageFullName
  • Uri

! [OBSERVAÇÃO] Métodos com um destino de um URI são nomeados... ByUri......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFamilyName são nomeados... ByPackageFamilyName......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFullName são nomeados... ByPackageFullName......

! [OBSERVAÇÃO] Métodos sem... Por<tipo>... qualificador aceita uma cadeia de caracteres que pode conter um ou mais tipos de identificadores. Eles podem variar para verbos diferentes. Consulte a documentação da API para os tipos de destino específicos compatíveis com cada método.

Esses métodos aceitam opções como um tipo de correspondência <verb>Package[Set]Options ; por exemplo, AddPackageAsync(string packageUri, AddPackageOptions options).

A tabela a seguir mostra as permutações com suporte de verbos e destinos:

Verbo Caminho Nome do Arquivo PackageFamilyName PackageFullName Arquivo: http(s): ms-uup: PackageSet
IsReady X X SO/WAS WAS X X WAS WAS
IsReadyOrNewerAvailable X X SO/WAS WAS X X WAS WAS
EnsureReady X X X X X X WAS WAS
Adicionar SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Stage SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Register WAS SO/WAS SO/WAS SO/WAS SO/WAS X SO/WAS WAS
Remover X X WAS SO/WAS X X SO/WAS WAS
Conserto X X WAS WAS X X WAS WAS
Reiniciar X X WAS WAS X X WAS WAS
IsProvisioned X X SO/WAS X X X WAS WAS
Provisionamento X X SO/WAS X X X WAS WAS
Desprovisionar X X SO/WAS X X X WAS WAS

Legenda:

  • SO = Com suporte por APIs do Windows (SO) na classe Windows.Management.Deployment.PackageManager .
  • WAS = Compatível com APIs do SDK do Aplicativo windows na classe Microsoft.Windows.Management.Deployment.PackageDeploymentManager .
  • X = Sem suporte

Usability

As APIs de gerenciamento de pacotes no SDK de Aplicativos do Windows (Microsoft.Windows.Management.Deployment) fornecem vários aprimoramentos de qualidade de vida em relação às APIs de gerenciamento de pacotes no Windows.Management.Deployment (por exemplo, PackageManager). Elas incluem:

  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_INSTALL_PACKAGE_DOWNGRADE, se uma versão mais recente do pacote já estiver instalada. Mas PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque trata a solicitação como "instalar este pacote ou uma versão mais alta", da maneira como as dependências e outras referências de pacote são tratadas rotineiramente.
  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_PACKAGE_ALREADY_EXISTS, se essa versão exata do pacote já estiver instalada. PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque o pacote solicitado está instalado.
  • Muitas operações packagemanager aceitam um pacote de destino como um arquivo, mas exigem que ele seja expresso como um Uri. PackageDeploymentManager fornece substituições que também o aceitam como uma cadeia de caracteres.
  • PackageManager.RemovePackageByFullNameAsync falhará se o pacote especificado não for encontrado. PackageDeploymentManager é bem-sucedido porque o pacote solicitado não está presente no final da operação.
    • Isso ocorre devido ao princípio de implantação principal que não importa o estado anterior do sistema; apenas que o estado final desejado é alcançado.
  • Os métodos PackageManager aceitam permutações inconsistentes (e muitas vezes inconvenientes) de expressar um pacote de destino. Por exemplo, PackageManager dá suporte à remoção de um pacote por nome completo do pacote, mas não pelo nome da família de pacotes. PackageDeploymentManager fornece uma API mais rica aceitando identificadores adicionais.

Suporte da plataforma

Essas APIs estão disponíveis apenas no Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Um subconjunto de funcionalidade está disponível em versões mais recentes. Por exemplo, AddPackageOptions.ExpectedDigests requer o Windows 11, versão 22H2 (10.0; Build 22621) ou posterior. Qualquer funcionalidade que exija uma versão do Windows mais recente que o Windows 10, versão 2004 (10.0; A linha de base do Build 19041) tem recursos para detectar em runtime se a plataforma atual dá suporte ao recurso, por exemplo:

var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
    options.LimitToExistingPackages = true;
}
PackageValidationHandler

Esse namespace fornece APIs de gerenciamento de pacote MSIX comparáveis às do Windows. Management.Deployment namespace, mas com funcionalidade adicional, experiência aprimorada do desenvolvedor e otimizações de desempenho.

Essas APIs do WinRT (Windows Runtime) permitem implantar e gerenciar software como pacotes MSIX. Você pode instalar, atualizar, desinstalar, enumerar e gerenciar pacotes. Aqui estão os cenários nos quais as APIs se concentram:

  • Preparar um pacote
  • Registrar um pacote
  • Adicionar/atualizar um pacote
  • Remover um pacote
  • Reparar um pacote
  • Redefinir um pacote
  • Provisionar um pacote
  • Desprovisionar um pacote

A funcionalidade adicional inclui:

  • IsReadyXxx. Determine se um pacote está pronto para uso.
  • EnsureReady. Determine se um pacote está pronto para uso e, caso contrário, faça isso.
  • IsPackageRegistrationPending. Determine se há uma atualização aguardando o registro.
  • Conjuntos de Pacotes. Operações em lote.
  • PackageRuntimeManager. Operações em lote para uso em runtime por meio de dependências dinâmicas.
  • Usabilidade. Aprimoramentos de qualidade de vida.

Estrutura de API

Os métodos para conduzir a atividade de implantação normalmente seguem o padrão:

<verb>Package[Set][By<Type>][Suffix]Async(target, options)

Há suporte para os seguintes verbos:

  • É... Ready[OrNewerAvailable]
  • Garantir... Pronto
  • Adicionar
  • Stage
  • Register
  • Remover
  • Conserto
  • Reiniciar
  • Provisionamento
  • Desprovisionar

Esses métodos aceitam seus pacotes de destino como seu primeiro parâmetro. Esse parâmetro pode ser vários tipos de informações, incluindo:

  • Nome do Arquivo
  • Caminho
  • PackageFamilyName
  • PackageFullName
  • Uri

! [OBSERVAÇÃO] Métodos com um destino de um URI são nomeados... ByUri......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFamilyName são nomeados... ByPackageFamilyName......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFullName são nomeados... ByPackageFullName......

! [OBSERVAÇÃO] Métodos sem... Por<tipo>... qualificador aceita uma cadeia de caracteres que pode conter um ou mais tipos de identificadores. Eles podem variar para verbos diferentes. Consulte a documentação da API para os tipos de destino específicos compatíveis com cada método.

Esses métodos aceitam opções como um tipo de correspondência <verb>Package[Set]Options ; por exemplo, AddPackageAsync(string packageUri, AddPackageOptions options).

A tabela a seguir mostra as permutações com suporte de verbos e destinos:

Verbo Caminho Nome do Arquivo PackageFamilyName PackageFullName Arquivo: http(s): ms-uup: PackageSet
IsReady X X SO/WAS WAS X X WAS WAS
IsReadyOrNewerAvailable X X SO/WAS WAS X X WAS WAS
EnsureReady X X X X X X WAS WAS
Adicionar SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Stage SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Register WAS SO/WAS SO/WAS SO/WAS SO/WAS X SO/WAS WAS
Remover X X WAS SO/WAS X X SO/WAS WAS
Conserto X X WAS WAS X X WAS WAS
Reiniciar X X WAS WAS X X WAS WAS
IsProvisioned X X SO/WAS X X X WAS WAS
Provisionamento X X SO/WAS X X X WAS WAS
Desprovisionar X X SO/WAS X X X WAS WAS

Legenda:

  • SO = Com suporte por APIs do Windows (SO) na classe Windows.Management.Deployment.PackageManager .
  • WAS = Compatível com APIs do SDK do Aplicativo windows na classe Microsoft.Windows.Management.Deployment.PackageDeploymentManager .
  • X = Sem suporte

Usability

As APIs de gerenciamento de pacotes no SDK de Aplicativos do Windows (Microsoft.Windows.Management.Deployment) fornecem vários aprimoramentos de qualidade de vida em relação às APIs de gerenciamento de pacotes no Windows.Management.Deployment (por exemplo, PackageManager). Elas incluem:

  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_INSTALL_PACKAGE_DOWNGRADE, se uma versão mais recente do pacote já estiver instalada. Mas PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque trata a solicitação como "instalar este pacote ou uma versão mais alta", da maneira como as dependências e outras referências de pacote são tratadas rotineiramente.
  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_PACKAGE_ALREADY_EXISTS, se essa versão exata do pacote já estiver instalada. PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque o pacote solicitado está instalado.
  • Muitas operações packagemanager aceitam um pacote de destino como um arquivo, mas exigem que ele seja expresso como um Uri. PackageDeploymentManager fornece substituições que também o aceitam como uma cadeia de caracteres.
  • PackageManager.RemovePackageByFullNameAsync falhará se o pacote especificado não for encontrado. PackageDeploymentManager é bem-sucedido porque o pacote solicitado não está presente no final da operação.
    • Isso ocorre devido ao princípio de implantação principal que não importa o estado anterior do sistema; apenas que o estado final desejado é alcançado.
  • Os métodos PackageManager aceitam permutações inconsistentes (e muitas vezes inconvenientes) de expressar um pacote de destino. Por exemplo, PackageManager dá suporte à remoção de um pacote por nome completo do pacote, mas não pelo nome da família de pacotes. PackageDeploymentManager fornece uma API mais rica aceitando identificadores adicionais.

Suporte da plataforma

Essas APIs estão disponíveis apenas no Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Um subconjunto de funcionalidade está disponível em versões mais recentes. Por exemplo, AddPackageOptions.ExpectedDigests requer o Windows 11, versão 22H2 (10.0; Build 22621) ou posterior. Qualquer funcionalidade que exija uma versão do Windows mais recente que o Windows 10, versão 2004 (10.0; A linha de base do Build 19041) tem recursos para detectar em runtime se a plataforma atual dá suporte ao recurso, por exemplo:

var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
    options.LimitToExistingPackages = true;
}
PackageVolume

Representa um volume de armazenamento de pacotes.

ProvisionPackageOptions

Esse namespace fornece APIs de gerenciamento de pacote MSIX comparáveis às do Windows. Management.Deployment namespace, mas com funcionalidade adicional, experiência aprimorada do desenvolvedor e otimizações de desempenho.

Essas APIs do WinRT (Windows Runtime) permitem implantar e gerenciar software como pacotes MSIX. Você pode instalar, atualizar, desinstalar, enumerar e gerenciar pacotes. Aqui estão os cenários nos quais as APIs se concentram:

  • Preparar um pacote
  • Registrar um pacote
  • Adicionar/atualizar um pacote
  • Remover um pacote
  • Reparar um pacote
  • Redefinir um pacote
  • Provisionar um pacote
  • Desprovisionar um pacote

A funcionalidade adicional inclui:

  • IsReadyXxx. Determine se um pacote está pronto para uso.
  • EnsureReady. Determine se um pacote está pronto para uso e, caso contrário, faça isso.
  • IsPackageRegistrationPending. Determine se há uma atualização aguardando o registro.
  • Conjuntos de Pacotes. Operações em lote.
  • PackageRuntimeManager. Operações em lote para uso em runtime por meio de dependências dinâmicas.
  • Usabilidade. Aprimoramentos de qualidade de vida.

Estrutura de API

Os métodos para conduzir a atividade de implantação normalmente seguem o padrão:

<verb>Package[Set][By<Type>][Suffix]Async(target, options)

Há suporte para os seguintes verbos:

  • É... Ready[OrNewerAvailable]
  • Garantir... Pronto
  • Adicionar
  • Stage
  • Register
  • Remover
  • Conserto
  • Reiniciar
  • Provisionamento
  • Desprovisionar

Esses métodos aceitam seus pacotes de destino como seu primeiro parâmetro. Esse parâmetro pode ser vários tipos de informações, incluindo:

  • Nome do Arquivo
  • Caminho
  • PackageFamilyName
  • PackageFullName
  • Uri

! [OBSERVAÇÃO] Métodos com um destino de um URI são nomeados... ByUri......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFamilyName são nomeados... ByPackageFamilyName......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFullName são nomeados... ByPackageFullName......

! [OBSERVAÇÃO] Métodos sem... Por<tipo>... qualificador aceita uma cadeia de caracteres que pode conter um ou mais tipos de identificadores. Eles podem variar para verbos diferentes. Consulte a documentação da API para os tipos de destino específicos compatíveis com cada método.

Esses métodos aceitam opções como um tipo de correspondência <verb>Package[Set]Options ; por exemplo, AddPackageAsync(string packageUri, AddPackageOptions options).

A tabela a seguir mostra as permutações com suporte de verbos e destinos:

Verbo Caminho Nome do Arquivo PackageFamilyName PackageFullName Arquivo: http(s): ms-uup: PackageSet
IsReady X X SO/WAS WAS X X WAS WAS
IsReadyOrNewerAvailable X X SO/WAS WAS X X WAS WAS
EnsureReady X X X X X X WAS WAS
Adicionar SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Stage SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Register WAS SO/WAS SO/WAS SO/WAS SO/WAS X SO/WAS WAS
Remover X X WAS SO/WAS X X SO/WAS WAS
Conserto X X WAS WAS X X WAS WAS
Reiniciar X X WAS WAS X X WAS WAS
IsProvisioned X X SO/WAS X X X WAS WAS
Provisionamento X X SO/WAS X X X WAS WAS
Desprovisionar X X SO/WAS X X X WAS WAS

Legenda:

  • SO = Com suporte por APIs do Windows (SO) na classe Windows.Management.Deployment.PackageManager .
  • WAS = Compatível com APIs do SDK do Aplicativo windows na classe Microsoft.Windows.Management.Deployment.PackageDeploymentManager .
  • X = Sem suporte

Usability

As APIs de gerenciamento de pacotes no SDK de Aplicativos do Windows (Microsoft.Windows.Management.Deployment) fornecem vários aprimoramentos de qualidade de vida em relação às APIs de gerenciamento de pacotes no Windows.Management.Deployment (por exemplo, PackageManager). Elas incluem:

  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_INSTALL_PACKAGE_DOWNGRADE, se uma versão mais recente do pacote já estiver instalada. Mas PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque trata a solicitação como "instalar este pacote ou uma versão mais alta", da maneira como as dependências e outras referências de pacote são tratadas rotineiramente.
  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_PACKAGE_ALREADY_EXISTS, se essa versão exata do pacote já estiver instalada. PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque o pacote solicitado está instalado.
  • Muitas operações packagemanager aceitam um pacote de destino como um arquivo, mas exigem que ele seja expresso como um Uri. PackageDeploymentManager fornece substituições que também o aceitam como uma cadeia de caracteres.
  • PackageManager.RemovePackageByFullNameAsync falhará se o pacote especificado não for encontrado. PackageDeploymentManager é bem-sucedido porque o pacote solicitado não está presente no final da operação.
    • Isso ocorre devido ao princípio de implantação principal que não importa o estado anterior do sistema; apenas que o estado final desejado é alcançado.
  • Os métodos PackageManager aceitam permutações inconsistentes (e muitas vezes inconvenientes) de expressar um pacote de destino. Por exemplo, PackageManager dá suporte à remoção de um pacote por nome completo do pacote, mas não pelo nome da família de pacotes. PackageDeploymentManager fornece uma API mais rica aceitando identificadores adicionais.

Suporte da plataforma

Essas APIs estão disponíveis apenas no Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Um subconjunto de funcionalidade está disponível em versões mais recentes. Por exemplo, AddPackageOptions.ExpectedDigests requer o Windows 11, versão 22H2 (10.0; Build 22621) ou posterior. Qualquer funcionalidade que exija uma versão do Windows mais recente que o Windows 10, versão 2004 (10.0; A linha de base do Build 19041) tem recursos para detectar em runtime se a plataforma atual dá suporte ao recurso, por exemplo:

var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
    options.LimitToExistingPackages = true;
}
RegisterPackageOptions

Especifica as opções de implantação que você pode configurar ao usar o método RegisterPackageByUriAsync para registrar um Pacote.

RemovePackageOptions

Esse namespace fornece APIs de gerenciamento de pacote MSIX comparáveis às do Windows. Management.Deployment namespace, mas com funcionalidade adicional, experiência aprimorada do desenvolvedor e otimizações de desempenho.

Essas APIs do WinRT (Windows Runtime) permitem implantar e gerenciar software como pacotes MSIX. Você pode instalar, atualizar, desinstalar, enumerar e gerenciar pacotes. Aqui estão os cenários nos quais as APIs se concentram:

  • Preparar um pacote
  • Registrar um pacote
  • Adicionar/atualizar um pacote
  • Remover um pacote
  • Reparar um pacote
  • Redefinir um pacote
  • Provisionar um pacote
  • Desprovisionar um pacote

A funcionalidade adicional inclui:

  • IsReadyXxx. Determine se um pacote está pronto para uso.
  • EnsureReady. Determine se um pacote está pronto para uso e, caso contrário, faça isso.
  • IsPackageRegistrationPending. Determine se há uma atualização aguardando o registro.
  • Conjuntos de Pacotes. Operações em lote.
  • PackageRuntimeManager. Operações em lote para uso em runtime por meio de dependências dinâmicas.
  • Usabilidade. Aprimoramentos de qualidade de vida.

Estrutura de API

Os métodos para conduzir a atividade de implantação normalmente seguem o padrão:

<verb>Package[Set][By<Type>][Suffix]Async(target, options)

Há suporte para os seguintes verbos:

  • É... Ready[OrNewerAvailable]
  • Garantir... Pronto
  • Adicionar
  • Stage
  • Register
  • Remover
  • Conserto
  • Reiniciar
  • Provisionamento
  • Desprovisionar

Esses métodos aceitam seus pacotes de destino como seu primeiro parâmetro. Esse parâmetro pode ser vários tipos de informações, incluindo:

  • Nome do Arquivo
  • Caminho
  • PackageFamilyName
  • PackageFullName
  • Uri

! [OBSERVAÇÃO] Métodos com um destino de um URI são nomeados... ByUri......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFamilyName são nomeados... ByPackageFamilyName......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFullName são nomeados... ByPackageFullName......

! [OBSERVAÇÃO] Métodos sem... Por<tipo>... qualificador aceita uma cadeia de caracteres que pode conter um ou mais tipos de identificadores. Eles podem variar para verbos diferentes. Consulte a documentação da API para os tipos de destino específicos compatíveis com cada método.

Esses métodos aceitam opções como um tipo de correspondência <verb>Package[Set]Options ; por exemplo, AddPackageAsync(string packageUri, AddPackageOptions options).

A tabela a seguir mostra as permutações com suporte de verbos e destinos:

Verbo Caminho Nome do Arquivo PackageFamilyName PackageFullName Arquivo: http(s): ms-uup: PackageSet
IsReady X X SO/WAS WAS X X WAS WAS
IsReadyOrNewerAvailable X X SO/WAS WAS X X WAS WAS
EnsureReady X X X X X X WAS WAS
Adicionar SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Stage SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Register WAS SO/WAS SO/WAS SO/WAS SO/WAS X SO/WAS WAS
Remover X X WAS SO/WAS X X SO/WAS WAS
Conserto X X WAS WAS X X WAS WAS
Reiniciar X X WAS WAS X X WAS WAS
IsProvisioned X X SO/WAS X X X WAS WAS
Provisionamento X X SO/WAS X X X WAS WAS
Desprovisionar X X SO/WAS X X X WAS WAS

Legenda:

  • SO = Com suporte por APIs do Windows (SO) na classe Windows.Management.Deployment.PackageManager .
  • WAS = Compatível com APIs do SDK do Aplicativo windows na classe Microsoft.Windows.Management.Deployment.PackageDeploymentManager .
  • X = Sem suporte

Usability

As APIs de gerenciamento de pacotes no SDK de Aplicativos do Windows (Microsoft.Windows.Management.Deployment) fornecem vários aprimoramentos de qualidade de vida em relação às APIs de gerenciamento de pacotes no Windows.Management.Deployment (por exemplo, PackageManager). Elas incluem:

  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_INSTALL_PACKAGE_DOWNGRADE, se uma versão mais recente do pacote já estiver instalada. Mas PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque trata a solicitação como "instalar este pacote ou uma versão mais alta", da maneira como as dependências e outras referências de pacote são tratadas rotineiramente.
  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_PACKAGE_ALREADY_EXISTS, se essa versão exata do pacote já estiver instalada. PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque o pacote solicitado está instalado.
  • Muitas operações packagemanager aceitam um pacote de destino como um arquivo, mas exigem que ele seja expresso como um Uri. PackageDeploymentManager fornece substituições que também o aceitam como uma cadeia de caracteres.
  • PackageManager.RemovePackageByFullNameAsync falhará se o pacote especificado não for encontrado. PackageDeploymentManager é bem-sucedido porque o pacote solicitado não está presente no final da operação.
    • Isso ocorre devido ao princípio de implantação principal que não importa o estado anterior do sistema; apenas que o estado final desejado é alcançado.
  • Os métodos PackageManager aceitam permutações inconsistentes (e muitas vezes inconvenientes) de expressar um pacote de destino. Por exemplo, PackageManager dá suporte à remoção de um pacote por nome completo do pacote, mas não pelo nome da família de pacotes. PackageDeploymentManager fornece uma API mais rica aceitando identificadores adicionais.

Suporte da plataforma

Essas APIs estão disponíveis apenas no Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Um subconjunto de funcionalidade está disponível em versões mais recentes. Por exemplo, AddPackageOptions.ExpectedDigests requer o Windows 11, versão 22H2 (10.0; Build 22621) ou posterior. Qualquer funcionalidade que exija uma versão do Windows mais recente que o Windows 10, versão 2004 (10.0; A linha de base do Build 19041) tem recursos para detectar em runtime se a plataforma atual dá suporte ao recurso, por exemplo:

var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
    options.LimitToExistingPackages = true;
}
StagePackageOptions

Especifica as opções de implantação que você pode configurar ao usar o método StagePackageByUriAsync para preparar um pacote.

Estruturas

Nome Description
PackageDeploymentProgress

Contém informações de progresso para a solicitação de implantação.

Interfaces

Nome Description
IPackageValidator

Esse namespace fornece APIs de gerenciamento de pacote MSIX comparáveis às do Windows. Management.Deployment namespace, mas com funcionalidade adicional, experiência aprimorada do desenvolvedor e otimizações de desempenho.

Essas APIs do WinRT (Windows Runtime) permitem implantar e gerenciar software como pacotes MSIX. Você pode instalar, atualizar, desinstalar, enumerar e gerenciar pacotes. Aqui estão os cenários nos quais as APIs se concentram:

  • Preparar um pacote
  • Registrar um pacote
  • Adicionar/atualizar um pacote
  • Remover um pacote
  • Reparar um pacote
  • Redefinir um pacote
  • Provisionar um pacote
  • Desprovisionar um pacote

A funcionalidade adicional inclui:

  • IsReadyXxx. Determine se um pacote está pronto para uso.
  • EnsureReady. Determine se um pacote está pronto para uso e, caso contrário, faça isso.
  • IsPackageRegistrationPending. Determine se há uma atualização aguardando o registro.
  • Conjuntos de Pacotes. Operações em lote.
  • PackageRuntimeManager. Operações em lote para uso em runtime por meio de dependências dinâmicas.
  • Usabilidade. Aprimoramentos de qualidade de vida.

Estrutura de API

Os métodos para conduzir a atividade de implantação normalmente seguem o padrão:

<verb>Package[Set][By<Type>][Suffix]Async(target, options)

Há suporte para os seguintes verbos:

  • É... Ready[OrNewerAvailable]
  • Garantir... Pronto
  • Adicionar
  • Stage
  • Register
  • Remover
  • Conserto
  • Reiniciar
  • Provisionamento
  • Desprovisionar

Esses métodos aceitam seus pacotes de destino como seu primeiro parâmetro. Esse parâmetro pode ser vários tipos de informações, incluindo:

  • Nome do Arquivo
  • Caminho
  • PackageFamilyName
  • PackageFullName
  • Uri

! [OBSERVAÇÃO] Métodos com um destino de um URI são nomeados... ByUri......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFamilyName são nomeados... ByPackageFamilyName......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFullName são nomeados... ByPackageFullName......

! [OBSERVAÇÃO] Métodos sem... Por<tipo>... qualificador aceita uma cadeia de caracteres que pode conter um ou mais tipos de identificadores. Eles podem variar para verbos diferentes. Consulte a documentação da API para os tipos de destino específicos compatíveis com cada método.

Esses métodos aceitam opções como um tipo de correspondência <verb>Package[Set]Options ; por exemplo, AddPackageAsync(string packageUri, AddPackageOptions options).

A tabela a seguir mostra as permutações com suporte de verbos e destinos:

Verbo Caminho Nome do Arquivo PackageFamilyName PackageFullName Arquivo: http(s): ms-uup: PackageSet
IsReady X X SO/WAS WAS X X WAS WAS
IsReadyOrNewerAvailable X X SO/WAS WAS X X WAS WAS
EnsureReady X X X X X X WAS WAS
Adicionar SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Stage SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Register WAS SO/WAS SO/WAS SO/WAS SO/WAS X SO/WAS WAS
Remover X X WAS SO/WAS X X SO/WAS WAS
Conserto X X WAS WAS X X WAS WAS
Reiniciar X X WAS WAS X X WAS WAS
IsProvisioned X X SO/WAS X X X WAS WAS
Provisionamento X X SO/WAS X X X WAS WAS
Desprovisionar X X SO/WAS X X X WAS WAS

Legenda:

  • SO = Com suporte por APIs do Windows (SO) na classe Windows.Management.Deployment.PackageManager .
  • WAS = Compatível com APIs do SDK do Aplicativo windows na classe Microsoft.Windows.Management.Deployment.PackageDeploymentManager .
  • X = Sem suporte

Usability

As APIs de gerenciamento de pacotes no SDK de Aplicativos do Windows (Microsoft.Windows.Management.Deployment) fornecem vários aprimoramentos de qualidade de vida em relação às APIs de gerenciamento de pacotes no Windows.Management.Deployment (por exemplo, PackageManager). Elas incluem:

  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_INSTALL_PACKAGE_DOWNGRADE, se uma versão mais recente do pacote já estiver instalada. Mas PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque trata a solicitação como "instalar este pacote ou uma versão mais alta", da maneira como as dependências e outras referências de pacote são tratadas rotineiramente.
  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_PACKAGE_ALREADY_EXISTS, se essa versão exata do pacote já estiver instalada. PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque o pacote solicitado está instalado.
  • Muitas operações packagemanager aceitam um pacote de destino como um arquivo, mas exigem que ele seja expresso como um Uri. PackageDeploymentManager fornece substituições que também o aceitam como uma cadeia de caracteres.
  • PackageManager.RemovePackageByFullNameAsync falhará se o pacote especificado não for encontrado. PackageDeploymentManager é bem-sucedido porque o pacote solicitado não está presente no final da operação.
    • Isso ocorre devido ao princípio de implantação principal que não importa o estado anterior do sistema; apenas que o estado final desejado é alcançado.
  • Os métodos PackageManager aceitam permutações inconsistentes (e muitas vezes inconvenientes) de expressar um pacote de destino. Por exemplo, PackageManager dá suporte à remoção de um pacote por nome completo do pacote, mas não pelo nome da família de pacotes. PackageDeploymentManager fornece uma API mais rica aceitando identificadores adicionais.

Suporte da plataforma

Essas APIs estão disponíveis apenas no Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Um subconjunto de funcionalidade está disponível em versões mais recentes. Por exemplo, AddPackageOptions.ExpectedDigests requer o Windows 11, versão 22H2 (10.0; Build 22621) ou posterior. Qualquer funcionalidade que exija uma versão do Windows mais recente que o Windows 10, versão 2004 (10.0; A linha de base do Build 19041) tem recursos para detectar em runtime se a plataforma atual dá suporte ao recurso, por exemplo:

var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
    options.LimitToExistingPackages = true;
}

Enumerações

Nome Description
PackageDeploymentFeature

Esse namespace fornece APIs de gerenciamento de pacote MSIX comparáveis às do Windows. Management.Deployment namespace, mas com funcionalidade adicional, experiência aprimorada do desenvolvedor e otimizações de desempenho.

Essas APIs do WinRT (Windows Runtime) permitem implantar e gerenciar software como pacotes MSIX. Você pode instalar, atualizar, desinstalar, enumerar e gerenciar pacotes. Aqui estão os cenários nos quais as APIs se concentram:

  • Preparar um pacote
  • Registrar um pacote
  • Adicionar/atualizar um pacote
  • Remover um pacote
  • Reparar um pacote
  • Redefinir um pacote
  • Provisionar um pacote
  • Desprovisionar um pacote

A funcionalidade adicional inclui:

  • IsReadyXxx. Determine se um pacote está pronto para uso.
  • EnsureReady. Determine se um pacote está pronto para uso e, caso contrário, faça isso.
  • IsPackageRegistrationPending. Determine se há uma atualização aguardando o registro.
  • Conjuntos de Pacotes. Operações em lote.
  • PackageRuntimeManager. Operações em lote para uso em runtime por meio de dependências dinâmicas.
  • Usabilidade. Aprimoramentos de qualidade de vida.

Estrutura de API

Os métodos para conduzir a atividade de implantação normalmente seguem o padrão:

<verb>Package[Set][By<Type>][Suffix]Async(target, options)

Há suporte para os seguintes verbos:

  • É... Ready[OrNewerAvailable]
  • Garantir... Pronto
  • Adicionar
  • Stage
  • Register
  • Remover
  • Conserto
  • Reiniciar
  • Provisionamento
  • Desprovisionar

Esses métodos aceitam seus pacotes de destino como seu primeiro parâmetro. Esse parâmetro pode ser vários tipos de informações, incluindo:

  • Nome do Arquivo
  • Caminho
  • PackageFamilyName
  • PackageFullName
  • Uri

! [OBSERVAÇÃO] Métodos com um destino de um URI são nomeados... ByUri......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFamilyName são nomeados... ByPackageFamilyName......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFullName são nomeados... ByPackageFullName......

! [OBSERVAÇÃO] Métodos sem... Por<tipo>... qualificador aceita uma cadeia de caracteres que pode conter um ou mais tipos de identificadores. Eles podem variar para verbos diferentes. Consulte a documentação da API para os tipos de destino específicos compatíveis com cada método.

Esses métodos aceitam opções como um tipo de correspondência <verb>Package[Set]Options ; por exemplo, AddPackageAsync(string packageUri, AddPackageOptions options).

A tabela a seguir mostra as permutações com suporte de verbos e destinos:

Verbo Caminho Nome do Arquivo PackageFamilyName PackageFullName Arquivo: http(s): ms-uup: PackageSet
IsReady X X SO/WAS WAS X X WAS WAS
IsReadyOrNewerAvailable X X SO/WAS WAS X X WAS WAS
EnsureReady X X X X X X WAS WAS
Adicionar SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Stage SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Register WAS SO/WAS SO/WAS SO/WAS SO/WAS X SO/WAS WAS
Remover X X WAS SO/WAS X X SO/WAS WAS
Conserto X X WAS WAS X X WAS WAS
Reiniciar X X WAS WAS X X WAS WAS
IsProvisioned X X SO/WAS X X X WAS WAS
Provisionamento X X SO/WAS X X X WAS WAS
Desprovisionar X X SO/WAS X X X WAS WAS

Legenda:

  • SO = Com suporte por APIs do Windows (SO) na classe Windows.Management.Deployment.PackageManager .
  • WAS = Compatível com APIs do SDK do Aplicativo windows na classe Microsoft.Windows.Management.Deployment.PackageDeploymentManager .
  • X = Sem suporte

Usability

As APIs de gerenciamento de pacotes no SDK de Aplicativos do Windows (Microsoft.Windows.Management.Deployment) fornecem vários aprimoramentos de qualidade de vida em relação às APIs de gerenciamento de pacotes no Windows.Management.Deployment (por exemplo, PackageManager). Elas incluem:

  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_INSTALL_PACKAGE_DOWNGRADE, se uma versão mais recente do pacote já estiver instalada. Mas PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque trata a solicitação como "instalar este pacote ou uma versão mais alta", da maneira como as dependências e outras referências de pacote são tratadas rotineiramente.
  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_PACKAGE_ALREADY_EXISTS, se essa versão exata do pacote já estiver instalada. PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque o pacote solicitado está instalado.
  • Muitas operações packagemanager aceitam um pacote de destino como um arquivo, mas exigem que ele seja expresso como um Uri. PackageDeploymentManager fornece substituições que também o aceitam como uma cadeia de caracteres.
  • PackageManager.RemovePackageByFullNameAsync falhará se o pacote especificado não for encontrado. PackageDeploymentManager é bem-sucedido porque o pacote solicitado não está presente no final da operação.
    • Isso ocorre devido ao princípio de implantação principal que não importa o estado anterior do sistema; apenas que o estado final desejado é alcançado.
  • Os métodos PackageManager aceitam permutações inconsistentes (e muitas vezes inconvenientes) de expressar um pacote de destino. Por exemplo, PackageManager dá suporte à remoção de um pacote por nome completo do pacote, mas não pelo nome da família de pacotes. PackageDeploymentManager fornece uma API mais rica aceitando identificadores adicionais.

Suporte da plataforma

Essas APIs estão disponíveis apenas no Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Um subconjunto de funcionalidade está disponível em versões mais recentes. Por exemplo, AddPackageOptions.ExpectedDigests requer o Windows 11, versão 22H2 (10.0; Build 22621) ou posterior. Qualquer funcionalidade que exija uma versão do Windows mais recente que o Windows 10, versão 2004 (10.0; A linha de base do Build 19041) tem recursos para detectar em runtime se a plataforma atual dá suporte ao recurso, por exemplo:

var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
    options.LimitToExistingPackages = true;
}
PackageDeploymentProgressStatus

Define constantes que especificam o status de progresso da solicitação de implantação.

PackageDeploymentStatus

O status da solicitação de implantação.

PackageReadyOrNewerAvailableStatus

Define o comportamento do stub para um pacote de aplicativo que está sendo adicionado ou preparado.

PackageVolumeFeature

Esse namespace fornece APIs de gerenciamento de pacote MSIX comparáveis às do Windows. Management.Deployment namespace, mas com funcionalidade adicional, experiência aprimorada do desenvolvedor e otimizações de desempenho.

Essas APIs do WinRT (Windows Runtime) permitem implantar e gerenciar software como pacotes MSIX. Você pode instalar, atualizar, desinstalar, enumerar e gerenciar pacotes. Aqui estão os cenários nos quais as APIs se concentram:

  • Preparar um pacote
  • Registrar um pacote
  • Adicionar/atualizar um pacote
  • Remover um pacote
  • Reparar um pacote
  • Redefinir um pacote
  • Provisionar um pacote
  • Desprovisionar um pacote

A funcionalidade adicional inclui:

  • IsReadyXxx. Determine se um pacote está pronto para uso.
  • EnsureReady. Determine se um pacote está pronto para uso e, caso contrário, faça isso.
  • IsPackageRegistrationPending. Determine se há uma atualização aguardando o registro.
  • Conjuntos de Pacotes. Operações em lote.
  • PackageRuntimeManager. Operações em lote para uso em runtime por meio de dependências dinâmicas.
  • Usabilidade. Aprimoramentos de qualidade de vida.

Estrutura de API

Os métodos para conduzir a atividade de implantação normalmente seguem o padrão:

<verb>Package[Set][By<Type>][Suffix]Async(target, options)

Há suporte para os seguintes verbos:

  • É... Ready[OrNewerAvailable]
  • Garantir... Pronto
  • Adicionar
  • Stage
  • Register
  • Remover
  • Conserto
  • Reiniciar
  • Provisionamento
  • Desprovisionar

Esses métodos aceitam seus pacotes de destino como seu primeiro parâmetro. Esse parâmetro pode ser vários tipos de informações, incluindo:

  • Nome do Arquivo
  • Caminho
  • PackageFamilyName
  • PackageFullName
  • Uri

! [OBSERVAÇÃO] Métodos com um destino de um URI são nomeados... ByUri......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFamilyName são nomeados... ByPackageFamilyName......

! [OBSERVAÇÃO] Métodos com um destino de um PackageFullName são nomeados... ByPackageFullName......

! [OBSERVAÇÃO] Métodos sem... Por<tipo>... qualificador aceita uma cadeia de caracteres que pode conter um ou mais tipos de identificadores. Eles podem variar para verbos diferentes. Consulte a documentação da API para os tipos de destino específicos compatíveis com cada método.

Esses métodos aceitam opções como um tipo de correspondência <verb>Package[Set]Options ; por exemplo, AddPackageAsync(string packageUri, AddPackageOptions options).

A tabela a seguir mostra as permutações com suporte de verbos e destinos:

Verbo Caminho Nome do Arquivo PackageFamilyName PackageFullName Arquivo: http(s): ms-uup: PackageSet
IsReady X X SO/WAS WAS X X WAS WAS
IsReadyOrNewerAvailable X X SO/WAS WAS X X WAS WAS
EnsureReady X X X X X X WAS WAS
Adicionar SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Stage SO/WAS X X X SO/WAS SO/WAS SO/WAS WAS
Register WAS SO/WAS SO/WAS SO/WAS SO/WAS X SO/WAS WAS
Remover X X WAS SO/WAS X X SO/WAS WAS
Conserto X X WAS WAS X X WAS WAS
Reiniciar X X WAS WAS X X WAS WAS
IsProvisioned X X SO/WAS X X X WAS WAS
Provisionamento X X SO/WAS X X X WAS WAS
Desprovisionar X X SO/WAS X X X WAS WAS

Legenda:

  • SO = Com suporte por APIs do Windows (SO) na classe Windows.Management.Deployment.PackageManager .
  • WAS = Compatível com APIs do SDK do Aplicativo windows na classe Microsoft.Windows.Management.Deployment.PackageDeploymentManager .
  • X = Sem suporte

Usability

As APIs de gerenciamento de pacotes no SDK de Aplicativos do Windows (Microsoft.Windows.Management.Deployment) fornecem vários aprimoramentos de qualidade de vida em relação às APIs de gerenciamento de pacotes no Windows.Management.Deployment (por exemplo, PackageManager). Elas incluem:

  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_INSTALL_PACKAGE_DOWNGRADE, se uma versão mais recente do pacote já estiver instalada. Mas PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque trata a solicitação como "instalar este pacote ou uma versão mais alta", da maneira como as dependências e outras referências de pacote são tratadas rotineiramente.
  • PackageManager.AddPackageByUriAsync falhará, retornando ERROR_PACKAGE_ALREADY_EXISTS, se essa versão exata do pacote já estiver instalada. PackageDeploymentManager.AddPackageByUriAsync é bem-sucedido porque o pacote solicitado está instalado.
  • Muitas operações packagemanager aceitam um pacote de destino como um arquivo, mas exigem que ele seja expresso como um Uri. PackageDeploymentManager fornece substituições que também o aceitam como uma cadeia de caracteres.
  • PackageManager.RemovePackageByFullNameAsync falhará se o pacote especificado não for encontrado. PackageDeploymentManager é bem-sucedido porque o pacote solicitado não está presente no final da operação.
    • Isso ocorre devido ao princípio de implantação principal que não importa o estado anterior do sistema; apenas que o estado final desejado é alcançado.
  • Os métodos PackageManager aceitam permutações inconsistentes (e muitas vezes inconvenientes) de expressar um pacote de destino. Por exemplo, PackageManager dá suporte à remoção de um pacote por nome completo do pacote, mas não pelo nome da família de pacotes. PackageDeploymentManager fornece uma API mais rica aceitando identificadores adicionais.

Suporte da plataforma

Essas APIs estão disponíveis apenas no Windows 10, versão 2004 (10.0; Build 19041) e posterior.

Um subconjunto de funcionalidade está disponível em versões mais recentes. Por exemplo, AddPackageOptions.ExpectedDigests requer o Windows 11, versão 22H2 (10.0; Build 22621) ou posterior. Qualquer funcionalidade que exija uma versão do Windows mais recente que o Windows 10, versão 2004 (10.0; A linha de base do Build 19041) tem recursos para detectar em runtime se a plataforma atual dá suporte ao recurso, por exemplo:

var options = new AddPackageOptions();
if (options.IsLimitToExistingPackagesSupported)
{
    options.LimitToExistingPackages = true;
}
StubPackageOption

Define constantes que especificam o comportamento do stub para um pacote de aplicativo que está sendo adicionado ou preparado.