2014-12-15 19 views
6

Tôi gặp lỗi này khi bắt đầu thiết lập ClickOnce. Nó nói 'Không thể tiếp tục. Ứng dụng được định dạng không chính xác. 'Ứng dụng được định dạng không đúng

EDIT: Điều này xảy ra sau khi Visual Studio 2013 Update 4 (2013,4)

Đây là cách tôi tạo ra các tập tin:

mage -New Application -ToFile "$BinSingleEscape\Release\$ProductNameFile.exe.manifest" -Name "$ProductName" -Version $Version -FromDirectory "$BinSingleEscape\Release" -IconFile "Icon.ico" -SupportURL "$SupportUrl" -UseManifestForTrust true -Publisher "$PublisherCompany" -TimestampUri http://timestamp.verisign.com/scripts/timstamp.dll 

mage -Sign "$BinSingleEscape\Release\$ProductNameFile.exe.manifest" -CertHash "d00...66f" -TimestampUri http://timestamp.verisign.com/scripts/timstamp.dll 

mage -New Deployment -Install true -AppCodeBase "$Version\$ProductNameFile.exe.manifest" -Name "$ProductNameFile" -Publisher "$PublisherCompany" -AppManifest "$BinSingleEscape\Release\$ProductNameFile.exe.manifest" -ProviderUrl "$InstallUrl/$ProductNameFile.application" -Version $Version -ToFile "$BinSingleEscape\Deploy\$ProductNameFile.application" -SupportURL "$SupportUrl" -TimestampUri http://timestamp.verisign.com/scripts/timstamp.dll 

mage -Sign "$BinSingleEscape\Deploy\$ProductNameFile.application" -CertHash "d00...66f" -TimestampUri http://timestamp.verisign.com/scripts/timstamp.dll 

Các chi tiết của lỗi:

ERROR SUMMARY 
    Below is a summary of the errors, details of these errors are listed later in the log. 
    * Activation of http://downloads...App.application resulted in exception. Following failure messages were detected: 
     + Exception reading manifest from http://downloads....App.exe.manifest: the manifest may not be valid or the file could not be opened. 
     + Parsing and DOM creation of the manifest resulted in error. Following parsing errors were noticed: 
      -HRESULT: 0x80070c81 
      Start line: 0 
      Start column: 0 
      Host file:  
     + Exception from HRESULT: 0x80070C81 

COMPONENT STORE TRANSACTION FAILURE SUMMARY 
    No transaction error was detected. 

WARNINGS 
    There were no warnings during this operation. 

OPERATION PROGRESS STATUS 
    * [15.12.2014 18:50:01] : Activation of http://downloads....App.application has started. 
    * [15.12.2014 18:50:01] : Processing of deployment manifest has successfully completed. 
    * [15.12.2014 18:50:01] : Installation of the application has started. 

ERROR DETAILS 
    Following errors were detected during this operation. 
    * [15.12.2014 18:50:02] System.Deployment.Application.InvalidDeploymentException (ManifestParse) 
     - Exception reading manifest from http://downloads....App.exe.manifest: 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.DownloadApplicationManifest(AssemblyManifest deploymentManifest, String targetDir, Uri deploymentUri, IDownloadNotification notification, DownloadOptions options, Uri& appSourceUri, String& appManifestPath) 
      at System.Deployment.Application.DownloadManager.DownloadApplicationManifest(AssemblyManifest deploymentManifest, String targetDir, Uri deploymentUri, Uri& appSourceUri, String& appManifestPath) 
      at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp) 
      at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc) 
      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.Deployment.Application.InvalidDeploymentException (ManifestParse) 
     - Parsing and DOM creation of the manifest resulted in error. Following parsing errors were noticed: 
      -HRESULT: 0x80070c81 
      Start line: 0 
      Start column: 0 
      Host file:  
     - Source: System.Deployment 
     - Stack trace: 
      at System.Deployment.Application.Manifest.AssemblyManifest.LoadCMSFromStream(Stream stream) 
      at System.Deployment.Application.Manifest.AssemblyManifest..ctor(FileStream fileStream) 
      at System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri) 
     --- Inner Exception --- 
     System.Runtime.InteropServices.COMException 
     - Exception from HRESULT: 0x80070C81 
     - Source: System.Deployment 
     - Stack trace: 
      at System.Deployment.Internal.Isolation.IsolationInterop.CreateCMSFromXml(Byte[] buffer, UInt32 bufferSize, IManifestParseErrorCallback Callback, Guid& riid) 
      at System.Deployment.Application.Manifest.AssemblyManifest.LoadCMSFromStream(Stream stream) 

Trả lời

3

Các vấn đề là, có hai hội đồng có cùng chữ ký trong triển khai ClickOnce.

Visual Studio tạo (sau khi cập nhật 2013.4) một thư mục có tên 'app.publish' chứa một bản sao của assembly chính.

Bằng cách chạy pháp sư [...] -FromDirectory "Release" nó bao gồm lắp ráp chính và bản sao của cụm chính từ thư mục app.publish.

Tôi đã giải quyết vấn đề này bằng cách xóa thư mục app.publish trước khi chạy mage.

Các vấn đề liên quan