【问题标题】:ClickOnce upgrade fails, System.Deployment.Internal.Isolation.StoreTransactionOperationType (27) - HRESULT: 0x8007001fClickOnce 升级失败,System.Deployment.Internal.Isolation.StoreTransactionOperationType (27) - HRESULT: 0x8007001f
【发布时间】:2010-01-26 10:09:26
【问题描述】:

我有一个 ClickOnce 应用程序。在一台机器上 - Windows 7(在其他机器上工作)升级失败 - 安装由 Apache 提供。 整个日志......很长,但唯一的错误是:

ERROR DETAILS
    Following errors were detected during this operation.
    * [26.01.2010 10:55:07] System.Runtime.InteropServices.COMException
        - A device attached to the system is not functioning. (Exception from HRESULT: 0x8007001F)
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Internal.Isolation.IStore.Transact(IntPtr 
cOperation, StoreTransactionOperation[] rgOperations, UInt32[] rgDispositions, Int32[] rgResults)
            at System.Deployment.Internal.Isolation.Store.Transact(StoreTransactionOperation[] operations, UInt32[] rgDispositions, Int32[] rgResults)
            at System.Deployment.Application.ComponentStore.SubmitStoreTransaction(StoreTransactionContext storeTxn, SubscriptionState subState)
            at System.Deployment.Application.ComponentStore.SubmitStoreTransactionCheckQuota(StoreTransactionContext storeTxn, SubscriptionState subState)
            at System.Deployment.Application.ComponentStore.CommitApplication(SubscriptionState subState, CommitApplicationParams commitParams)
            at System.Deployment.Application.SubscriptionStore.CommitApplication(SubscriptionState& subState, CommitApplicationParams commitParams)
            at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc)
            at System.Deployment.Application.ApplicationActivator.ConsumeUpdatedDeployment(SubscriptionState& subState, ActivationDescription actDesc)
            at System.Deployment.Application.ApplicationActivator.PerformDeploymentUpdate(SubscriptionState& subState, String& errorPageUrl)
            at System.Deployment.Application.ApplicationActivator.ProcessOrFollowShortcut(String shortcutFile, String& errorPageUrl, TempFile& deployFile)
            at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
            at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

COMPONENT STORE TRANSACTION DETAILS
    * Transaction at [26.01.2010 10:55:07]
        + System.Deployment.Internal.Isolation.StoreOperationStageComponent
            - Status: Installed
            - HRESULT: 0x0
            - Manifest: 9P1J1J04.O7B.application
             [Cut.. More of the same with HRESULT 0x0]
        + System.Deployment.Internal.Isolation.StoreOperationSetDeploymentMetadata
            - Status: Set
            - HRESULT: 0x0
        + System.Deployment.Internal.Isolation.StoreTransactionOperationType (27)
            - HRESULT: 0x8007001f

这不是很有帮助。有没有人经历过类似的事情并找到了解决方案?我听说安装文件只读可能会导致这种情况,但我无法追踪 C:\Users\testuser.TESTDOMAIN\AppData\Local\Apps\2.0 下的任何只读文件

【问题讨论】:

    标签: .net clickonce


    【解决方案1】:

    ClickOnce 和 Kensington 轨迹球鼠标驱动程序之间存在已验证冲突(我知道是随机的)。尝试运行 ClickOnce 应用程序的具有鼠标驱动程序的计算机将收到“连接到系统的设备未运行”。错误。

    希望这会有所帮助。

    【讨论】:

    • 绝对不是在开玩笑。它在我公司的 HelpDesk ClickOnce 故障排除文档中。
    【解决方案2】:

    我在实现this fix 时遇到了这个错误,因为我的应用程序在升级时丢失了自定义设置。

    问题是我在自定义应用程序上下文的构造函数中调用了Settings.Default.Upgrade(),一旦应用程序重新启动。

    我在应用程序升级后立即升级设置,然后重新启动它,从而消除了错误(省略了错误处理):

    ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment;
    UpdateCheckInfo info = ad.CheckForDetailedUpdate();
    if (info.UpdateAvailable)
    {
      ad.Update();
      UpgradeSettings(); // this calls "Settings.Default.Upgrade()" if necessary
      System.Windows.Forms.Application.Restart();
    }
    

    【讨论】:

      【解决方案3】:

      【讨论】:

      • 在我的例子中,删除 users*user*\AppData 目录的只读属性解决了这个问题。至少是暂时的。
      【解决方案4】:

      我知道这是旧的,但以防万一。我已将用户驱动器格式化为 refs,它正在存储用户配置文件。这阻止了我们的内部点击一次应用程序的安装。我认为相同或至少类似的问题是关于设备无法运行的错误。重新格式化回 ntfs 解决了这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-12-17
        • 2022-11-11
        • 2015-08-06
        • 2019-02-23
        • 1970-01-01
        • 1970-01-01
        • 2023-03-20
        相关资源
        最近更新 更多