ClickOnce升级失败,System.Deployment.Internal.Isolation.StoreTransactionOperationType(27) - HRESULT:0x8007001f

时间:2010-01-26 10:09:27

标签: .net clickonce

我有一个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

下的任何只读文件。

4 个答案:

答案 0 :(得分:1)

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

希望这有帮助。

答案 1 :(得分:1)

答案 2 :(得分:1)

当我为我的应用程序实现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 :(得分:0)

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