You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决.NET应用启动时的Lock timeout异常问题

.NET ClickOnce应用启动失败:LockTimeout异常,无法卸载重装

问题描述

使用.NET相关技术已有数年,首次遇到应用启动失败问题,触发System.Deployment.Application.DeploymentException (LockTimeout)异常。尝试通过启动器卸载重装应用,但启动器无法打开。该应用为基础工具类应用,支持展示Nas、Drake等艺人的YouTube播放列表、维基百科简介、谷歌图片,还内置国际象棋、纸牌等小游戏,此前运行完全正常。

错误日志

PLATFORM VERSION INFO
    Windows             : 10.0.19044.0 (Win32NT)
    Common Language Runtime     : 4.0.30319.42000
    System.Deployment.dll       : 4.8.4270.0 built by: NET48REL1LAST_C
    clr.dll             : 4.8.4515.0 built by: NET48REL1LAST_C
    dfdll.dll           : 4.8.4270.0 built by: NET48REL1LAST_C

SOURCES
    Deployment url          : file:///C:/Users/derri/Desktop/NAS%20ETHER.appref-ms%7C

ERROR SUMMARY
    Below is a summary of the errors, details of these errors are listed later in the log.
    * Activation of C:\Users\derri\Desktop\NAS ETHER.appref-ms| resulted in exception. Following failure messages were detected:
        + Lock timeout exception.

COMPONENT STORE TRANSACTION FAILURE SUMMARY
    No transaction error was detected.

WARNINGS
    There were no warnings during this operation.

OPERATION PROGRESS STATUS
    * [9/14/2022 7:25:14 PM] : Activation of C:\Users\derri\Desktop\NAS ETHER.appref-ms| has started.

ERROR DETAILS
    Following errors were detected during this operation.
    * [9/14/2022 7:27:14 PM] System.Deployment.Application.DeploymentException (LockTimeout)
        - Lock timeout exception.
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Application.LockedFile.AcquireLock(String path, TimeSpan timeout, Boolean writer)
            at System.Deployment.Application.SubscriptionStore..ctor(String deployPath, String tempPath, ComponentStoreType storeType)
            at System.Deployment.Application.SubscriptionStore.get_CurrentUser()
            at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl, Uri& deploymentUri)
            at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivationWithRetry(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
--- End of stack trace from previous location where exception was thrown ---
            at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
            at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivationWithRetry(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
            at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

COMPONENT STORE TRANSACTION DETAILS
    No transaction information is available.

解决步骤

  • 终止锁定进程
    打开任务管理器,找到并结束dfsvc.exe(ClickOnce部署服务进程),以及任何与该应用相关的残留进程;若无法区分,可结束关联Windows Installer/ClickOnce的svchost.exe进程。

  • 清理ClickOnce缓存

    1. 以管理员身份打开命令提示符,执行命令:
      rundll32 dfshim CleanOnlineAppCache
      
    2. 或手动删除缓存目录:导航到C:\Users\derri\AppData\Local\Apps\2.0,删除该目录下所有内容(操作前可备份重要数据)。
  • 修复.NET Framework
    打开控制面板→程序和功能,找到Microsoft .NET Framework 4.8,点击「更改」→选择「修复」,完成后重启系统。

  • 手动卸载应用

    1. 打开控制面板→程序和功能,找到「NAS ETHER」应用,直接点击卸载。
    2. 若控制面板中找不到该应用,打开管理员权限的PowerShell执行:
      Get-WmiObject -Class Win32_Product | Where-Object {$_.Name -like "*NAS ETHER*"} | ForEach-Object {$_.Uninstall()}
      
  • 重新安装应用
    使用原安装包或部署链接重新安装应用,测试启动是否正常。

内容的提问来源于stack exchange,提问作者Derrick W. Jackson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 07:11:04