2014-05-21 4 views
8

Ich habe eine WP8 App, die ich in 3 Konfigurationen erstellen muss (Release, Release (Prepro), Release (Fälschung)). Jede Konfiguration verweist auf einen anderen Server und hat verschiedene App-Symbole. Ich muss in der Lage sein, alle 3 im Telefon zur gleichen Zeit bauen zu lassen, also meine Lösung ist, dass ich 3 verschiedene WMAppManifest.xml Dateien (mit verschiedenen Führungen und Symbolpfaden) erstellt habe und ich die richtige in einem Pre-Build-Schritt kopiere . Dies funktioniert einwandfrei (basierend auf diesem Artikel http://www.tonicodes.net/blog/using-different-wmappmanifest-files-for-release-and-debug-builds/).Die Installation der Anwendung ist fehlgeschlagen. Die XAP-Paketsignatur ist nicht gültig oder die WP-Manifestdatei ist ungültig.

Ich habe die App auf WP81 Silverlight aktualisiert. Es gibt eine zusätzliche Package.appxmanifest Datei. Also habe ich 3 verschiedene Package.appxmanifest Dateien erstellt, das PhoneProductId Attribut auf die richtige Guid gesetzt und einen Pre-Build Schritt hinzugefügt, um das Kopieren auch für diese Datei zu machen.

Wenn ich versuche, die App in Version (Präpro) oder Release (fake) zu laufen, andere Bedeutung WMAppManifest.xml ein Package.appxmanifest zunächst in das Projekt kopiert werden, ich

bekommen
Installation of the application failed. XAP package signature is not valid or the WP manifest file is invalid. Re-sign with valid signature and fix the manifest file. 

Gibt es etwas anderes als PhoneProductId dass Ich muss in den neuen Package.appxmanifest Dateien geändert werden, um Arbeit zu machen?

+0

Derselbe Fehler trat nach dem Hinzufügen von Dateizuordnungen auf. Die Ursache waren Bilddateien, die Sie als Ihr Logo angeben mussten. ** Stellen Sie also sicher, dass die Ressourcen, die Sie in XML angeben, vorhanden sind. ** – Mangesh

Antwort

5

Ich fand ich musste:

  1. Machen Sie das Package.appxmanifest Paket> Identität> Name einzigartig (Stand @kjo4jc's answer)
  2. Ändern Sie den Package.appxmanifest mp: PhoneIdentity> PhoneProductId GUID von der unterscheiden Wert im Laden verwendet.
  3. Die geänderte GUID musste auch in wmappmanifest.xml Deployment> App> ProductID geändert werden.
+0

Vielen Dank für das Teilen - es ist völlig verstörend, dass ich meine App und die nächste Version nicht ohne diesen Hack auf dem gleichen Gerät haben kann und ich konnte keine offizielle Dokumentation zu diesem Problem finden. – Christoph

8

Ich hatte das gleiche Problem, und vielleicht kann ich Ihnen helfen. Diese xap-Signatur ist nicht gültig, wenn einige der "Bilder" in der appxmanifest-Datei nicht wirklich im Projekt vorhanden sind. Ich habe mein Splashscreen-Bild, das diesen Fehler verursacht hat, gelöscht, indem ich es aus der appxmanifest-Datei gelöscht habe. Außerdem haben Sie für jedes Paket eine neue Paket-ID, mit der Sie die App veröffentlichen können, die Sie nach der Registrierung Ihres Alias ​​im Dev Center erhalten.

Und es gibt die Herausgeber-ID, die Sie auch nach dem Reverving eines App-Namens bekommen, in diesem Format "CN = ************".

Und das wichtigste, und dass ich denke, was Sie suchen, können Sie nicht die gleiche Anwendung zweimal auf einem Telefon installieren. Ich habe es versucht und irgendwie funktioniert es einfach nicht. Ich habe eine App aus dem Laden, und ich kann nicht das gleiche von Visual Studio installieren, bevor ich nicht den Laden lösche. Das passierte nie zuvor auf 8.0

+3

Ja, das ist mir passiert, nachdem ich meine App auf WP8.1 aktualisiert habe. Ich musste meine Store-Version deinstallieren, um die Debug-Version zu installieren. – robertk

+1

Danke. Dies half mir herauszufinden, dass ich einige Bilder referenziert hatte, die nicht existierten. Es wäre sicher schön gewesen, wenn es eine aussagekräftigere Fehlermeldung gegeben hätte. Stattdessen habe ich die folgende Nachricht erhalten, die mir im Grunde nur sagt, dass ich irgendwo im Manifest einen Fehler habe. >>> "Fehler 1 Die Installation der Anwendung ist fehlgeschlagen. Die XAP-Paketsignatur ist ungültig oder die WP-Manifestdatei ist ungültig. Signieren Sie erneut mit gültiger Signatur und korrigieren Sie die Manifestdatei. 0 0" –

+1

Vielen Dank. Ich hatte dieses Problem. Ich habe einfach die Version deinstalliert, die ich von Windows Store installiert hatte. Lösung +1 –

6

Ich fand einen wirklich einfachen Workaround. Fügen Sie einfach "DEBUG" am Ende des aktuellen Paketnamens im Package.appxmanifest Designer hinzu.

Dann können Sie die Debug-Version bereitgestellt haben: Achten Sie darauf, den "DEBUG" aus dem Paketnamen zu entfernen, bevor Sie den Store übergeben.

Wenn Sie noch die WMAppManifest.xml-Datei haben, fügen Sie ebenfalls "DEBUG" an den Anzeigenamen an, damit Sie auf Ihrem Telefon leicht unterscheiden können, welches welches ist.

Prost.

+0

Dieser, erstaunlich. – darrrrUC

1

Ich habe festgestellt, dass dies passiert, wenn Sie versuchen, eine App auf einem Telefon zu debuggen, die bereits eine Version der App aus dem Laden heruntergeladen hat.

Der einfachste Weg zu beheben ist, zuerst die App von Ihrem Telefon zu entfernen.

+0

Die Idee war, die App mit all diesen verschiedenen Konfigurationen gleichzeitig auf dem Gerät zu bauen. –

+0

Hoffentlich andere Leute mit dem gleichen Fehler, aber nicht die genauen Anforderungen, wie Sie diese Antwort immer noch hilfreich finden. –

Verwandte Themen