2010-02-10 36 views
7

Implementamos nuestra aplicación utilizando ClickOnce, instalado desde una ruta de archivo. Por 24 versiones que ha estado trabajando perfectamente - ahora, en la versión 25 me sale el siguiente error una vez que la aplicación se ha instalado y se pone en marcha:¿Cómo puedo diagnosticar que "Microsoft .NET ClickOnce Launch La utilidad ha dejado de funcionar"?

alt text http://i49.tinypic.com/zk4krl.png

Si pruebo una implementación anterior en la misma máquina, que funciona .

¿Dónde puedo comenzar a buscar la causa de este error? Ya revisé los registros de eventos de Windows, nada.

EDIT: Me di cuenta de que mientras se muestra el cuadro de diálogo, se genera un archivo xml temporal 'WER561D.tmp.WERInternalMetadata.xml' en mi carpeta temporal. Aquí está el contenido (podría contener pistas útiles a los que más conocimientos en esta área que I):

<?xml version="1.0" encoding="UTF-16"?> 
<WERReportMetadata> 
    <OSVersionInformation> 
     <WindowsNTVersion>6.1</WindowsNTVersion> 
     <Build>7600 </Build> 
     <Product>(0x4): Windows 7 Enterprise</Product> 
     <Edition>Enterprise</Edition> 
     <BuildString>7600.16385.x86fre.win7_rtm.090713-1255</BuildString> 
     <Revision>1</Revision> 
     <Flavor>Multiprocessor Free</Flavor> 
     <Architecture>X86</Architecture> 
     <LCID>1033</LCID> 
    </OSVersionInformation> 
    <ProblemSignatures> 
     <EventType>CLR20r3</EventType> 
     <Parameter0>applaunch.exe</Parameter0> 
     <Parameter1>2.0.50727.4927</Parameter1> 
     <Parameter2>4a275abe</Parameter2> 
     <Parameter3>mscorlib</Parameter3> 
     <Parameter4>2.0.0.0</Parameter4> 
     <Parameter5>4a275af7</Parameter5> 
     <Parameter6>4f3</Parameter6> 
     <Parameter7>0</Parameter7> 
     <Parameter8>System.Security.Security</Parameter8> 
    </ProblemSignatures> 
    <DynamicSignatures> 
     <Parameter1>6.1.7600.2.0.0.256.4</Parameter1> 
     <Parameter2>1033</Parameter2> 
    </DynamicSignatures> 
    <SystemInformation> 
     -- removed for privacy reasons -- 
    </SystemInformation> 
</WERReportMetadata> 

Otro punto clave es que estoy publicando a través de Visual Studio, no hay edición manual de manifiesto pasando.

+1

Mire en el registro de eventos de Windows. –

+0

Lo primero que hice, debería haberlo mencionado. Gracias por la sugerencia, sin embargo. –

Respuesta

8

Creo que he identificado el problema, aunque no sé cómo sucedió. Comparando archivo de proyecto actual con una versión que trabajó mostrar, entre otros cambios, estas diferencias:

de esta:

<GenerateManifests>true</GenerateManifests> 

a este:

<GenerateManifests>false</GenerateManifests> 
<TargetZone>LocalIntranet</TargetZone> 
<ApplicationManifest>Properties\app.manifest</ApplicationManifest> 

Si quito TargetZone y ApplicationManifest, y establecer GenerateManifests en falso - funciona.

+1

Después de luchar con este problema durante más de 2 horas, eliminar la etiqueta solucionó todo. ¡Gracias! –

+1

Para ayudar a Google a encontrar esta respuesta, aparecerá un error de este tipo en el Registro de eventos como "Nombre/Tipo de evento: clr20r3, P1 applaunch.exe, P2 , P3 , P4 mscorlib, P5 2.0.0.0, P6 , P7 , P8 0, P9 System.Security.Security, P10 NIL ". –

0

Según MSDN, puede consultar los archivos de registro para ayudarlo. También hay una página de Troubleshooting ClickOnce Deployments que puede ayudarlo.

+0

Gracias Marcel - He generado un archivo de registro según el enlace de MSDN, pero todo está muy limpio. La instalación se completa sin problemas: es el applauncher el que está fallando. Veré el enlace de solución de problemas. –

+0

Nada útil en la guía de solución de problemas. No estoy instalando desde la web, y no estoy generando manualmente los archivos de manifiesto. –

0

Parece que se bloquea cuando se va a comprobar si la nueva versión, ya que decir que después de la actualización happends

  • has necesitado volver a publicar y eliminar la versión existente, por ejemplo ApplicationFiles \ App_1_0_0_1 .. 25?
  • ha informado esto a MS en el MSDN Forums para C1?
  • lo que ha cambiado en el código (nuevas referencias, etc?)

Es difícil de decir, ya que un error de la ventana de informes cosas no parece dar información útil, pero apuesto a que tendría buena suerte. Usualmente lo hago

Además, y sé que esto es poco probable, ya que hace referencia a system.security ¿cambió algo, las permutaciones son las mismas en la carpeta de red para este rev y agregó alguna demanda de seguridad?

0

ClickOnce solo funciona correctamente cuando la aplicación es APTITUD DE CONFIANZA (s.Propiedades-> Seguridad) y el manifiesto no incluye ningún requisito de seguridad UAC superior como en la siguiente fichero manfest:

<?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"> 
    <assemblyIdentity version="1.0.0.0" name="MaxLine5651v1" type="win32" /> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
    <security> 
     <requestedPrivileges> 
     <requestedExecutionLevel level="requireAdministrator"/> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 
</asmv1:assembly> 

Cuando usted tiene un manifiesto solicitando mayores privilegios, ClickOnce NO aceptará para publicar su proyecto.

También estoy luchando en este sentido. Necesito una aplicación para acceder a las configuraciones de registro, registro y firewall; y quiero que sea actualizable en línea. Lamentablemente, no funciona con ClickOnce. Cualquier idea es bienvenida.

--Gokhan

+1

Como ha descubierto (y solo para verificarlo por usted), no puede elevar los privilegios en una aplicación ClickOnce. Tendrá que buscar otra solución si quiere hacer eso. – RobinDotNet

2

¿Cambió la aplicación de plena confianza de confianza parcial? Eso es lo que parece. La zona de Intranet es parte de la seguridad de confianza parcial. Busque en la pestaña Seguridad de las páginas de propiedades de su proyecto.

En segundo lugar, en la pestaña Aplicación de las páginas de propiedades de su proyecto de "Icono y manifiesto", ¿cuál es el valor del campo de manifiesto? ¿Es Crear aplicación sin un manifiesto? Intenta configurarlo en "Incrustar embebido con la configuración predeterminada" y ver si eso ayuda.

+0

sí esto (el primero) fue mi solución. muchas gracias – Rapunzo

-1

Hicimos un pequeño cambio en nuestra aplicación que, desconocido para nosotros, detuvo la ejecución de la aplicación. Después de mucho tiempo tratando de solucionar problemas de ClickOnce, finalmente intenté ejecutar la aplicación por sí mismo y descubrí el problema.

En este caso, el mensaje de error fue engañoso.

Cuestiones relacionadas