Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ClickOnce upgrade fails, System.Deployment.Internal.Isolation.StoreTransactionOperationType (27) - HRESULT: 0x8007001f

Tags:

.net

clickonce

I've a ClickOnce application. On one machine - Windows 7 (works on others) an upgrade failed - the installation is served by Apache. The entire log is ... long, but the only thing that errors are this:

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

This is not very helpful. Has anyone experienced something similar and tracked down a solution ? I've heard suggestions that installation files made read only can cause this, but I can not track down any read only files under C:\Users\testuser.TESTDOMAIN\AppData\Local\Apps\2.0

like image 201
Anonym Avatar asked Jan 26 '10 10:01

Anonym


2 Answers

There is a verified conflict between ClickOnce and Kensington trackball mouse drivers (random, I know). Computers with the mouse driver that attempt to run a ClickOnce application will receive the "A device attached to the system is not functioning." error.

Hope this helps.

like image 99
James Jones Avatar answered Oct 24 '22 17:10

James Jones


I ran into this error when I implemented this fix for my application losing customized settings when upgrading.

The problem was I called Settings.Default.Upgrade() in the constructor of my custom application context once the application was restarted.

I got rid of the error by upgrading the settings right after the application was upgraded before restarting it (error handling omitted):

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();
}
like image 37
magnoz Avatar answered Oct 24 '22 16:10

magnoz