我正在尝试使用ClickOnce部署程序。如果我尝试“从CD安装”版本,它工作正常。如果我尝试在“从网站安装”版本中部署它,如果我尝试运行它,则会出现以下错误:
无法继续。应用程序格式不正确。联系 应用程序供应商提供帮助。
详细错误是:
PLATFORM VERSION INFO
Windows : 6.1.7601.65536 (Win32NT)
Common Language Runtime : 4.0.30319.18444
System.Deployment.dll : 4.0.30319.34244 built by: FX452RTMGDR
clr.dll : 4.0.30319.18444 built by: FX451RTMGDR
dfdll.dll : 4.0.30319.34244 built by: FX452RTMGDR
dfshim.dll : 4.0.41209.0 (Main.041209-0000)
SOURCES
Deployment url : https://mywebsite.com/HBAPackageConfig.application
ERROR SUMMARY
Below is a summary of the errors, details of these errors are listed later in the log.
* Activation of https://mywebsite.com/HBAPackageConfig.application resulted in exception. Following failure messages were detected:
+ Exception reading manifest from https://mywebsite.com/HBAPackageConfig.application: the manifest may not be valid or the file could not be opened.
+ For security reasons DTD is prohibited in this XML document. To enable DTD processing set the DtdProcessing property on XmlReaderSettings to Parse and pass the settings into XmlReader.Create method.
COMPONENT STORE TRANSACTION FAILURE SUMMARY
No transaction error was detected.
WARNINGS
There were no warnings during this operation.
OPERATION PROGRESS STATUS
* [2/5/2015 2:13:50 PM] : Activation of https://mywebsite.com/HBAPackageConfig.application has started.
ERROR DETAILS
Following errors were detected during this operation.
* [2/5/2015 2:13:51 PM] System.Deployment.Application.InvalidDeploymentException (ManifestParse)
- Exception reading manifest from https://mywebsite.com/HBAPackageConfig.application: 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
- For security reasons DTD is prohibited in this XML document. To enable DTD processing set the DtdProcessing property on XmlReaderSettings to Parse and pass the settings into XmlReader.Create method.
- Source: System.Xml
- Stack trace:
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中签名应用程序,但我仍然遇到此错误。 有没有人为我解决这个问题的原因?我试过Chrome和IE浏览器。
答案 0 :(得分:0)
您可能需要允许访问Install文件夹。 ClickOnce打开与Install文件夹的新连接。因此,即使您有权访问该文件夹,新连接也无法访问组件,例如清单。
在下面的示例中,为简洁起见,MyInstallPath授予了开放访问权限:
<runtime>
<location path="MyInstallPath">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
</runtime>