2015-02-05 1 views
1

ClickOnce를 사용하여 프로그램을 배포하려고합니다. "CD에서 설치"버전을 사용해도 정상적으로 작동합니다.ClickOnce 배포 오류 : 응용 프로그램 형식이 잘못되었습니다 ... (웹 사이트 설치)

Cannot continue. The application is improperly formatted. Contact the application vendor for assistance.

자세한 오류는 다음과 같습니다 : 나는 그것을 실행하려고하면 나는 오류 다음 얻을 "웹 사이트에서 설치"버전에 배포하려고하면

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에서 응용 프로그램을 실행할 수 있지만 여전히이 오류가 발생합니다. 다른 사람이이 솔루션이 작동하지 않는 이유에 대한 해결책이 있습니까? 나는 크롬과 IE에서 노력했다.

답변

0

설치 폴더에 대한 액세스를 허용해야 할 수 있습니다. ClickOnce는 Install 폴더에 대한 새 연결을 엽니 다. 따라서 폴더에 대한 액세스 권한이 있더라도 새 연결은 구성 요소 (예 : 매니페스트)에 액세스 할 수 없습니다.

<runtime> 
    <location path="MyInstallPath"> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
    </location> 
    </runtime> 
: 단지 간결 아래의 예에서

, 그리고, 오픈 액세스는 MyInstallPath 부여됩니다
관련 문제