2014-12-15 13 views
6

Ich bekomme diesen Fehler beim Starten der ClickOnce-Setup. Es heißt 'Kann nicht fortgesetzt werden. Die Anwendung ist nicht ordnungsgemäß formatiert.Die Anwendung ist falsch formatiert

EDIT: Dies geschah nach dem Visual Studio 2013 Update 4 (2013,4)

Hier ist, wie ich die Dateien zu erstellen:

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 

Die Details des Fehlers:

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) 

Antwort

3

Der Problem war, dass es in der ClickOnce-Bereitstellung zwei Assemblys mit der gleichen Signatur gab.

Visual Studio erstellt (nach dem 2013.4-Update) einen Ordner namens "app.publish", der eine Kopie der Hauptbaugruppe enthält.

Durch Ausführen von mage [...] -FromDirectory "Release" enthielt es die Hauptbaugruppe und die Kopie der Hauptbaugruppe aus dem app.publish-Verzeichnis.

Ich löste dies, indem ich den Ordner app.publish vor dem Ausführen von Magier löschte.