从“开始菜单”链接单击“开始时间”

时间:2009-06-29 14:00:42

标签: c# windows winforms deployment clickonce

我使用clickonce 3.5部署了大型应用程序(600个文件中190 MB)。安装此应用程序后,我从位于“开始”菜单中的链接运行它,但显示我的启动画面需要4-12秒。从.exe文件运行此应用程序时,1秒后可以看到启动画面。 我的应用程序不使用自动更新(Clickonce更新是从源代码手动完成的)

我尝试使用dotTrace来分析这个应用程序,以找出启动过程中需要这么长时间的内容并找出答案

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

花了很多时间

这是完整的子树:

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)

如何缩短申请的开始时间?这非常关键,因为有时用户必须等待超过12秒才能看到启动画面

1 个答案:

答案 0 :(得分:1)

看起来很长一段时间花在确定应用程序的信任级别上。您是否尝试过完全信任地部署此应用程序,看看是否会缩短时间?