Compartir a través de


Cómo: Publicar una aplicación WPF con estilos visuales habilitados

Los estilos visuales permiten el aspecto de los controles comunes al cambio basado en el tema elegido por el usuario.De forma predeterminada, los estilos visuales no están habilitadas para las (WPF) aplicaciones de Windows Presentation Foundation, por lo que debe habilitarlas manualmente.Sin embargo, habilitar estilos visuales para una aplicación WPF y la publicación de la solución produce un error.Este tema describe cómo resolver este error y el proceso para publicar una aplicación WPF con estilos visuales habilitados.Para obtener más información sobre los estilos visuales, vea Visual Styles Overview.Para obtener más información acerca del mensaje de error, vea Solucionar problemas de errores específicos de las implementaciones de ClickOnce.

Para resolver el error y publicar la solución, debe realizar las siguientes tareas:

  • Para publicar la solución sin estilos visuales habilitados.

  • para crear un archivo de manifiesto.

  • Para incrustar el archivo de manifiesto en el archivo ejecutable de la solución publicada.

  • para firmar la aplicación y los manifiestos de implementación.

A continuación, puede mover los archivos publicados en la ubicación de la que desea que los usuarios finales para instalar la aplicación.

Para publicar la solución sin estilos visuales habilitados

  1. Asegúrese de que el proyecto no tiene estilos visuales habilitados.Primero, compruebe el archivo de manifiesto del proyecto para el XML siguiente.A continuación, si XML está presente, agregue XML con una etiqueta de comentario.

    De forma predeterminada, los estilos visuales no están habilitadas.

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

    Los procedimientos siguientes muestran cómo abrir el archivo de manifiesto asociado al proyecto.

    para abrir el archivo de manifiesto en un proyecto de Visual Basic

    1. En la barra de menú, elija proyecto, ProjectNamePropiedades, donde es el nombre ProjectName proyectos de WPF.

      Las páginas de propiedades del proyecto de WPF aparecen.

    2. En la pestaña de Aplicación , elija Valores de Windows de vista.

      El archivo app.manifest se abrirá en editor de código.

    para abrir el archivo de manifiesto en un proyecto de C#

    1. En la barra de menú, elija proyecto, ProjectNamePropiedades, donde es el nombre ProjectName proyectos de WPF.

      Las páginas de propiedades del proyecto de WPF aparecen.

    2. En la pestaña de Aplicación , anote el nombre que aparece en el campo manifiesto.Es el nombre del manifiesto que está asociado al proyecto.

      [!NOTA]

      Si Incrustación manifiesto con configuraciones predeterminadas o Cree la aplicación sin manifiesto aparece en el campo manifiesto, los estilos visuales no están habilitadas.Si el nombre de un archivo de manifiesto aparece en el campo manifiesto, continúe con el paso siguiente de este procedimiento.

    3. en Explorador de soluciones, elija Mostrar todos los archivos ().

      Este botón muestra todos los elementos de proyecto, incluidos los se han excluido que los que normalmente están ocultos.El archivo de manifiesto aparece como un elemento de proyecto.

  2. Compile y publicar la solución.Para obtener más información sobre cómo publicar soluciones, vea Cómo: Publicar una aplicación ClickOnce sin usar el Asistente para publicación.

para crear un archivo de manifiesto

  1. Pegue el código siguiente en un archivo de Bloc de notas.

    este XML describe el ensamblado que contiene los controles que admiten estilos visuales.

    <?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. En Bloc de notas, haga clic en Archivo y, a continuación, en Guardar como.

  3. En el cuadro de diálogo Guardar como, en la lista desplegable Guardar como tipo, seleccione Todos los archivos.

  4. En el cuadro de Nombre de archivo , llame al archivo y anexe .manifest al final del nombre de archivo.por ejemplo: themes.manifest.

  5. Elija el botón de Carpetas de exploración , seleccione una carpeta y, a continuación haga clic en Guardar.

    [!NOTA]

    Los procedimientos restantes se supone que el nombre de este archivo es themes.manifest y que el archivo se guardará en el directorio C:\temp en el equipo.

Para incrustar el archivo de manifiesto en el archivo ejecutable de la solución publicada

  1. Abra el Símbolo del sistema de Visual Studio.

    Para obtener más información sobre cómo abrir Símbolo del sistema de Visual Studio, vea Símbolos del sistema del SDK de Windows y Visual Studio.

    [!NOTA]

    Los pasos restantes crean los siguientes supuestos sobre la solución:

    • el nombre de la solución es MyWPFProject.

    • La solución se encuentra en el directorio siguiente: %UserProfile%\Documents\Visual Studio 2010\Projects\.

      La solución se publica en el directorio siguiente: %UserProfile%\Documents\Visual Studio 2010\Projects\publish.

    • La versión más reciente de los archivos de aplicación publicados se encuentra en el directorio siguiente: %UserProfile%\Documents\Visual Studio 2010\Projects\publish\Application Files\WPFApp_1_0_0_0

    No tiene que usar el nombre o ubicaciones de directorio descritas anteriormente.El nombre y las ubicaciones descritos anteriormente se utilizan para mostrar solo los pasos necesarios para publicar la solución.

  2. En el símbolo del sistema, cambie la ruta de acceso al directorio que contiene la versión más reciente de los archivos de aplicación publicados.El ejemplo siguiente muestra este paso.

    cd "%UserProfile%\Documents\Visual Studio 2010\Projects\MyWPFProject\publish\Application Files\WPFApp_1_0_0_0"
    
  3. En el símbolo del sistema, ejecute el comando siguiente para incrustar el archivo de manifiesto en el archivo ejecutable de la aplicación.

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

para firmar la aplicación y los manifiestos de implementación

  1. En el símbolo del sistema, ejecute el siguiente comando para quitar la extensión de .deploy del archivo ejecutable en el directorio actual.

    ren MyWPFApp.exe.deploy MyWPFApp.exe
    

    [!NOTA]

    Este ejemplo supone que sólo un archivo tiene la extensión de archivo .deploy .Asegúrese de cambiar el nombre de todos los archivos en este directorio que tienen la extensión de archivo .deploy .

  2. En el símbolo del sistema, ejecute el comando siguiente para firmar el manifiesto de aplicación.

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

    [!NOTA]

    Este ejemplo supone que se firma el manifiesto utilizando el archivo de .pfx del proyecto.Si no se firma el manifiesto, puede omitir el parámetro de –cf que se utiliza en este ejemplo.Si está firmando el manifiesto con un certificado que requiere una contraseña, especifique la opción de –password (For example: mage –u MyWPFApp.exe.manifest –cf ..\..\..\MyWPFApp_TemporaryKey.pfx – passwordPassword).

  3. En el símbolo del sistema, ejecute el comando siguiente para agregar la extensión de .deploy al nombre del archivo que se encuentra en un paso anterior de este procedimiento.

    ren MyWPFApp.exe MyWPFApp.exe.deploy
    

    [!NOTA]

    Este ejemplo supone que sólo un archivo tiene una extensión de archivo .deploy .Asegúrese de cambiar el nombre de todos los archivos en este directorio que tenía previamente la extensión de nombre de archivo .deploy .

  4. En el símbolo del sistema, ejecute el comando siguiente para firmar el manifiesto de implementación.

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

    [!NOTA]

    Este ejemplo supone que se firma el manifiesto utilizando el archivo de .pfx del proyecto.Si no se firma el manifiesto, puede omitir el parámetro de –cf que se utiliza en este ejemplo.Si está firmando el manifiesto con un certificado que requiere una contraseña, especifique la opción de –password , como en este ejemplo:For example: mage –u MyWPFApp.exe.manifest –cf ..\..\..\MyWPFApp_TemporaryKey.pfx – passwordPassword.

Después de realizar estos pasos, puede mover los archivos publicados en la ubicación de la que desea que los usuarios finales para instalar la aplicación.Si piensa actualizar la solución con frecuencia, puede mover estos comandos en un script y ejecutar el script cada vez que se publica una nueva versión.

Vea también

Referencia

Enabling Visual Styles

Símbolos del sistema del SDK de Windows y Visual Studio

Conceptos

Solucionar problemas de errores específicos de las implementaciones de ClickOnce

Otros recursos

Visual Styles Overview