2014-12-15 13 views
6

Viene visualizzato questo errore durante l'avvio dell'impostazione ClickOnce. Dice "Impossibile continuare. L'applicazione è formattata in modo errato. 'L'applicazione è formattata in modo errato

EDIT: Questo è accaduto dopo il Visual Studio 2013 Update 4 (2.013,4)

Ecco come creo i file:

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 

I dettagli dell'errore:

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) 

risposta

3

I il problema era che c'erano due assembly con la stessa firma nella distribuzione di ClickOnce.

Visual Studio crea (dopo l'aggiornamento 2013.4) una cartella denominata "app.publish" che contiene una copia dell'assembly principale.

Eseguendo mage [...] -DaDirectory "Release" includeva l'assembly principale e la copia dell'assembly principale dalla directory app.publish.

Ho risolto questo eliminando la cartella app.publish prima di eseguire mage.

Problemi correlati