我們的一位客戶在部署我們的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瀏覽器。 任何想法如何解決它?
文件損壞有許多可能的原因。您的客戶需要她的IT人員幫助,讓機器重新穩定。 – 2012-01-07 16:00:04
爲什麼你認爲客戶的機器不穩定,文件損壞?我正在考慮更多的網絡問題。我不明白爲什麼ClickOnce嘗試從錯誤的URL進行部署。 – Guy 2012-01-09 07:06:23