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
¿Alguien puede ayudarme con esto? – Irek