Résolution des problèmes de validation de l'application

Ce document explique deux des échecs de validation les plus courants que l'équipe de validation rencontre dans l'environnement Windows.

Problème de lancement de l'application

Raccourci vers l'application

Problème de lancement de l'application

Pour qu'une application soit validée, elle doit se lancer à partir du centre Intel AppUpSM après son installation sans problème. La méthode de lancement est différente du lancement de l'application à partir du bureau ou d'un raccourci de programme créé par le package d'installation MSI.

Actuellement, le centre bêta AppUp ne configure pas un répertoire de travail ou de démarrage lors du lancement d'une application. Cela signifie que le code de votre application ne sait pas que le répertoire de travail est identique au répertoire d'installation de l'application ou tout autre répertoire utilisé pour cette opération.

Si l'exécution correcte de votre application dépend de l'ouverture de fichiers de données, votre code doit pouvoir déterminer l'emplacement de ces fichiers indépendamment du répertoire de travail ou actif au moment du lancement de votre application. La meilleure méthode consiste probablement à faire enregistrer par votre package d'installation l'emplacement des fichiers de données dans une clé du registre ou par toute autre méthode. Par la suite, lorsque l'application a besoin a besoin de ces fichiers, elle peut les rechercher à cet emplacement.

Une bonne méthode pour tester si votre application connaît un répertoire de travail en particulier consiste à la lancer à partir d'une ligne de commande dans un répertoire différent de celui où se trouvent l'application et les fichiers de données. Supposons par exemple que le nom de votre application soit MyApp.exe et qu'elle soit installée dans le répertoire C:\Program Files\MyApps. Supposons également qu'elle comporte le fichier de données MyData.ini dans le répertoire C:\Program Files\MyApps\Data. Nous pouvons alors effectuer 2 tests. Nous allons d'abord définir le répertoire de travail actif à l'emplacement d'installation de l'application, puis la lancer.

  1. cd C:\Program Files\MyApps
  2. MyApp.exe


Votre application doit se lancer correctement. Il s'agit seulement d'un test de base qui vérifie que vous n'avez pas d'autre problème avant de procéder au test réel. Dans le deuxième test, nous configurerons le répertoire actif avec un emplacement différent de celui où se trouvent l'application et les fichiers de données ; nous essaierons ensuite de relancer l'application en utilisant le chemin d'accès complet à l'application.

  1. cd C:\
  2. cd C:\Program Files\MyApps


Si votre application se lance sans problème dans le premier scénario mais échoue dans le second, il y a de fortes chances que vous utilisiez un répertoire de travail actif qui provoque l'échec d'exécution de votre application à partir du centre Intel AppUpSM. Si votre application se lance correctement dans les deux scénarios, félicitations ! Vous êtes mieux préparés à réussir la validation que de nombreux développeurs inattentifs.

Raccourci vers l'application

Vérifiez que les raccourcis vers votre application sont corrects. Ce problème concerne la configuration correcte du package MSI. En bref, chaque application doit avoir un raccourci publié de façon que le centre Intel AppUpSM puisse la lancer.

Consignes

Vous trouverez un récapitulatif détaillé dans le Guide des exigences de packaging des applications : http://appdeveloper.intel.com/fr-fr/article/packaging-requirements. Le problème que nous rencontrons provient généralement des conditions suivantes :

  • Exécutable unique. Chaque raccourci doit pointer vers un seul exécutable. Votre installation peut ajouter automatiquement des raccourcis sur le bureau, dans la barre de lancement rapide, dans le menu de démarrage et ailleurs, mais ils doivent tous pointer vers le même exécutable.
  • Champ de destination du raccourci. L'entrée «Target » (Cible) de la table Raccourci doit être un nom de fonction/clé étrangère (type de donnée Identifier) dans la table « Feature » (Fonction). Nous prenons uniquement en charge ce type de donnée dans le champ cible (Target). N'utilisez pas de crochets ([ ]) pour indiquer la mise en forme d'une chaîne de caractères.

Note documentaire

Ce paragraphe contient des liens qui décrivent comment et où les raccourcis doivent être configurés. Vous pouvez afficher et modifier ces raccourcis au moyen d'un utilitaire Microsoft baptisé Orca.

Spécification des raccourcis (brève présentation)
http://msdn.microsoft.com/en-us/library/aa372018(VS.85).aspx

Tableau des raccourcis
http://msdn.microsoft.com/en-us/library/aa371847(VS.85).aspx

Remarquez que les identifiants (voir l'URL ci-dessous) *doivent* être utilisés

Type d'identifiant
http://msdn.microsoft.com/en-us/library/aa369212(VS.85).aspx

Contenu de la page : le type de donnée Identifier est une chaîne de caractères. Les identifiants peuvent contenir les caractères ASCII A-Z (a-z), des chiffres, des caractères de soulignement (_) ou des points (.). Cependant, chaque identifiant doit commencer par une lettre ou le caractère de soulignement.

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

Orca est un utilitaire de la ligne de commande ou de l'interface graphique qui permet d'afficher (et de modifier) les métadonnées contenues dans un package MSI ; il est utilisé dans les captures d'écrans ci-dessous.

Exemple de scénario

Étape 1 : recherchez la cible et le composant dans le tableau des raccourcis
Notez les valeurs cible et composant que nous vérifierons dans les deux étapes suivantes. Dans le MSI Boxee, la valeur cible utilise les caractères "[" et "]", ce qui n'est pas autorisé (voir le lien des identifiants ci-dessus). De plus, plusieurs cibles sont identifiées ; il doit y avoir une seule valeur cible. La valeur composant est correcte et le package MSI Arnold Palmer Golf est correct pour les valeurs composant et cible.

Le type de donnée Identifier est une chaîne de caractères. Les identifiants peuvent contenir les caractères ASCII A-Z (a-z), des chiffres, des caractères de soulignement (_) ou des points (.). Cependant, chaque identifiant doit commencer par une lettre ou le caractère de soulignement.

 

Étape 2 : recherchez la valeur cible dans le tableau de fonction
Dans cette étape, nous allons dans le tableau de fonction pour rechercher une entrée qui utilise la valeur cible de l'étape 1. Nous précisions ci-dessous ce que fait le package MSI inférieur, mais pas le package supérieur. Pour le moment, disons que [#Boxee.exe] est un identifiant correct de la cible : il doit donc figurer dans le tableau des fonctions. Encore une fois, notez que [#Boxee.exe] n'est pas un format correct.

 

Étape 3 : validez la valeur du composant dans le tableau des composants et récupérez la valeur « Get KeyPath ».
Dans cette étape, nous allons dans le tableau composant pour confirmer que la valeur composant de l'étape 1 est définie. Cela a été correctement effectué dans les 2 exemples.

 

Étape 4 : validez « KeyPath » et « FileName » dans le tableau fichier
Dans les 2 exemples, la valeur fichier a été trouvée dans le tableau fichier en utilisant la valeur « KeyPath » de l'étape 3. Le contrôle final consiste à vérifier que la valeur « FileName » corresponde au nom du fichier de l'application. Remarque : bien que les 2 exemples soient corrects, ils sont dans des formats différents. Si le nom du fichier d'origine porte sur 8 caractères (format 8.3) ou moins (ex. : Boxee), il n'y a pas de problème : placez simplement une extension dans le nom du fichier (à nouveau au format 8.3). Cependant, si le nom du fichier comporte plus de 8 caractères, vous devez utiliser le lien ci-dessous. C'est ce que le jeu Arnold Palmer Golf devait faire.

Nom de fichier et type de données
http://msdn.microsoft.com/en-us/library/aa368590(VS.85).aspx

 

et n'oubliez pas...

5 points à vérifier avant d'envoyer votre application à valider 

 

0