ClickOnce部署错误:应用程序格式不正确...(网站安装)

时间:2015-02-05 20:26:07

标签: deployment visual-studio-2013 web clickonce

我正在尝试使用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浏览器。

1 个答案:

答案 0 :(得分:0)

您可能需要允许访问Install文件夹。 ClickOnce打开与Install文件夹的新连接。因此,即使您有权访问该文件夹,新连接也无法访问组件,例如清单。

在下面的示例中,为简洁起见,MyInstallPath授予了开放访问权限:

  <runtime>
    <location path="MyInstallPath">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
    </location>
  </runtime>