我們的一位用戶的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)
但是沒有任何傳統的解決方案的工作。我們嘗試:
- 刪除文件夾,並在明顯的相關文件複製到該應用程序
- 刪除2.0文件夾
- 刪除app文件夾
- 運行法師-cc
- 殺dfsvc.exe,然後再試一次(dfsvc每次失敗都會加載)
我在.NET 3.5和.NET 4.0中發佈了一個helloworld應用程序,並將整個\ publish文件夾複製到他的機器上。這也沒有安裝,給出了相同的錯誤。最後,我去了註冊表,嘗試爲每個RobinDotNet添加增強日誌記錄,並意識到HKCU \ Software \ Classes \ Software完全缺失。繼一些線程之後,我去了並重命名爲UsrClass.dat。但是,在註銷並登錄之後,這不會被重建。我懷疑這可能是問題。有關如何讓ClickOnce再次工作的想法?
這是一個相當新鮮的Windows 7專業版安裝。
更新這是另一個線索。我們可以將UsrClass.dat重命名爲任何內容,或者在沒有任何Windows投訴的情況下將其刪除 - 因此它不會被加載。在我的機器上它抱怨它正在使用中。
你是什麼意思時,你說你在.NET 3.5發佈的應用程序和.NET 4.0和複製\文件夾發佈到自己的機器?什麼是您的應用程序的安裝URL?因爲如果將它複製到機器上,如果它被設置爲從其他地方安裝它,則它將不起作用 - 它將在該位置中查找。 – RobinDotNet