繁体   English   中英

使用ClickOnce部署启动缓慢的应用程序

[英]Slow application startup using ClickOnce deployment

我们正在使用ClickOnce部署我们的应用程序,我们注意到当我们通过单击ClickOnce桌面图标启动我们的应用程序时,应用程序启动速度较慢(至少需要30-60秒),而不是直接从.exe启动。 我已经看到它不是一个未知的问题( Clickonce在更新后启动应用程序的速度很慢 ),但它似乎仍未解决。 我想知道为什么会发生这种情况以及如何解决这个问题。

我只使用一台机器,所以我猜它与机器无关,与防病毒无关。

我在启动期间注意到不同的内存管理模式:ClickOnce部署需要更多时间,一段时间后它会释放一些内存。 我们仍然在讨论12 MB的差异(67MB通过ClickOnce,50通过直接.exe)。

这让我疯狂......

谢谢

我猜这不是与机器相关的,也不是与防病毒相关的。

您需要通过在开发虚拟机上安装客户端所使用的相同防病毒来证明该假设。 如果无法重现慢启动比较机器之间的ProcMon跟踪。


我相信汉斯是有钱的,反病毒是最有可能的罪魁祸首,根据您在问题中提到的质量保证中的正确答案:

对于新部署的首次运行,我看到非常差的性能(分钟与几秒).Net应用程序是用户正在运行防病毒软件,因为防病毒工具检查新的Jitted程序集不是恶意的。


确保您使用的是.NET Framework 3.5 SP1或更高版本,因为“在启动方面有显着的性能改进。特别是对于WPF应用程序”,3.5 SP1包括Splash Screens。

启动画面可以是一个快速(临时)修复。 唉,不是一个理想的解决方案。


ClickOnce现在已经很老了,并且在这个领域已经取得了很多进步,所以为什么不采用另一种具有不同部署机制的策略,例如应用程序中的Windows Installer和Update Menu。 我详细介绍了在升级应用程序时使MSI安装程序安装到相同路径的步骤。

如果你想严格要求每个人都使用最新版本而不是ClickOnce,最好有一个Web服务,应用程序启动并下载并在新版本发布时执行更新。

此外,请在此区域提供Google提示。 你还记得Jeff Atwood的文章: http//blog.codinghorror.com/the-infinite-version/

在此输入图像描述

如果您不使用ClickOnce,您可以使用NGEN和bsdiff之类的东西,甚至可能使用Google小胡瓜


还有一些其他方法可以加速这里讨论的ClickOnce应用程序的启动。


虽然这可能无法直接回答您的问题,但希望它能让您深入思考如何识别根本原因和/或使用不同的更新方法来推出更新。

发布构建时,请选择在脱机模式下运行应用程序的选项。 否则,clickonce安装程序将尝试从您的服务器而不是本地exe启动应用程序。

如果有任何其他情况需要调查或这有帮助,请告诉我。

谢谢,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM