2009-06-29 13 views
5

Tengo una gran aplicación (190 MB en 600 archivos) implementada con clickonce 3.5. Después de la instalación de esta aplicación, la ejecuto desde el enlace ubicado en el menú de inicio, pero demora entre 4 y 12 segundos para mostrar mi pantalla de bienvenida. Cuando esta aplicación se ejecuta desde el archivo .exe, la pantalla de bienvenida es visible después de 1 segundo. Mi aplicación no utilice las actualizaciones automáticas (actualización de ClickOnce se realiza manualmente desde el código fuente)Hora de inicio de ClickOnce desde el enlace del menú Inicio

He trato de perfilar esta aplicación utilizando dotTrace para averiguar lo que lleva tanto tiempo durante el arranque y descubrir que

IActContext System.Deployment.Internal.Isolation.IsolationInterop.CreateActContext(IDefinitionAppId) 
toda

lleva mucho tiempo

Aquí es subárbol:

36,71% SetDomainManager - 12972 ms - 0 calls - System.AppDomain.SetDomainManager(Evidence, Evidence, IntPtr, Boolean) 
    18,52% CreateActivationContext - 6542 ms - 0 calls - System.Deployment.Internal.Isolation.Manifest.CmsUtils.CreateActivationContext(String, String [], Boolean, ApplicationIdentity &, ActivationContext &) 
    18,52% ActivationContext..ctor - 6542 ms - 0 calls - System.ActivationContext..ctor(ApplicationIdentity) 
     18,52% CreateFromName - 6542 ms - 0 calls - System.ActivationContext.CreateFromName(ApplicationIdentity) 
     18,52% CreateActContext - 6542 ms - 0 calls - System.Deployment.Internal.Isolation.IsolationInterop.CreateActContext(IDefinitionAppId) 
    18,19% SetupApplicationHelper - 6429 ms - 0 calls - System.AppDomain.SetupApplicationHelper(Evidence, Evidence, ApplicationIdentity, ActivationContext, String []) 
    18,19% DetermineApplicationTrust - 6429 ms - 0 calls - System.Security.HostSecurityManager.DetermineApplicationTrust(Evidence, Evidence, TrustManagerContext) 
     18,10% get_ActivationContext - 6396 ms - 0 calls - System.Runtime.Hosting.ActivationArguments.get_ActivationContext() 
     18,10% CreateFromName - 6396 ms - 0 calls - System.ActivationContext.CreateFromName(ApplicationIdentity) 
      18,10% CreateActContext - 6396 ms - 0 calls - System.Deployment.Internal.Isolation.IsolationInterop.CreateActContext(IDefinitionAppId) 
     0,09% DetermineApplicationTrustInternal - 33 ms - 0 calls - System.Security.Policy.ApplicationSecurityManager.DetermineApplicationTrustInternal(ActivationContext, TrustManagerContext) 

¿Cómo puedo reducir el tiempo de inicio de mi ¿solicitud? Esto es muy crítico porque a veces el usuario tiene que esperar más de 12 segundos para ver la pantalla de bienvenida

+0

¿Alguien puede ayudarme con esto? – Irek

Respuesta

1

Parece que una buena parte del tiempo se dedica a determinar el nivel de confianza de su aplicación. ¿Has intentado implementar esta aplicación con plena confianza para ver si eso reducirá el tiempo?

+0

Ok, tengo plena confianza en el manifiesto de mi aplicación. – Irek

+0

El tiempo de inicio es el mismo. Nada ha cambiado. – Irek

Cuestiones relacionadas