.net clickonce gac stdole

.net - Mensaje de error "No se puede instalar o ejecutar la aplicación. La aplicación requiere stdole Versión 7.0.3300.0 en el GAC "



clickonce (10)

Cuando un usuario intenta ejecutar la aplicación, nuestra aplicación ClickOnce informa:

No se puede instalar o ejecutar la aplicación. La aplicación requiere stdole Versión 7.0.3300.0 en el GAC.

Es interesante observar que el GAC (C: / Windows / assembly) no tiene instalado stdole. ¿Cómo lo consigo?

Estamos usando .NET 3.5, y se ha instalado en esta computadora.


Intente ir a la pestaña Publicar en las propiedades del proyecto y luego seleccione el botón Archivos de la aplicación . Luego establece las siguientes propiedades:

  • Nombre de archivo de stdole.dll
  • Publicar estado para incluir
  • Descargar Group to Required

Después de eso, necesita volver a publicar su solicitud.

Si la referencia tiene CopyLocal = true, la referencia se publicará con la aplicación. Si la referencia tiene CopyLocal = false, la referencia se marcará como un requisito previo. Esto significa que el ensamblaje debe instalarse en el GAC del cliente antes de que se instale la aplicación ClickOnce.

Hay algunos ensamblados que se instalan en el GAC debido a la instalación de Visual Studio, no a la instalación de .NET Framework. Esta podría ser tu situación.



Verifica si realmente estás usando la referencia EnvDTE. Si no, elimínelo y vuelva a compilar.


Interesante, no tenía ninguna referencia a stdole en mi proyecto, pero un usuario aún recibía el error. Tuve que agregar la referencia, luego cambiar la configuración para incluir. Espero que eso funcione.


Para H2oRider: ¿su aplicación accede al dll de Oracle en el GAC? Lo que recomiendo que haga es esto: agregue el dll a su proyecto y establezca la acción de compilación en "contenido" y configure "copiar en el directorio de salida" a "copiar siempre".

Luego, borre su (s) referencia (s) al dll en el GAC. Vuelva a agregar la referencia, pero esta vez profundice en la que acaba de agregar a su proyecto.

Ahora publícalo. La aplicación buscará el dll localmente, y el dll se incluirá en la implementación para que lo encuentre.

Si esto no funciona, es posible que no pueda usar ese dll si se incluye localmente en lugar de en el GAC. Esto es cierto para algunos ensambles, como los PIA de Office. En ese caso, la única forma de implementarlo es envolverlo en un paquete de configuración e implementación y usar Bootstrapper Manifest Generator para convertirlo en un requisito previo que puede publicar con la implementación de ClickOnce.


En mi caso, resolví este problema yendo a la pestaña Publicar en las propiedades del proyecto y luego seleccioné el botón Archivos de la aplicación . Entonces solo:

Nota: Antes de aplicar esta solución, asegúrese de que ya (como yo lo hice), verificó todos los proyectos de su solución y no encontró referencias al ensamblado de stdole.dll .

1 - archivo stdole.dll ubicado;

2 - Cambió su estado de publicación a Excluir

3 - Después de eso, necesita volver a publicar su solicitud .

Este problema ocurrió en un Visual Studio 2012, después de su migración de Visual Studio 2010.

Espero eso ayude.


Tuve el mismo problema con una implementación de ClickOnce.

Resolví el problema yendo a la pestaña ''Publicar'' en las propiedades del proyecto y luego seleccionando el botón ''Archivos de la aplicación''.

Luego seleccioné las opciones:

  • ''Nombre de archivo'' de ''stdole.dll''
  • ''Publicar estado'' a ''Incluir'' y
  • ''Descargar grupo'' a ''Requerido''.

Esto solucionó mi problema cuando volví a publicar.

Espero que esto te ayude: D


Entonces resulta que los archivos .NET se copiaron a C:/Program Files/Microsoft.NET/Primary Interop Assemblies/ . Sin embargo, nunca se registraron en el GAC .

Terminé arrastrando manualmente los archivos en C:/Program Files/Microsoft.NET/Primary Interop Assemblies a C:/windows/assembly y la aplicación funcionó en ese equipo problemático. También podría hacer esto programáticamente con Gacutil .

Parece que algo le pasó a .NET durante la instalación, pero esto parece corregir el problema. ¡Espero que eso ayude a alguien más!


Mi solución: abrí la carpeta de referencias en el Explorador de soluciones (que muestra todos los archivos) y para cada ensamblaje que se quejó de la instalación (el nombre del ensamblaje puede no ser exactamente el mismo que el del ensamblado, dentro del explorador de objetos, pero lo suficientemente fácil de entender), cambié el Copy Local a True . Terminé necesitando hacer eso con cada ensamblado relacionado con Microsoft Office / COM .


Tuvimos el mismo problema con nuestra aplicación ClickOnce que usa Interop con Microsoft Office. Sucedió solo en unas pocas computadoras en la compañía.

La mejor solución que encontramos fue modificar la instalación de MS Office en computadoras problemáticas (a través del panel Programas y características ) y asegurarnos de que la "característica de programación de .NET" (no estoy seguro del nombre del componente - nuestras versiones de Microsoft_Office no son en inglés) instalado para cada una de las aplicaciones de MS Office (Excel, Word, Outlook, etc.). Esto parece no estar incluido en una instalación predeterminada.

Entonces el problema con stdole.dll fue corregido.

Espero que esto ayude.