Partilhar via


Distribuir seu aplicativo e o Runtime do WebView2

Ao lançar um aplicativo que usa o Microsoft Edge WebView2, você precisa distribuir o WebView2 Runtime, distribuindo o Evergreen Runtime atualizado automaticamente ou distribuindo uma versão fixa do Runtime.

Um aplicativo WebView2 depende do WebView2 Runtime em computadores cliente. Ao distribuir seu aplicativo WebView2, você precisa levar em conta como o WebView2 Runtime é distribuído e atualizado em computadores cliente.

O Runtime do WebView2

O WebView2 Runtime é um runtime redistribuível e serve como a plataforma Web subjacente (ou de backup) para aplicativos WebView2. O conceito é semelhante ao Visual C++ ou ao .NET Runtime para aplicativos C++/.NET. O WebView2 Runtime contém binários modificados do Microsoft Edge que são ajustados e testados para aplicativos WebView2. Depois que o WebView2 Runtime é instalado, ele não aparece como um aplicativo de navegador visível pelo usuário. Por exemplo, um usuário não tem um atalho de área de trabalho do navegador ou uma entrada no menu Iniciar .

Há duas maneiras diferentes de distribuir e atualizar o WebView2 Runtime para computadores cliente: o modo de distribuição Evergreen e o modo de distribuição versão fixa.

O modo de distribuição do Evergreen Runtime

No modo de distribuição Evergreen , o WebView2 Runtime não é empacotado com seu aplicativo, mas é inicialmente instalado em clientes usando um bootstrapper online ou um instalador offline. Posteriormente, o Runtime do WebView2 é atualizado automaticamente em computadores cliente. Em seguida, você pode distribuir atualizações do seu aplicativo WebView2 que usam as APIs WebView2 mais recentes, no SDK do WebView2 mais recente. O modo de distribuição Evergreen é recomendado para a maioria dos desenvolvedores.

Profissionais:

  • A plataforma Web subjacente (WebView2 Runtime) é atualizada automaticamente sem mais esforço de você.

  • Menos espaço em disco é necessário para o WebView2 Runtime em sistemas cliente, pois o WebView2 Runtime é compartilhado por todos os aplicativos WebView2 que estão no cliente.

  • Em sistemas qualificados, os binários do Microsoft Edge e do Runtime do Evergreen WebView2 são vinculados quando estão na mesma versão. Essa vinculação fornece benefícios para a pegada de disco, memória e desempenho.

Contras:

  • Seu aplicativo WebView2 não pode especificar que uma versão específica do WebView2 Runtime é necessária.

Windows 11 dispositivos e dispositivos Windows 10

O Evergreen Runtime é pré-instalado em todos os dispositivos Windows 11 como parte do sistema operacional Windows 11. A Microsoft instalou o WebView2 Runtime para todos os dispositivos Windows 10 qualificados, conforme descrito em Entregar o Microsoft Edge WebView2 Runtime para dispositivos Windows 10 gerenciados. Mesmo que seu aplicativo use o modo de distribuição Evergreen, recomendamos que você distribua o WebView2 Runtime para cobrir casos de borda em que o Runtime ainda não estava instalado. Confira Detalhes sobre o modo de distribuição do Evergreen Runtime abaixo.

O modo de distribuição de runtime de versão fixa

No modo de distribuição Versão Fixa , você baixa uma versão específica do WebView2 Runtime e o empacota com seu aplicativo WebView2 no pacote de aplicativos. O WebView2 Runtime que você empacota com seu aplicativo é usado apenas pelo aplicativo WebView2, não por outros aplicativos no computador do cliente.

Profissionais:

  • Você tem mais controle sobre a versão do Runtime do WebView2. Você sabe quais APIs do WebView2 estão disponíveis para seu aplicativo, pois controla qual versão do WebView2 Runtime está disponível para seu aplicativo. Seu aplicativo não precisa testar se as APIs mais recentes estão presentes.

Contras:

  • Você precisa gerenciar o WebView2 Runtime por conta própria. O WebView2 Runtime não é atualizado automaticamente em clientes, portanto, para usar as APIs do WebView2 mais recentes, você deve atualizar periodicamente seu aplicativo junto com o WebView2 Runtime atualizado.

  • Mais espaço em disco será necessário no cliente, se houver vários aplicativos WebView2 instalados.

  • O runtime de Versão Fixa não pode ser instalado usando um instalador.

Entender as opções na página de download do Runtime

A seção Baixar o WebView2 Runtime da página Microsoft Edge WebView2 fornece várias opções para distribuir o WebView2 Runtime em computadores cliente. Entender as opções nesta página fornece uma boa introdução, para ajudar a decidir qual abordagem você deseja usar.

Opções para distribuir e atualizar o Runtime do WebView2

O modo de distribuição Evergreen é recomendado para a maioria dos aplicativos.

  • A seção Evergreen Bootstrapper da página fornece um pequeno bootstrapper do Evergreen Runtime que é executado no computador cliente, para usuários online. O bootstrapper baixa e instala o Runtime do Evergreen WebView2 apropriado no cliente. Você pode usar o bootstrapper de algumas maneiras diferentes:

    • Link para o bootstrapper, usando um link que você obtém do botão Obter o Link . Seu aplicativo usa esse link para baixar programaticamente o bootstrapper no cliente e invocar o bootstrapper. Essa abordagem evita a necessidade de empacotar o bootstrapper com seu aplicativo. Essa abordagem tem uma dependência da CDN (Rede de Entrega de Conteúdo) da Microsoft para obter o bootstrapper.

    • Baixe o bootstrapper (usando o botão Baixar na seção Bootstrapper ) e distribua o bootstrapper com seu aplicativo. Nessa abordagem, você empacota o bootstrapper com seu instalador/atualizador de aplicativo ou com o próprio aplicativo e invoca o bootstrapper que você incluiu com seu aplicativo. Essa abordagem evita a dependência da CDN da Microsoft para obter o bootstrapper.

  • A seção Instalador Autônomo evergreen da página fornece um instalador Evergreen grande e autônomo, principalmente para usuários offline. Nessa abordagem, você empacota o instalador autônomo com o instalador/atualizador de aplicativo ou o próprio aplicativo e invoca o instalador Autônomo Evergreen. Essa abordagem evita a dependência da CDN da Microsoft para obter o Runtime.

  • A seção Versão Fixa da página fornece um runtime de Versão Fixa, que é uma versão específica do WebView2 Runtime que você distribui junto com seu aplicativo.

Detalhes sobre o Runtime do WebView2

Ao distribuir seu aplicativo WebView2, verifique se o WebView2 Runtime está presente no computador cliente. Esse requisito se aplica aos modos de distribuição Evergreen e Versão Fixa.

Se você quiser usar o modo de distribuição versão fixa, você pode ignorar as próximas seções e avançar para Detalhes sobre o modo de distribuição de runtime de versão fixa.

Manutenção do WebView2 Runtime por meio de Windows Server Update Services (WSUS)

Consulte Windows Server Update Services (WSUS) no gerenciamento empresarial do WebView2 Runtimes.

Suporte ao runtime ou navegador durante o desenvolvimento ou produção

Durante o desenvolvimento e teste, um aplicativo WebView2 pode usar qualquer opção como a plataforma Web de suporte:

  • O Runtime do WebView2. O Runtime geralmente fornece os mesmos recursos da plataforma Web e a cadência de atualização que o canal Estável do navegador Microsoft Edge. Use o WebView2 Runtime em um ambiente de produção ou para desenvolver e testar na plataforma Web que seus usuários têm hoje.

  • Um canal de navegador do Microsoft Edge (Insider). Esses canais de visualização do Microsoft Edge são Beta, Dev e Canary. Use essa abordagem para testar seu aplicativo em busca de compatibilidade avançada, para que você saiba se uma alteração de interrupção está chegando que exigirá a atualização do seu aplicativo. Consulte Testar as próximas APIs e recursos.

Uma versão de produção de um aplicativo WebView2 só pode usar o WebView2 Runtime como a plataforma Web de suporte, não o Microsoft Edge.

O canal Estável do Microsoft Edge não tem suporte para o WebView2

Aplicativos WebView2 não têm permissão para usar o canal Estável do Microsoft Edge como a plataforma Web de suporte. Essa restrição impede que uma versão de produção de um aplicativo WebView2 tire uma dependência do navegador. Um aplicativo WebView2 não pode assumir uma dependência no navegador durante a produção, pelos seguintes motivos:

  • O Microsoft Edge não tem garantia de estar presente em todos os dispositivos de usuário. Muitos dispositivos em empresas e em educação são desconectados de Windows Update ou não são gerenciados diretamente pela Microsoft. Esses dispositivos podem não ter o Microsoft Edge instalado. Exigir que a versão de produção de aplicativos WebView2 use o WebView2 Runtime em vez do Microsoft Edge evita tornar o Microsoft Edge um pré-requisito para executar um aplicativo WebView2.

  • Navegadores e aplicativos têm casos de uso diferentes. Se um aplicativo WebView2 exigisse a presença do Microsoft Edge no cliente, isso teria efeitos colaterais não intencionais no aplicativo WebView2. Por exemplo, um administrador de TI pode impedir que o navegador seja atualizado de uma versão específica para manter o navegador compatível com um site interno. Exigir que a versão de produção de um aplicativo WebView2 use o WebView2 Runtime em vez do navegador permite que o aplicativo WebView2 permaneça sempre verde mesmo que as atualizações do navegador sejam impedidas pelo administrador dos clientes.

  • Ao contrário do navegador, o WebView2 Runtime é desenvolvido e testado para cenários de aplicativo e, em alguns casos, o WebView2 Runtime pode incluir correções de bug que ainda não estão disponíveis no navegador.

O Runtime do Evergreen WebView2 será incluído como parte do sistema operacional Windows 11. Vários aplicativos WebView2 instalaram o Evergreen Runtime em dispositivos com um sistema operacional antes de Windows 11. No entanto, alguns dispositivos podem não ter o Runtime pré-instalado, portanto, é uma boa prática marcar se o Runtime está presente no cliente.

Antes de seu aplicativo criar um WebView2, o aplicativo deve marcar se o WebView2 Runtime está presente (verificando uma chave de registro ou chamando uma API) e instale o Runtime se ele estiver ausente. O aplicativo pode fazer isso marcar ao instalar ou atualizar seu aplicativo (recomendado) ou no runtime do aplicativo. Para marcar se o Runtime está presente, confira Implantando o Runtime do Evergreen WebView2, abaixo.

Detalhes sobre o modo de distribuição do Evergreen Runtime

O modo de distribuição Evergreen garante que seu aplicativo WebView2 esteja aproveitando os recursos e atualizações de segurança mais recentes do WebView2. O modo de distribuição Evergreen tem as seguintes características:

  • O WebView2 Runtime é atualizado automaticamente sem exigir nenhuma ação de você. Ele recebe as mesmas atualizações do Microsoft Edge descritas em notas de versão para o Microsoft Edge Stable Channel e notas de versão para o Microsoft Edge Security Atualizações.

  • Todos os aplicativos WebView2 que usam o modo de distribuição Evergreen usam uma cópia compartilhada do Evergreen WebView2 Runtime, que economiza espaço em disco.

  • Em sistemas qualificados, os binários do Microsoft Edge e do Runtime do Evergreen WebView2 são vinculados quando estão na mesma versão. Essa vinculação fornece benefícios para a pegada de disco, memória e desempenho.

Quando você usa o modo de distribuição Evergreen do WebView2 Runtime, seu aplicativo WebView2 pressupõe que os clientes tenham o Runtime mais recente. Seu aplicativo não pode exigir uma versão específica do WebView2 Runtime para todos os aplicativos no cliente. Quando um novo pacote do SDK do WebView2 for lançado, uma versão compatível do WebView2 Runtime já foi distribuída aos clientes. Portanto, não há problema para seu aplicativo WebView2 usar as APIs que estão na versão mais recente do SDK do WebView2.

Windows 11 dispositivos e dispositivos Windows 10 (detalhes)

A grande maioria dos dispositivos Windows 10 já tem o WebView2 Runtime instalado, conforme descrito em Entregar o Microsoft Edge WebView2 Runtime para dispositivos Windows 10 gerenciados. Um pequeno número de dispositivos Windows 10 não tem o WebView2 Runtime instalado. Recomendamos que você lide com esse caso de borda usando uma das seguintes abordagens:

Veja também:

Implantando o Runtime do Evergreen WebView2

Apenas uma instalação do Runtime Do Evergreen WebView2 é necessária para todos os aplicativos Evergreen no dispositivo. Várias ferramentas estão disponíveis no Download do WebView2 Runtime para ajudá-lo a implantar o Evergreen Runtime.

  • Para clientes online: o WebView2 Runtime Bootstrapper é um instalador minúsculo (aproximadamente 2 MB). O WebView2 Runtime Bootstrapper baixa e instala o Evergreen Runtime de servidores microsoft que correspondem à arquitetura do dispositivo do usuário.

    • Na parte de configuração do aplicativo WebView2, vincule-se ao bootstrapper. Use um link para baixar programaticamente o bootstrapper; selecione o botão Obter o Link na página de download acima.

    • Ou baixe o bootstrapper e empacote-o com seu aplicativo WebView2.

  • Para clientes offline: o Instalador Autônomo do Runtime Do WebView2 é um instalador completo que instala o Runtime Do Evergreen WebView2 em ambientes offline.

  • Se você estiver usando o Instalador de Aplicativos para implantar aplicativos MSIX, poderá especificar o WebView2 Runtime como uma dependência para que ele seja instalado com o aplicativo.Para obter detalhes sobre como fazer isso, confira win32dependencies:ExternalDependency (Windows 10, Windows 11) nos documentos de manifesto do pacote de aplicativos. Consulte também Instalar aplicativos Windows 10 com o Instalador de Aplicativos.

Instalando o Runtime como por computador ou por usuário

O inicializador e o instalador autônomo mais recentes dão suporte a instalações por computador e por usuário do WebView2 Runtime.

Se você executar o instalador de um processo elevado ou prompt de comando, o Runtime será instalado como por computador. Se você não executar o instalador de um processo elevado ou prompt de comando, o Runtime será instalado como por usuário. No entanto, uma instalação por usuário será substituída automaticamente por uma instalação por computador , se um Microsoft Edge Updater por computador estiver em vigor. Um Microsoft Edge Updater por computador é incluído como parte do Microsoft Edge, exceto para o canal de visualização canário do Microsoft Edge.

Use o fluxo de trabalho de implantação online a seguir ou o fluxo de trabalho de implantação offline para garantir que o Runtime já esteja instalado antes do lançamento do aplicativo. Você pode ajustar seu fluxo de trabalho dependendo do cenário. O código de exemplo está disponível no repositório Exemplos.

Detectar se um Runtime do WebView2 adequado já está instalado

Para verificar se um WebView2 Runtime está instalado, use uma das seguintes abordagens:

  • Abordagem 1: Inspecione o pv (REG_SZ) regkey para o Runtime do WebView2 em ambos os locais de registro a seguir. O HKEY_LOCAL_MACHINE regkey é usado para instalação por computador . O HKEY_CURRENT_USER regkey é usado para instalação por usuário .

    Para aplicativos WebView2, pelo menos uma dessas chaves deve estar presente e definida com uma versão maior que 0.0.0.0.0. Se nenhum regkey existir ou se apenas uma dessas chaves de regkey existir, mas seu valor for null, uma cadeia de caracteres vazia ou 0.0.0.0, isso significa que o WebView2 Runtime não está instalado no cliente. Inspecione essas chaves para detectar se o WebView2 Runtime está instalado e para obter a versão do WebView2 Runtime. Localize pv (REG_SZ) nos dois locais a seguir.

    Os dois locais de registro a serem inspecionados no Windows de 64 bits:

    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}
    
    HKEY_CURRENT_USER\Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}
    

    Os dois locais de registro a serem inspecionados no Windows de 32 bits:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}
    
    HKEY_CURRENT_USER\Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}
    
  • Abordagem 2: Execute GetAvailableCoreWebView2BrowserVersionString e avalie se o versionInfo é nullptr. nullptr indica que o WebView2 Runtime não está instalado. Essa API retorna informações de versão para o WebView2 Runtime ou para quaisquer canais de visualização instalados do Microsoft Edge (Beta, Dev ou Canary).

Implantação somente online

Se você tiver um cenário de implantação somente online em que os usuários devem ter acesso à Internet, use o fluxo de trabalho a seguir.

  1. Durante a instalação do aplicativo, execute um teste para garantir que o WebView2 Runtime já esteja instalado. Consulte Detectar se um Runtime do WebView2 adequado já está instalado.

  2. Se o Runtime não estiver instalado, no processo de instalação do aplicativo, use o link (do botão Obter o Link na página de download) para baixar programaticamente o WebView2 Runtime Bootstrapper.

  3. Invoque o WebView2 Runtime Bootstrapper emitindo o comando a seguir.

    Se você executar o comando a seguir de um processo elevado ou prompt de comando, ele disparará uma instalação por computador . Se você não executar o comando de um processo elevado ou prompt de comando, uma instalação por usuário ocorrerá. No entanto, uma instalação por usuário será substituída automaticamente por uma instalação por computador , se um Microsoft Edge Updater por computador estiver em vigor. Um Microsoft Edge Updater por computador é fornecido como parte do Microsoft Edge, exceto para o canal de visualização canário do Microsoft Edge. Para obter mais informações, consulte Instalando o Runtime como por computador ou por usuário.

    MicrosoftEdgeWebview2Setup.exe /silent /install
    

O fluxo de trabalho acima tem vários benefícios:

  • O Runtime é instalado somente quando necessário.

  • Você não é obrigado a empacotar um instalador do Runtime com seu aplicativo WebView2.

  • O WebView2 Runtime Bootstrapper detecta automaticamente a arquitetura (plataforma) do dispositivo e instala o WebView2 Runtime correspondente.

  • O Runtime é instalado silenciosamente.

Como alternativa, em vez de baixar programaticamente o bootstrapper sob demanda, obtendo um link, conforme mostrado acima, você pode empacotar o Evergreen Bootstrapper para o WebView2 Runtime com seu aplicativo.

Implantação offline

Se você tiver um cenário de implantação offline, em que a implantação do aplicativo precisa funcionar totalmente offline, use o fluxo de trabalho a seguir.

  1. Baixe o Instalador Autônomo evergreen do Download do WebView2 Runtime para seu computador de desenvolvimento. O Instalador Autônomo evergreen instala o Runtime do Evergreen WebView2 no cliente.

  2. Inclua o Instalador Autônomo Evergreen no instalador ou no atualizador do aplicativo.

  3. Durante a instalação do aplicativo, execute um teste para garantir que o WebView2 Runtime já esteja instalado. Consulte Detectar se um Runtime do WebView2 adequado já está instalado.

  4. Se o WebView2 Runtime não estiver instalado, execute o Instalador Autônomo Evergreen. Se você quiser executar uma instalação silenciosa, poderá executar o comando a seguir.

    Se você executar o comando a seguir de um processo elevado ou prompt de comando, ele disparará uma instalação por computador . Se você não executar o comando de um processo elevado ou prompt de comando, uma instalação por usuário ocorrerá. No entanto, uma instalação por usuário será substituída automaticamente por uma instalação por computador , se um Microsoft Edge Updater por computador estiver em vigor. Um Microsoft Edge Updater por computador é fornecido como parte do Microsoft Edge, exceto para o canal de visualização canário do Microsoft Edge. Para obter mais informações, consulte Instalando o Runtime como por computador ou por usuário.

    MicrosoftEdgeWebView2RuntimeInstaller{X64/X86/ARM64}.exe /silent /install
    

Testar seu aplicativo para compatibilidade avançada

A Web está em constante evolução. No modo de distribuição Evergreen, o WebView2 Runtime é mantido atualizado automaticamente no cliente para fornecer os recursos e correções de segurança mais recentes. Se você usar a distribuição Evergreen, para garantir que seu aplicativo WebView2 permaneça compatível com a Web, você deverá configurar a infraestrutura de teste.

Para obter práticas recomendadas sobre como testar seu aplicativo para compatibilidade avançada, consulte Pré-lançamento de testes usando canais de versão prévia e Auto-host implantando canais de visualização.

Detectar recursos ao usar APIs recentes

Se você usar o modo Evergreen, quando seu aplicativo WebView2 usar uma nova API WebView2 de um SDK recente, você deverá usar uma abordagem como QueryInterface ou try-catch para garantir que a nova API esteja presente no computador do cliente. Essa detecção de recursos é uma prática recomendada, pois há casos em que o WebView2 Runtime não é atualizado.

Mesmo que você use o modo de distribuição Evergreen, o Runtime do WebView2 pode não ser atualizado, pelos seguintes motivos:

  • Um Administração de TI pode desativar as atualizações do WebView2 Runtime, pois um Administração tem o controle de atualizar seus dispositivos.

  • Os clientes offline não recebem o Runtime do WebView2 atualizado.

As políticas de atualização do Microsoft Edge e do WebView2 Runtime são separadas. Mesmo que o Administração de TI tenha desabilitado as atualizações automáticas do Microsoft Edge, o Runtime do WebView2 ainda será atualizado automaticamente, a menos que o Administração desative a atualização do Runtime. Se o Administração desabilitar a atualização do Microsoft Edge (o que é um pouco comum), isso não afetará quais APIs do WebView2 estão disponíveis no computador cliente.

Consulte Detecção de recursos para testar se o Runtime instalado dá suporte a APIs adicionadas recentemente.

Detalhes sobre o modo de distribuição de runtime de versão fixa

Para ambientes restritos com requisitos rígidos de compatibilidade, considere usar o modo de distribuição versão fixa. O modo de distribuição versão fixa foi chamado anteriormente de bring-your-own.

No modo de distribuição versão fixa, você controla o tempo de atualizações para o Runtime do WebView2 para seu aplicativo. Baixe uma versão específica do WebView2 Runtime e empacote-a com seu aplicativo WebView2. O Runtime do WebView2 no cliente não é atualizado automaticamente. Em vez disso, você atualiza periodicamente o WebView2 Runtime empacotado e distribuído junto com seu aplicativo atualizado. A abordagem versão fixa não usa uma chave de registro para o Runtime do WebView2.

Os binários de Versão Fixa têm mais de 250 MB e tornarão seu pacote de aplicativo maior por esse valor.

Para usar o modo de distribuição versão fixa:

  1. Baixe a versão fixa do Runtime do WebView2 de Baixar o WebView2 Runtime como um pacote.

    A versão mais remendada das versões principais mais recentes e recentes está disponível para download neste site. Mantenha uma cópia arquivada de todas as versões necessárias.

  2. Descompacte o pacote WebView2 Runtime usando o comando expand {path to the package} -F:* {path to the destination folder} de linha de comando ou usando uma ferramenta de descompressão, como o WinRAR. Evite descompactar por meio de Explorador de Arquivos, pois essa abordagem pode não gerar a estrutura de pasta correta.

  3. Inclua todos os binários de versão fixa descompactados em seu pacote de aplicativos, a serem implantados no computador de destino durante a instalação do aplicativo.

  4. Indique o caminho para os binários de Versão Fixa ao criar o ambiente WebView2.

    • Para Win32 C/C++, você pode criar o ambiente usando a função CreateCoreWebView2EnvironmentWithOptions . Use o browserExecutableFolder parâmetro para indicar o caminho para a pasta que contém msedgewebview2.exe.

    • Para .NET, você deve especificar o ambiente antes que a propriedade WebView2 Source entre em vigor. Para .NET, você pode usar uma das seguintes abordagens para especificar o ambiente:

      • Defina a CreationProperties propriedade (WPF/WinForms) no WebView2 elemento. Use o BrowserExecutableFolder membro na CoreWebView2CreationProperties classe (WPF/WinForms) para indicar o caminho para os binários de Versão Fixa.

      • Como alternativa, use EnsureCoreWebView2Async (WPF/WinForms) para especificar o ambiente. Use o browserExecutableFolder parâmetro em CoreWebView2Environment.CreateAsync para indicar o caminho para os binários de Versão Fixa.

    • Para WinUI, verifique se o aplicativo tem acesso à pasta especificando o local instalado e definindo a variável de ambiente para o caminho do runtime. Uma maneira de fazer isso é adicionando o seguinte código C# ao seu aplicativo:

      StorageFolder localFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
      String fixedPath = Path.Combine(localFolder.Path, "FixedRuntime\\(version number)");
      Debug.WriteLine($"Launch path [{localFolder.Path}]");
      Debug.WriteLine($"FixedRuntime path [{fixedPath}]");
      Environment.SetEnvironmentVariable("WEBVIEW2_BROWSER_EXECUTABLE_FOLDER", fixedPath);
      
  5. Empacotar e enviar os binários de Versão Fixa com seu aplicativo. Atualize os binários conforme apropriado.

    • Para WinUI, isso pode incluir a abertura do arquivo de projeto (.csproj) em um editor de código e, em seguida, adicionar o seguinte código dentro das marcas de projeto:

      <ItemGroup>
         <Content Include="FixedRuntime\(version number)\\**\*.*">
         <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
         </Content>
      </ItemGroup>
      

      Verifique se a bin\**designated architecture**\Release pasta tem uma pasta FixedRuntime\(número de versão) correspondente com os arquivos de runtime nela.

  6. Em Windows 10 dispositivos, começando com a Versão Fixa 120, os desenvolvedores de aplicativos Win32 não empacotados usando a Versão Fixa são necessários para executar os comandos a seguir, para que a Versão Fixa continue funcionando. Isso ocorre devido a uma melhoria de segurança no v120 para executar o processo renderizador dentro do Contêiner de Aplicativo. Essa alteração não afeta Windows 11 dispositivos, o runtime mais antigo ou aplicativos empacotados.

    1. Localize o caminho em que você implanta o pacote Versão Fixa no dispositivo do usuário, como o seguinte local:

      D:\myapp\Microsoft.WebView2.FixedVersionRuntime.87.0.664.8.x64
      
    2. Execute os seguintes comandos no dispositivo do usuário:

      icacls {Fixed Version path} /grant *S-1-15-2-2:(OI)(CI)(RX)
      icacls {Fixed Version path} /grant *S-1-15-2-1:(OI)(CI)(RX)
      
    3. Confirme se as permissões são concedidas para ALL APPLICATION PACKAGES e ALL RESTRICTED APPLICATION PACKAGES na guia Segurança da pasta Versão Fixa , conforme mostrado abaixo:

      Permissão para PlayReady

Problemas conhecidos para Versão Fixa

  • Atualmente, a Versão Fixa não pode ser executada a partir de um local de rede ou caminho UNC.

Arquivos a serem enviados com o aplicativo

O WebView2Loader código precisa ser enviado com o aplicativo. Isso pode ser feito vinculando-seWebView2Loader.lib estaticamente aos binários do aplicativo ou incluindo o WebView2Loader.dll que corresponde à arquitetura do aplicativo. Normalmente, isso é tratado automaticamente pelo Visual Studio ao usar o .targets arquivo no SDK do WebView2, mas pode haver casos em que você precisa especificar manualmente quais arquivos publicar com seu aplicativo.

WebView2Loader.dll é um binário nativo e específico da arquitetura, portanto, você precisa incluir todos os sabores desse binário em que você espera que seu aplicativo seja executado. Por exemplo:

  • Para x86, você incluiria a versão x86 de WebView2Loader.dll.

  • Para um aplicativo gerenciado usando AnyCPU, você incluiria as versões x86, x64 e arm64 de WebView2Loader.dll. A versão correta do WebView2Loader.dll é carregada da pasta específica da arquitetura apropriada.

Exemplo de estrutura de pasta de aplicativo nativo:

\<myApp>
    \WebView2Loader.dll

Para aplicativos gerenciados do .NET, você também precisa incluir os assemblies .NET do WebView2 para a funcionalidade principal do WebView2 (Microsoft.Web.WebView2.Core.dll) e para a funcionalidade específica do WPF/WinForms (Microsoft.Web.WebView2.Winforms.dll ou Microsoft.Web.WebView2.WPF.dll).

Exemplo de estrutura de pasta de aplicativo gerenciado:

\<myApp>
    \Microsoft.Web.WebView2.Core.dll
    \Microsoft.Web.WebView2.Winforms.dll
    \Microsoft.Web.WebView2.WPF.dll
    \runtimes
        \win-arm64\native\WebView2Loader.dll (arm64)
        \win-x64\native\WebView2Loader.dll (x64)
        \win-x86\native\WebView2Loader.dll (x86)