2012-01-07 75 views
0

我們的一位客戶在部署我們的ClickOnce應用程序時遇到問題。請注意,他是唯一一個出現問題的人,其他人都成功部署。在日誌中,我們可以看到一個「錯誤的」URL。詳細日誌文件:ClickOnce InvalidDeploymentException(ManifestParse)僅針對某些用戶的錯誤URL

PLATFORM VERSION INFO 
    Windows    : 5.1.2600.196608 (Win32NT) 
    Common Language Runtime  : 4.0.30319.1 
    System.Deployment.dll   : 4.0.30319.1 (RTMRel.030319-0100) 
    clr.dll    : 4.0.30319.1 (RTMRel.030319-0100) 
    dfdll.dll    : 4.0.30319.1 (RTMRel.030319-0100) 
    dfshim.dll    : 4.0.31106.0 (Main.031106-0000) 

SOURCES 
    Deployment url   : http://download.sandboxmodel.com/ptb/PTB.application 

ERROR SUMMARY 
    Below is a summary of the errors, details of these errors are listed later in the log. 
    * Activation of http://download.sandboxmodel.com/ptb/PTB.application (correct URL) resulted in exception. Following failure messages were detected: 
     + Exception reading manifest from 
http://wrongurl.htm?Time=05%2FJan%2F2012%3A14%3A27%3A13%20-0600&ID=4919900&Client_IP.... the manifest may not be valid or the file could not be opened. 
     + Expected DTD markup was not found. Line 1, position 3. 

COMPONENT STORE TRANSACTION FAILURE SUMMARY 
    No transaction error was detected. 

WARNINGS 
    There were no warnings during this operation. 

OPERATION PROGRESS STATUS 
    * [1/5/2012 2:27:13 PM] : Activation of http://download.sandboxmodel.com/ptb/PTB.application (correct URL) has started. 

ERROR DETAILS 
    Following errors were detected during this operation. 
    * [1/5/2012 2:27:13 PM] System.Deployment.Application.InvalidDeploymentException (ManifestParse) 
     - Exception reading manifest from 
http://wrongurl.htm?Time=05%2FJan%2F2012%3A14%3A27%3A13%20-0600&ID=4919900&Client_IP.... the manifest may not be valid or the file could not be opened. 
     - Source: System.Deployment 
     - Stack trace: 
      at System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri) 
      at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation) 
      at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options) 
      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) 
     --- Inner Exception --- 
     System.Xml.XmlException 
     - Expected DTD markup was not found. Line 1, position 3. 
     - Source: System.Xml 
     - Stack trace: 
      at System.Xml.XmlTextReaderImpl.Throw(Exception e) 
      at System.Xml.XmlTextReaderImpl.DtdParserProxy.System.Xml.IDtdParserAdapter.Throw(Exception e) 
      at System.Xml.DtdParser.Throw(Int32 curPos, String res, String arg) 
      at System.Xml.DtdParser.ScanSubsetContent() 
      at System.Xml.DtdParser.GetToken(Boolean needWhiteSpace) 
      at System.Xml.DtdParser.ParseSubset() 
      at System.Xml.DtdParser.ParseExternalSubset() 
      at System.Xml.DtdParser.ParseInDocumentDtd(Boolean saveInternalSubset) 
      at System.Xml.DtdParser.Parse(Boolean saveInternalSubset) 
      at System.Xml.DtdParser.System.Xml.IDtdParser.ParseInternalDtd(IDtdParserAdapter adapter, Boolean saveInternalSubset) 
      at System.Xml.XmlTextReaderImpl.ParseDtd() 
      at System.Xml.XmlTextReaderImpl.ParseDoctypeDecl() 
      at System.Xml.XmlTextReaderImpl.ParseDocumentContent() 
      at System.Xml.XmlTextReaderImpl.Read() 
      at System.Xml.XmlTextReader.Read() 
      at System.Deployment.Application.ManifestValidatingReader.XmlFilteredReader.Read() 
      at System.Xml.XmlCharCheckingReader.Read() 
      at System.Xml.XsdValidatingReader.Read() 
      at System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri) 

COMPONENT STORE TRANSACTION DETAILS 
    No transaction information is available. 

我們從Visual Studio 2010中使用.NET Framework 4.0客戶端配置文件發佈,沒有任何「特殊」 settings.These一些設置: 該應用程序可在網上只 啓用的ClickOnce安全設置完全信任 清單和程序集已簽署

我試圖部署時與客戶進行了驗證,他使用的是Internet Explorer瀏覽器。 任何想法如何解決它?

+0

文件損壞有許多可能的原因。您的客戶需要她的IT人員幫助,讓機器重新穩定。 – 2012-01-07 16:00:04

+0

爲什麼你認爲客戶的機器不穩定,文件損壞?我正在考慮更多的網絡問題。我不明白爲什麼ClickOnce嘗試從錯誤的URL進行部署。 – Guy 2012-01-09 07:06:23

回答

0

我們在將URL重定向到例如公共WLAN的登錄頁面。由於我們需要更新,只要啓用WLAN適配器,用戶就無法啓動應用程序。

+0

在我的發佈設置中,我禁用了更新,客戶仍然存在此問題。您將URL重定向到公共WLAN的登錄頁是什麼意思?這是客戶網絡中的一些網絡設置嗎?你找到了解決問題的方法嗎? – Guy 2012-01-23 06:45:36