2010-01-26 134 views
16

我有一個ClickOnce應用程序。在一臺機器上--Windows 7(適用於其他機器)升級失敗 - 安裝由Apache提供。 整個日誌...長,但唯一的錯誤是這樣的:ClickOnce升級失敗,System.Deployment.Internal.Isolation.StoreTransactionOperationType(27) - HRESULT:0x8007001f

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下的任何只讀文件。

回答

1

有一個驗證ClickOnce和Kensington軌跡球鼠標驅動程序之間的衝突(隨機,我知道)。帶有試圖運行ClickOnce應用程序的鼠標驅動程序的計算機將收到「附加到系統的設備無法運行」。錯誤。

希望這會有所幫助。

+3

你在開玩笑嗎? – tofutim 2011-12-02 17:25:31

+0

絕對不是在開玩笑。它位於我公司的HelpDesk ClickOnce故障排除文檔中。 – 2012-01-06 16:40:19

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(); 
} 
0

我知道這是舊的,但如果它是有幫助的。我已經格式化了一個用戶驅動器到refs,這正在處理用戶配置文件。這阻止了我們的內部點擊應用程序的安裝。我認爲相同或至少類似的問題與關於設備不能正常工作的錯誤有關。重新格式化回NTFS解決了這個問題。