2011-10-15 42 views
10

我們的一位用戶的ClickOnce存在非常嚴重的問題。錯誤是一個經典之一:ClickOnce安裝期間發生FileNotFoundException,缺少HKCU Software Classes Software

 Following errors were detected during this operation. * [14/10/2011 01:40:25] System.IO.FileNotFoundException 
     - The system cannot find the file specified. (Exception from HRESULT: 0x80070002) 
     - Source: System.Deployment 
     - Stack trace:  
at System.Deployment.Internal.Isolation.IsolationInterop.GetUserStore(UInt32 Flags, IntPtr hToken, Guid& riid)  
at System.Deployment.Internal.Isolation.IsolationInterop.GetUserStore() 
at System.Deployment.Application.ComponentStore..ctor(ComponentStoreType storeType, SubscriptionStore subStore)  
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) at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state) 

但是沒有任何傳統的解決方案的工作。我們嘗試:

  1. 刪除文件夾,並在明顯的相關文件複製到該應用程序
  2. 刪除2.0文件夾
  3. 刪除app文件夾
  4. 運行法師-cc
  5. 殺dfsvc.exe,然後再試一次(dfsvc每次失敗都會加載)

我在.NET 3.5和.NET 4.0中發佈了一個helloworld應用程序,並將整個\ publish文件夾複製到他的機器上。這也沒有安裝,給出了相同的錯誤。最後,我去了註冊表,嘗試爲每個RobinDotNet添加增強日誌記錄,並意識到HKCU \ Software \ Classes \ Software完全缺失。繼一些線程之後,我去了並重命名爲UsrClass.dat。但是,在註銷並登錄之後,這不會被重建。我懷疑這可能是問題。有關如何讓ClickOnce再次工作的想法?

這是一個相當新鮮的Windows 7專業版安裝。

更新這是另一個線索。我們可以將UsrClass.dat重命名爲任何內容,或者在沒有任何Windows投訴的情況下將其刪除 - 因此它不會被加載。在我的機器上它抱怨它正在使用中。

+0

你是什麼意思時,你說你在.NET 3.5發佈的應用程序和.NET 4.0和複製\文件夾發佈到自己的機器?什麼是您的應用程序的安裝URL?因爲如果將它複製到機器上,如果它被設置爲從其他地方安裝它,則它將不起作用 - 它將在該位置中查找。 – RobinDotNet

回答

0

我會說忘了ClickOnce,並得到該註冊表整理出來。這可能是不適合的StackOverflow正確的題目,更像SuperUser.com ...

總之:
1)嘗試使用系統還原,看看你能不能找到此註冊表配置單元存在的狀態,你可能有回去好幾個星期。
2)嘗試從您的機器導出該註冊表配置單元並將其導入客戶機。看看錯誤是否消失或者它是否抱怨不同的配置單元 - 註冊表可能會損壞,並且還有其他配置單元丟失以及...
3)如果這兩個問題沒有解決問題,那麼你最好做一個乾淨的安裝(它會比尋找問題的確切原因更快,你可以確保一切都會被修復)
4)最後卸載任何註冊表清理或PC調整軟件。已知它們會導致問題,註冊表腐敗就是其中之一。同時檢查是否有硬件問題,硬盤可能已經開發出壞塊或內存可能有問題(運行MemTest 3+遍以確保)...

0

嘗試卸載它,然後重新安裝它!我相信它應該工作。

-1

嘗試清理註冊表的工具。我從來沒有遇到過這種情況,但我認爲這與應用程序和清單無關,請檢查可能導致用戶計算機出現此問題的軟件或工具。

0

下嘗試刪除文件夾:

C:\Users\username\AppData\Local\Apps\2.0\ 

除了Data文件夾。

您應該刪除.NET框架的臨時文件太多:

C:\WINDOWS\Microsoft.NET\Framework\<version>\Temporary ASP.NET Files 
相關問題