Risoluzione dei problemi di convalida delle applicazioni
In questo documento vengono trattati due dei più comuni errori di convalida registrati dal team di convalida nell'ambiente Windows.
Problema di avvio dell'applicazione
Affinché un'applicazione superi la convalida, è necessario che venga avviata correttamente dal centro Intel AppUp(SM) dopo l'installazione regolare. Questo metodo di avvio è diverso da quello effettuato da un collegamento da desktop o da menu di programma creato dal package MSI.
Attualmente, la versione beta del centro Intel AppUp non definisce una directory di lavoro o di avvio quando viene avviata un'applicazione. Questo significa che il codice dell'applicazione non può presupporre che la directory di lavoro corrente corrisponda a quella in cui è installata l'applicazione o a qualsiasi altra directory specifica.
Se la corretta esecuzione dell'applicazione dipende dall'apertura di file di dati, il codice deve essere in grado di identificare il percorso di tali file indipendentemente dalla directory corrente o di lavoro impostata al momento dell'avvio dell'applicazione. Probabilmente, il modo più semplice per ottenere questo risultato consiste nel salvare il percorso in cui sono stati installati i file in una chiave del Registro di sistema, in un file o con un altro metodo. Quindi, quando l'applicazione richiede tali file, può leggere questo percorso e individuarli correttamente.
Un metodo efficace per verificare se l'applicazione presuppone una directory di lavoro specifica consiste nell'avviarla da una riga di comando in una directory diversa da quella in cui si trovano i file di dati. Ad esempio, supponiamo che l'applicazione sia denominata MyApp.exe e che sia installata in C:\Program Files\MyApps. Supponiamo inoltre che includa un file di dati denominato MyData.ini situato in C:\Program Files\MyApps\Data. Possiamo eseguire due test. Innanzitutto, impostiamo la directory di lavoro corrente nello stesso percorso in cui è installata l'applicazione e quindi avviamo l'applicazione.
- cd C:\Program Files\MyApps
- MyApp.exe
A questo punto, l'avvio dell'applicazione dovrebbe procedere regolarmente. Questo è solo un test di base per verificare che non siano presenti altri problemi prima di procedere al test effettivo. Nel secondo test imposteremo la directory corrente in un percorso diverso da quello in cui si trovano l'applicazione e i file di dati e proveremo nuovamente ad eseguire l'avvio, utilizzando il percorso completo dell'applicazione.
- cd C:\
- C:\Program Files\MyApps\MyApp.exe
Se l'avvio dell'applicazione procede regolarmente nel primo scenario ma non riesce nel secondo, è molto probabile che l'applicazione si basi su una directory di lavoro corrente tale da generare un errore di esecuzione dell'applicazione dal centro Intel AppUp(SM). Se l'applicazione viene avviata correttamente nei due scenari, congratulazioni. Significa che sarà possibile superare la convalida.
Problema di collegamento dell'applicazione
È necessario verificare che i collegamenti dell'applicazione siano annunciati correttamente. Questo aspetto dipende da un package MSI configurato correttamente. In breve, per ogni applicazione è necessario annunciare un unico collegamento in modo che possa essere avviata dal centro Intel AppUpSM.
Linee guida
Per un riepilogo dettagliato, vedere la Guida ai requisiti di packaging delle applicazioni: http://appdeveloper.intel.com/it-it/article/packaging-requirements. Il problema riscontrato riguarda i seguenti requisiti:
- Singolo eseguibile. Tutti i collegamenti devono puntare a un unico eseguibile. L'installazione può aggiungere automaticamente collegamenti sul desktop, di avvio rapido, sul menu Start e di altro tipo, ma devono puntare tutti allo stesso eseguibile.
- Campo Target di Shortcut. La voce Target della tabella Shortcut deve essere un nome di funzionalità/chiave esterna valido (tipo di dati Identifier) nella tabella Feature. Nel campo Target è supportato solo questo tipo di dati. Non usare le parentesi quadre ([ ]) per indicare una stringa formattata.
Informazioni generali
I link contenuti in questa sezione indicano dove e come configurare i collegamenti annunciati. È possibile visualizzare e modificare queste impostazioni utilizzando un'utility Microsoft chiamata Orca.
Specifica di collegamenti (breve introduzione)
http://msdn.microsoft.com/it-it/library/aa372018(VS.85).aspx
Tabella Shortcut
http://msdn.microsoft.com/it-it/library/aa371847(VS.85).aspx
Si noti che è necessario utilizzare gli identificatori (vedere l'URL di seguito)
Tipo di Identifier
http://msdn.microsoft.com/it-it/library/aa369212(VS.85).aspx
Contenuto della pagina: il tipo di dati Identifier è una stringa di testo. Gli identificatori possono contenere i caratteri ASCII A-Z (a-z), cifre, caratteri di sottolineatura (_) o punti (.). Tuttavia, ogni identificatore deve iniziare con una lettera o un carattere di sottolineatura.
Utility Orca.exe
http://msdn.microsoft.com/it-it/library/aa370557(VS.85).aspx
Orca è un'utility da riga di comando e GUI per la visualizzazione e la modifica di questi metadati disponibili in un package MSI ed è stata utilizzata negli screenshot seguenti.
Scenario di esempio
Passaggio 1: individuazione di Target e Component nella tabella Shortcut
Prendere nota dei valori Target e Component, che saranno verificati nei due passaggi successivi. Nel package MSI Boxee il valore Target utilizza i caratteri "[" e "]", che non sono consentiti, come indicato nel link Identifier specificato sopra. Inoltre, vengono identificati più valori Target. È necessario che
sia disponibile un unico valore Target. Il valore Component è corretto e l'MSI di Arnold Palmer Golf è corretto per entrambi questi valori.
Ripetiamo: il tipo di dati Identifier è una stringa di testo. Gli identificatori possono contenere i caratteri ASCII A-Z (a-z), cifre, caratteri di sottolineatura (_) o punti (.). Tuttavia, ogni identificatore deve iniziare con una lettera o un carattere di sottolineatura.

Passaggio 2: individuazione del valore Target nella tabella Feature
In questo passaggio cerchiamo nella tabella Feature una voce che utilizza il valore Target del passaggio 1. Qui di seguito possiamo vedere che l'MSI riportato sotto è corretto, mentre quello riportato sopra non lo è. Ammettiamo che [#Boxee.exe] sia un identificatore Target valido: in questo caso dovrebbe essere disponibile nella tabella Feature. Si noti ancora una volta che
[#Boxee.exe] non è riportato nel formato appropriato.

Passaggio 3: convalida del valore Component nella tabella Component e recupero del valore KeyPath.
In questo passaggio dobbiamo accedere alla tabella Component e verificare che il valore Component riportato nel passaggio 1 sia impostato. Questa operazione è stata eseguita correttamente in entrambi gli esempi.

Passaggio 4: convalida di KeyPath e FileName nella tabella File
In entrambi gli esempi il valore File è stato trovato nella tabella File utilizzando l'oggetto KeyPath del passaggio 3. Il controllo finale consente di verificare che il valore FileName corrisponda al nome file dell'applicazione. Anche se entrambi sono corretti, sono specificati in formati diversi. Se il nome file originale è costituito da un massimo di 8 caratteri (formato 8.3), come in Boxee, non ci sono problemi: è sufficiente inserire il nome file e l'estensione (anche in questo caso in formato 8.3). Se invece il nome file è costituito da più di 8 caratteri, è necessario utilizzare il link seguente. Questa operazione è stata necessaria per il gioco Arnold Palmer Golf.
Tipo di dati FileName
http://msdn.microsoft.com/it-it/library/aa368590(VS.85).aspx

Da ricordare...
Prima di inviare l'applicazione per la convalida, è necessario controllare cinque aspetti