Solución de problemas de implementación de soluciones de Office

              Aplicable a: Visual Studio

En este artículo se presenta cómo resolver problemas comunes que puede encontrar al implementar soluciones de Office.

La información de este artículo se aplica a proyectos de nivel de documento y proyectos de complemento de Visual Studio Tools para Office (VSTO). Consulte Características disponibles por tipo de proyecto y aplicación de Office.

Solución de problemas de soluciones de Office mediante el visor de eventos

Puede usar el visor de eventos en Windows para ver los mensajes de error capturados por el entorno de ejecución de Visual Studio Tools para Office al instalar o desinstalar soluciones de Office. Puede usar estos mensajes del registrador de eventos para resolver problemas de instalación e implementación. Para obtener más información, vea Registro de eventos para soluciones de Office.

Cambiar el nombre del ensamblado provoca conflictos

Si cambia el valor de Nombre de ensamblado en la página Aplicación de Project Designer después de haber implementado una solución, las herramientas de publicación modificarán el paquete de instalación para que tenga un archivo Setup.exe y dos manifiestos de implementación. Si implementa dos archivos de manifiesto, pueden producirse las condiciones siguientes:

  • Si el usuario final instala ambas versiones, la aplicación cargará ambos complementos de VSTO.
  • Si el complemento VSTO se instaló antes de cambiar el nombre del ensamblado, el usuario final nunca recibirá actualizaciones.

Para evitar estas condiciones, no cambie el valor de Nombre de ensamblado de la solución después de implementar la solución.

La búsqueda de actualizaciones tarda mucho tiempo

Visual Studio 2010 Tools for Office Runtime proporciona una entrada del Registro que los administradores pueden usar para establecer el valor de tiempo de espera para descargar los manifiestos y la solución.

Cómo establecer el valor de tiempo de espera

  1. En el Registro, vaya a la clave siguiente:

    HKEY_CURRENT_USER\Software\Microsoft\VSTA

  2. En la subclave AddInTimeout , establezca el valor de tiempo de espera en milisegundos.

    Si la subclave AddInTimeout no existe, créela como DWORD.

No se puede actualizar ni publicar en un recurso compartido de archivos de red

Las soluciones de Office que se encuentran en un recurso compartido de archivos de red pueden mostrar un mensaje engañoso durante las actualizaciones si el archivo Setup.exe de la solución está bloqueado en un proceso mientras se publica la actualización. El mensaje podría decir lo siguiente: "No se puede agregar "setup.exe" a la Web. El archivo "setup.exe" ya existe en esta web".

Para evitar el bloqueo de archivos, puede hacer que el recurso compartido sea de solo lectura para los usuarios finales. Sin embargo, si los documentos están en el recurso compartido, también se convertirán en de solo lectura para los usuarios finales.

Los requisitos previos para Microsoft Office no están instalados

Puede agregar .NET Framework, el entorno de ejecución de Visual Studio Tools para Office y los ensamblados de interoperabilidad primarios de Office al paquete de instalación como requisitos previos que se implementan con la solución de Office. Para obtener información sobre cómo instalar los ensamblados de interoperabilidad primarios, vea Configurar un equipo para desarrollar soluciones de Office y Cómo: Instalar ensamblados de interoperabilidad primarios de Office.

Publicar con Localhost puede causar problemas de instalación

Cuando se usa http://localhost como ubicación de publicación o instalación para soluciones de nivel de documento, el Asistente para publicación no convierte la cadena en el nombre real del equipo. En este caso, la solución debe instalarse en el equipo de desarrollo. Para que las soluciones implementadas usen IIS en el equipo de desarrollo, use el nombre completo para todas las ubicaciones HTTP/HTTPS/FTP en lugar de localhost.

Los ensamblados almacenados en caché se cargan en lugar de los ensamblados actualizados

Fusion, el cargador de ensamblados de .NET Framework, carga la copia almacenada en caché de ensamblados cuando la ruta de acceso de salida del proyecto está en un recurso compartido de archivos de red, el ensamblado se firma con un nombre seguro y la versión del ensamblado de la personalización no cambia. Si actualiza un ensamblado que cumple estas condiciones, la actualización no aparecerá la próxima vez que ejecute el proyecto porque se carga la copia almacenada en caché.

Puede configurar Visual Studio para que Fusion descargue ensamblados cada vez que se ejecute el proyecto.

Cómo descargar ensamblados en lugar de cargar copias almacenadas en caché

  1. En la barra de menús, seleccione Proyecto, <Propiedades de ProjectName>.
  2. En la página Aplicación , seleccione Información de ensamblado.
  3. Establezca el número de revisión, tercer campo, de la versión del ensamblado, en un comodín (*). Por ejemplo, "1.0.*". A continuación, seleccione el botón Aceptar .

Después de cambiar la versión del ensamblado, puede seguir firmando el ensamblado con un nombre seguro y Fusion cargará la versión más reciente de la personalización.

Nota:

A partir de Visual Studio 2017, si intenta usar caracteres comodín en la versión de ensamblado, se producirá un error de compilación. Esto se debe a que los comodín de la versión del ensamblado interrumpirán la característica determinista de MSBuild. Se le pedirá que quite los caracteres comodín de la versión del ensamblado o deshabilite el determinismo. Para más información sobre la característica determinista, consulte: Propiedades comunes del proyecto de MSBuild y Personalización de la compilación

Se produce un error en la instalación cuando el URI tiene caracteres que no son US-ASCII

Al publicar una solución de Office en una ubicación HTTP/HTTPS/FTP, la ruta de acceso no puede tener ningún carácter Unicode que no esté en US-ASCII. Estos caracteres pueden provocar un comportamiento incoherente en el programa de instalación. Use caracteres US-ASCII para la ruta de instalación.

Aparece la solicitud de desinstalación manual al publicar e instalar una solución en el equipo de desarrollo

Al compilar una solución de Office, la versión compilada se registra automáticamente. Si previamente ha publicado e instalado la misma solución en el equipo de desarrollo, Visual Studio Tools para Office runtime detecta que la ruta de instalación de la versión publicada y la versión compilada son diferentes después de compilar, volver a compilar o publicar la solución. El mensaje de error indica que "la personalización no se puede instalar porque otra versión está instalada actualmente y no se puede actualizar desde esta ubicación". Las claves del Registro se actualizan cada vez que se vuelve a generar una solución. Por lo tanto, debe desinstalar la versión anterior antes de publicar, depurar o ejecutar la nueva versión.

Para evitar que aparezca el mensaje, cree otra cuenta de usuario en el equipo de desarrollo para probar la implementación. Como alternativa, puede desinstalar la versión de la lista de programas instalados en el equipo antes de publicar, depurar o recompilar la solución.

No se encontró un error de excepción o método no detectado al instalar una solución

Al instalar soluciones de Office abriendo el manifiesto de implementación (un archivo .vsto ), una aplicación de Office, un documento o un libro, pueden aparecer mensajes de error para las condiciones siguientes:

  • No se encontró el método .
  • MissingMethodException.
  • Excepción no detectada.

Para evitar estos mensajes de error, instale la solución mediante la ejecución del programa de instalación.

Al instalar la solución sin ejecutar el programa de instalación, el instalador no comprueba ni instala los requisitos previos. El programa de instalación comprueba la versión correcta de los requisitos previos e los instala según sea necesario.

Las claves del Registro de manifiesto para complementos cambian después de compilar un proyecto de InstallShield Limited Edition

La clave del Registro de manifiesto que forma parte de un programa de instalación de complementos de VSTO a veces cambia de .vsto a .dll.manifest al compilar un proyecto de InstallShield Limited Edition.

Para solucionar este problema, cree el proyecto InstallShield Limited Edition en una solución diferente o use CompanyName.AddinName como valor de la clave del Registro que contiene el nombre del complemento VSTO.

El instalador ClickOnce de la solución de Office no instala los ensamblados de interoperabilidad principales.

Al ejecutar el programa de instalación que ClickOnce crea para la solución de Office, el instalador de los ensamblados de interoperabilidad primarios (PIA) de Office solo se ejecuta si ya no hay ninguna PIA instalada.

Si el programa de instalación no instala los PIA correctamente, instálelos manualmente ejecutando el archivo del instalador denominado o2007pia.msi desde el directorio de instalación.

La reinstalación de soluciones de Office provoca una excepción fuera del intervalo de argumentos

Al reinstalar una solución de Office, podría aparecer una ArgumentOutOfRangeException excepción con el siguiente mensaje de error: El argumento especificado estaba fuera del intervalo de valores válidos.

Esta situación se produce si el uso de mayúsculas y minúsculas para la dirección URL de la ubicación de instalación es diferente. Por ejemplo, este error aparecería si instaló una solución de Office desde http://fabrikam.com/ExcelSolution.vsto la primera vez y, a continuación, la http://fabrikam.com/excelsolution.vsto segunda vez.

Para evitar que aparezca el mensaje, use el mismo uso de mayúsculas y minúsculas al instalar soluciones de Office.

No se puede instalar una solución ClickOnce abriendo el manifiesto de implementación desde la web

Los usuarios pueden instalar soluciones de Office abriendo el manifiesto de implementación desde la web. Sin embargo, algunas instalaciones de Internet Information Services (IIS) bloquean la extensión de nombre de archivo .vsto . Debe definir el tipo MIME en IIS antes de usarlo para implementar una solución de Office.

Para obtener información sobre cómo definir el tipo MIME en IIS 7, vea Agregar un tipo MIME (IIS7).

Establezca la extensión en .vsto y el tipo MIME en application/x-ms-vsto.

Referencias