Fehlerbehebung bei fehlgeschlagenen Anwendungsvalidierungen

In diesem Dokument werden die zwei häufigsten Gründe für fehlgeschlagene Validierungen in der Windows Umgebung besprochen.

Problem beim Start der Anwendung

Problem mit Shortcuts der Anwendung

Problem beim Start der Anwendung

Damit eine Anwendung die Validierung besteht, muss sie nach erfolgreicher Installation erfolgreich vom Intel AppUp(SM) Center aus gestartet werden können. Diese Startmethode unterscheidet sich vom Start der Anwendung von einem Desktop- oder Programm-Menü-Shortcut aus, der vom MSI-Installationspaket erstellt wurde.

Die Beta-Version des AppUp Center legt derzeit beim Starten einer Anwendung kein Arbeits- oder Startverzeichnis fest. Das bedeutet, dass Ihr Anwendungscode nicht davon ausgehen kann, dass das aktuelle Arbeitsverzeichnis mit dem Verzeichnis übereinstimmt, in dem die Anwendung installiert ist, oder auch nicht mit irgend einem anderen Verzeichnis.

Falls die korrekte Ausführung Ihrer Anwendung vom Öffnen von Datendateien abhängt, muss Ihr Code den Standort dieser Dateien unabhängig davon bestimmen können, welches das aktuelle Verzeichnis oder Arbeitsverzeichnis zum Zeitpunkt des Starts der Anwendung war. Am einfachsten erzielen Sie dies, indem Sie Ihr Installationspaket anweisen, den Ort, in dem die Datendateien installiert wurden, zu speichern, entweder in einem Registrierungsschlüssel, einer ini-Datei oder über eine andere Methode. Wenn die Anwendung dann diese Dateien benötigt, findet sie die Dateien an diesem Speicherort.

Eine gute Methode zum Testen, ob Ihre Anwendung ein bestimmtes Arbeitsverzeichnis übernimmt, ist das Starten der Anwendung über eine Befehlszeile in einem anderen Verzeichnis als dem Verzeichnis, in dem sich die Anwendung und die Datendateien befinden. Nehmen wir beispielsweise an, dass Ihre Anwendung MeineApp.exe heißt und unter C:\Programme\MyApps installiert wurde. Wir nehmen zudem an, dass die Anwendung über eine Datendatei namens MeineDaten.ini in C:\Programme\MyApps\Daten verfügt. Jetzt können Sie zwei Tests durchführen. Stellen Sie als Erstes das aktuelle Arbeitsverzeichnis auf den gleichen Speicherort ein, in dem die Anwendung installiert wurde, und starten Sie dann die Anwendung.

  1. cd C:\Programme\MyApps
  2. MeineApp.exe


Zu diesem Zeitpunkt sollte die Anwendung korrekt gestartet werden. Dies ist lediglich ein Ausgangstest, anhand dessen sichergestellt wird, dass keine anderen Probleme bestehen, bevor Sie mit dem echten Test fortfahren. Im zweiten Test stellen Sie das aktuelle Verzeichnis auf einen anderen Speicherort ein als den Ort, an dem sich die Anwendung und die Datendateien befinden, und versuchen erneut, die Anwendung zu starten, und zwar unter Einsatz des gesamten Anwendungspfads.

  1. cd C:\
  2. C:\Programme\MyApps\MeineApp.exe


Falls Ihre Anwendung im ersten Szenario korrekt gestartet wurde, der zweite Start jedoch fehlschlägt, ist es sehr wahrscheinlich, dass der Einsatz eines aktuellen Arbeitsverzeichnisses dazu führt, dass die Anwendung nicht korrekt vom Intel AppUp(SM) Center aus ausgeführt werden kann. Falls Ihre Anwendung in beiden Szenarien korrekt gestartet wurde: Glückwunsch! Sie sind besser auf die Validierung vorbereitet als viele andere Entwickler.

Problem mit Shortcuts der Anwendung

Stellen Sie sicher, dass Ihre Anwendungs-Shortcuts korrekt angekündigt werden. Dieses Problem hat mit einem korrekt konfigurierten MSI-Paket zu tun. Kurz gesagt: Jede Anwendung benötigt einen (1) angekündigten Shortcut, damit das Intel AppUpSM Center Ihre Anwendung starten kann.

Die Richtlinien

Eine Zusammenfassung finden Sie im Leitfaden für die Anforderungen an die Anwendungspaketierung: http://appdeveloper.intel.com/en-us/article/packaging-requirements. Im Mittelpunkt des Problems stehen die folgenden Anforderungen:

  • Eine einzige ausführbare Datei. Alle Shortcuts müssen auf eine einzige ausführbare Datei abzielen. Ihre Installation kann automatisch ein Desktop-, Schnellstart-, Startmenü-Symbol und andere Shortcuts hinzufügen, diese müssen jedoch alle auf die gleiche ausführbare Datei verweisen.
  • Feld für das Verknüpfungsziel. Der Zieleintrag in der Shortcut-Tabelle muss ein gültiger Featurename/Fremdschlüssel (Datentypidentifikator) in der Featuretabelle sein. Wir unterstützen nur diesen Datentyp im Zielfeld. Verwenden Sie keine eckigen Klammern ([ ]), um auf eine formatierte Zeichenfolge hinzuweisen.

Hintergrundinformationen

Dieser Abschnitt enthält Links zu Informationen, wie und wo angekündigte Shortcuts konfiguriert werden müssen. Sie können diese Einstellungen mit dem Microsoft Utility Orca anzeigen und bearbeiten.

Angeben von Shortcuts (kurze Einführung)
http://msdn.microsoft.com/en-us/library/aa372018(VS.85).aspx

Shortcut-Tabelle
http://msdn.microsoft.com/en-us/library/aa371847(VS.85).aspx

Beachten Sie, dass der Einsatz von Bezeichnern (siehe unten stehende URL) *obligatorisch* ist.

Bezeichnertyp
http://msdn.microsoft.com/en-us/library/aa369212(VS.85).aspx

Seiteninhalt: Der Bezeichnerdatentyp ist eine Textzeichenfolge. Bezeichner können die ASCII-Zeichen A-Z (a-z), Zahlen, Unterstriche (_) oder Punkte (.) enthalten. Jeder Bezeichner muss jedoch entweder mit einem Buchstaben oder mit einem Unterstrich beginnen.

Orca.exe Utility
http://msdn.microsoft.com/en-us/library/aa370557(VS.85).aspx

Orca ist ein Befehlszeilen- und GUI-Utility zum Anzeigen und Bearbeiten der Metadaten in einem MSI-Paket und wurde in den unten stehenden Screenshots verwendet.

Beispielszenario

Schritt 1: Finden des Ziels und der Komponente in der Shortcut-Tabelle
Sehen Sie sich die Ziel- und Komponentenwerte an, wir werden diese in den folgenden zwei Schritten verifizieren. Im Boxee MSI verwendet der Zielwert "[" and "]", was wie im oben erwähnten Bezeichner-Link nicht erlaubt ist. Zudem sind mehrere Ziele identifiziert; es darf nur einen Zielwert geben. Der Komponentenwert ist korrekt und der Arnold Palmer Golf MSI ist korrekt für sowohl die Komponenten- als auch die Zielwerte.

Noch einmal von oben: Der Bezeichnerdatentyp ist eine Textzeichenfolge. Bezeichner können die ASCII-Zeichen A-Z (a-z), Zahlen, Unterstriche (_) oder Punkte (.) enthalten. Jeder Bezeichner muss jedoch entweder mit einem Buchstaben oder mit einem Unterstrich beginnen.

 

Schritt 2: Finden des Zielwerts in der Featuretabelle
In diesem Schritt gehen wir in die Featuretabelle und suchen nach einem Eintrag, der den Zielwert von Schritt 1 verwendet. Unten sehen Sie, dass dies für den unteren, jedoch nicht den oberen MSI der Fall ist. Nehmen wir kurz an, dass [#Boxee.exe] ein gültiger Zielbezeichner ist. Er sollte in der Folge in der Featuretabelle zu finden sein. Beachten Sie bitte erneut, dass [#Boxee.exe] kein korrektes Format ist.

 

Schritt 3: Validieren des Komponentenwerts in der Komponententabelle und Aufrufen des KeyPath-Werts
In diesem Schritt müssen wir zur Komponententabelle gehen, um zu validieren, dass der Komponentenwert in Schritt 1 eingestellt ist. Dies wurde in beiden Beispielen korrekt ausgeführt.

 

Schritt 4: Validieren von KeyPath und FileName in der Dateitabelle (File)
In beiden Beispielen wurde der Wert „File“ in der Dateitabelle unter Einsatz von KeyPath in Schritt 3 gefunden. Zum Abschluss muss sichergestellt werden, dass der Wert FileName mit dem Dateinamen der App übereinstimmt. Beachten Sie, dass beide korrekt sind, jedoch verschiedene Formate aufweisen. Wenn der ursprüngliche Dateiname 8 Zeichen (8.3 Format) oder weniger (wie Boxee) umfasst, besteht kein Problem; geben Sie einfach den Dateinamen und die Erweiterung ein (wieder im 8.3 Format). Falls der Dateiname jedoch länger als 8 Zeichen ist, müssen Sie den unten stehenden Link verwenden. Dies musste für das Arnold Palmer Golf-Spiel unternommen werden.

Dateiname-Datentyp
http://msdn.microsoft.com/en-us/library/aa368590(VS.85).aspx

 

Nicht vergessen...

Fünf Punkte, die Sie vor der Einreichung Ihrer App zur Validierung überprüfen sollten 

 

0