Compartilhar via


Como publicar um aplicativo WPF com estilos visuais habilitados

Os estilos visuais permitem a aparência dos controles comuns a alteração com base no tema escolhido pelo usuário. Por padrão, os estilos visuais não estão habilitados para aplicativos Windows Presentation Foundation (WPF), o que habilita você deve manualmente. No entanto, ativar estilos visuais para um aplicativo de WPF e depois publicar a solução causa um erro. Este tópico descreve como resolver esse erro e o processo para publicar um aplicativo de WPF com estilos visuais ativados. Para obter mais informações sobre estilos visuais, consulte Visual Styles Overview. Para obter mais informações sobre a mensagem de erro, consulte Solução de problemas com erros específicos nas implantações do ClickOnce.

Para resolver o erro e publicar a solução, você deve executar as seguintes tarefas:

  • Publicar a solução sem estilos visuais ativados.

  • Crie um arquivo de manifesto.

  • Inserir o arquivo de manifesto no arquivo de solução publicado.

  • Assinar os manifestos de aplicativo e implantação.

Em seguida, você pode mover os arquivos publicados ao local de onde você deseja que os usuários finais para instalar o aplicativo.

Publicar a solução sem estilos visuais ativados

  1. Certifique-se que o projeto não tem os estilos visuais ativados. Primeiro, verifique o arquivo de manifesto do projeto para o seguinte XML. Então, se XML presente, incluindo XML com uma marca de comentário.

    Por padrão, os estilos visuais não são ativados.

    <dependency>    <dependentAssembly>      <assemblyIdentity          type="win32"          name="Microsoft.Windows.Common-Controls"          version="6.0.0.0"          processorArchitecture="*"          publicKeyToken="6595b64144ccf1df"          language="*"        />    </dependentAssembly>  </dependency>
    

    Os procedimentos a seguir mostram como abrir o arquivo de manifesto associado com seu projeto.

    Para abrir o arquivo de manifesto em um projeto Visual Basic

    1. Na barra de menus, escolha Projeto, ProjectNamePropriedades, onde ProjectName é o nome do projeto de WPF.

      As páginas de propriedades para seu projeto de publicam-se WPF.

    2. Na guia de Aplicativo , escolha Exibir Configurações do Windows.

      O arquivo de manifesto .app abre em Editor de Códigos.

    Para abrir o arquivo de manifesto em um projeto C#

    1. Na barra de menus, escolha Projeto, ProjectNamePropriedades, onde ProjectName é o nome do projeto de WPF.

      As páginas de propriedades para seu projeto de publicam-se WPF.

    2. Na guia de Aplicativo , anote o nome que aparece no campo manifesto. Este é o nome do manifesto que está associado com seu projeto.

      Dica

      Se Inserir manifesto com configurações padrão ou Crie o aplicativo sem o manifesto aparecem no campo manifesto, estilos visuais não estão ativados.Se o nome de um arquivo de manifesto aparece no campo manifesto, vá para a próxima etapa deste procedimento.

    3. Em Gerenciador de Soluções, escolha Mostrar todos os arquivos ().

      Este botão mostrar todos os itens de projeto, incluindo aqueles que foram excluídas e aqueles que são normalmente ocultos. O arquivo de manifesto aparece como um item de projeto.

  2. Criar e publicar sua solução. Para obter mais informações sobre como publicar a solução, consulte Como publicar um aplicativo ClickOnce usando o Assistente de Publicação.

Crie um arquivo de manifesto

  1. Cole o seguinte XML em um arquivo do Bloco De Notas.

    Este XML descreve o assembly que contém controles que suportam estilos visuais.

    <?xml version="1.0" encoding="utf-8"?><asmv1:assembly manifestVersion="1.0"                xmlns="urn:schemas-microsoft-com:asm.v1"                xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"                xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  <dependency>    <dependentAssembly>      <assemblyIdentity        type="win32"        name="Microsoft.Windows.Common-Controls"        version="6.0.0.0"        processorArchitecture="*"        publicKeyToken="6595b64144ccf1df"        language="*"        />    </dependentAssembly>  </dependency></asmv1:assembly>
    
  2. No Bloco De Notas, clique Arquivo, clique em Salvar como.

  3. Na caixa de diálogo Salvar como , na lista suspensa de Salvar como tipo , Todos os Arquivos.

  4. Na caixa de Nome do arquivo , nomeie o arquivo e acrescentar .manifest ao final do nome de arquivo. Por exemplo: themes.manifest.

  5. Escolha o botão de Procurar nas pastas , selecione qualquer pasta, e clique em Salvar.

    Dica

    Os procedimentos seguintes assumem que o nome do arquivo é themes.manifest e que o arquivo é salvo no diretório C:\temp no seu computador.

Inserir o arquivo de manifesto no arquivo de solução publicado

  1. Abra Prompt de Comando Visual Studio.

    Para obter mais informações sobre como abrir Prompt de Comando Visual Studio, consulte Prompt de comando do Visual Studio.

    Dica

    As etapas restantes tornam as seguintes suposições sobre sua solução:

    • O nome da solução é MyWPFProject.

    • A solução é localizada no seguinte diretório: %UserProfile%\Documents\Visual Studio 2010\Projects\.

      A solução é publicado o seguinte diretório: %UserProfile%\Documents\Visual Studio 2010\Projects\publish.

    • A versão mais recente dos arquivos de aplicativos publicados está localizada no seguinte diretório: %UserProfile%\Documents\Visual Studio 2010\Projects\publish\Application Files\WPFApp_1_0_0_0

    Você não precisa usar o nome ou os locais de diretório descrito acima.O nome e locais descritos acima são usados para ilustrar somente as etapas necessárias para publicar sua solução.

  2. No prompt de comando, altere o caminho para o diretório que contém a versão mais recente dos arquivos de aplicativo publicado. O exemplo a seguir demonstra essa etapa.

    cd "%UserProfile%\Documents\Visual Studio 2010\Projects\MyWPFProject\publish\Application Files\WPFApp_1_0_0_0"
    
  3. No prompt de comando, execute o seguinte comando inserir o arquivo de manifesto no arquivo executável do aplicativo.

    mt –manifest c:\temp\themes.manifest –outputresource:MyWPFApp.exe.deploy
    

Assinar os manifestos de aplicativo e implantação

  1. No prompt de comando, execute o seguinte comando remova a extensão de .deploy do arquivo executável no diretório atual.

    ren MyWPFApp.exe.deploy MyWPFApp.exe
    

    Dica

    Este exemplo assume que apenas um arquivo possui a extensão de arquivo .deploy .Certifique-se de que você renomear todos os arquivos no diretório que têm a extensão de arquivo .deploy .

  2. No prompt de comando, execute o seguinte comando assinar o manifesto do aplicativo.

    mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx
    

    Dica

    Este exemplo assume que você assina o manifesto usando o arquivo de .pfx do projeto.Se você não estiver assinando o manifesto, você pode omitir o parâmetro de –cf que é usado neste exemplo.Se você estiver assinando o manifesto com um certificado que requer uma senha, especifique a opção de –password (For example: mage –u MyWPFApp.exe.manifest –cf ..\..\..\MyWPFApp_TemporaryKey.pfx – passwordPassword).

  3. No prompt de comando, execute o seguinte comando adicionar a extensão de .deploy para o nome do arquivo que você renomeou em uma etapa anterior deste procedimento.

    ren MyWPFApp.exe MyWPFApp.exe.deploy
    

    Dica

    Este exemplo assume que apenas um arquivo tivesse uma extensão de arquivo .deploy .Certifique-se de que você renomear todos os arquivos no diretório que anteriormente tinha a extensão de nome de arquivo .deploy .

  4. No prompt de comando, execute o seguinte comando assinar o manifesto de implantação.

    mage -u ..\..\MyWPFApp.application -appm MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx
    

    Dica

    Este exemplo assume que você assina o manifesto usando o arquivo de .pfx do projeto.Se você não estiver assinando o manifesto, você pode omitir o parâmetro de –cf que é usado neste exemplo.Se você estiver assinando o manifesto com um certificado que requer uma senha, especifique a opção de –password , como neste exemplo:For example: mage –u MyWPFApp.exe.manifest –cf ..\..\..\MyWPFApp_TemporaryKey.pfx – passwordPassword.

Depois de executar essas etapas, você pode mover os arquivos publicados ao local de onde você deseja que os usuários finais para instalar o aplicativo. Se você pretende atualizar geralmente a solução, você pode mover esses comandos em um script e executar script cada vez que você publicar uma nova versão.

Consulte também

Referência

Enabling Visual Styles

Prompt de comando do Visual Studio

Conceitos

Solução de problemas com erros específicos nas implantações do ClickOnce

Outros recursos

Visual Styles Overview