Creare un collegamento all'applicazione eseguendo uno script usando Package Support Framework
Questo documento illustra come creare collegamenti all'applicazione usando Package Support Framework (PSF) che eseguono script tramite MSIX Packaging Tool e l'applicazione Contoso Expense WPF.
L'idea è copiare il collegamento dell'applicazione, che sarà disponibile all'interno del pacchetto, al desktop dell'utente tramite gli script PSF.
Ci sono un paio di cose da tenere in mente:
- Creare un collegamento solo se sono assolutamente necessari. L'obiettivo è quello di non incluttere il desktop dell'utente.
- L'applicazione MSIX deve essere installata prima di creare il collegamento, in modo che sia possibile specificare il percorso dell'applicazione MSIX durante la creazione del collegamento.
- Allo stesso tempo, il percorso dell'applicazione MSIX può cambiare, una volta specificato il numero di versione specificato nella cartella di installazione. Esempio del percorso di installazione di Contoso Expenses :
C:\Programmi\WindowsApps\ContosoExpenses_1.0.0.0
_x86__3z09h3y28h0qg
Per evitare di dover modificare il collegamento dell'applicazione ogni volta che l'applicazione viene aggiornata, creare il collegamento puntando a AppExecutionAlias. AppExecutionAlias consente di avviare l'applicazione con il valore definito nella sessione alias del manifesto dell'applicazione, pertanto non è necessario specificare il percorso completo dell'applicazione. Pertanto, prima di creare il collegamento, definire l'alias nel manifesto dell'applicazione. In caso contrario, Esplora risorse non riconoscerà l'alias e non ci consentirà di creare il collegamento.
Creare l'alias dell'applicazione
Fare clic sulla voce di menu Informazioni pacchetto e fare clic su Apri file, disponibile nella parte inferiore dell'interfaccia utente, per modificare il manifesto dell'applicazione:
Includere gli spazi dei nomi seguenti, che verranno usati per creare l'alias, come indicato di seguito:
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
Includere il valore uap3 e il desktop nell'elemento IgnoraableNamespaces :
IgnorableNamespaces="uap uap3 desktop rescap build"
Includere l'alias di esecuzione dell'applicazione dopo l'elemento </uap:VisualElements> :
<Extensions>
<uap3:Extension Category="windows.appExecutionAlias"
Executable="ContosoExpenses\ContosoExpenses.exe"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="contosoexpenses.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
</Extensions>
Segue il manifesto con le modifiche:
Salvare e chiudere il file manifesto.
Tornare allo strumento di creazione pacchetti MSIX e generare un nuovo pacchetto. Dopo aver creato il pacchetto, installare il pacchetto e avviare l'applicazione tramite l'alias, ad esempio premendo Win+R e digitando contosoexpenses:
Dopo aver creato l'alias, è possibile procedere ai passaggi successivi.
Creare il collegamento all'applicazione
Creare un nuovo collegamento dell'applicazione in una cartella della preferenza usando l'alias contosoexpenses.exe, come indicato di seguito:
Assegnare un nome al collegamento per Contoso Expenses:
Per impostazione predefinita, il collegamento sarà un'icona generica:
La modifica del collegamento è semplice, ma è necessario evitare di usare il percorso completo dell'applicazione con il numero di versione e che potrebbe cambiare in un aggiornamento futuro. Un modo per risolvere questo problema consiste nel copiare l'icona dal pacchetto al %appdata% usato dall'applicazione MSIX, ad esempio la cartella %localappdata%\Packages\ContosoExpenses_3z09h3y28h0qg\LocalCache\Roaming_ che non ha il numero di versione.
Per modificare il collegamento all'applicazione, per ora è necessario copiare manualmente l'icona in tale cartella. Questa operazione verrà automatizzata in un secondo momento usando script PSF.
È ora possibile modificare l'icona di scelta rapida nel percorso %localappdata%:
Ancora nelle proprietà del collegamento, sfruttare e modificare i valori della destinazione e iniziare rispettivamente nelle proprietà para %localappdata%\Microsoft\WindowsApps\contosoexpenses.exee %localappdata% \Microsoft\WindowsApps :
Ora che il collegamento funziona, il passaggio successivo consiste nell'aggiungerlo al pacchetto e per automatizzare il processo di creazione.
Ottenere i file PSF
Scaricare il PSFBinaries.zip dal repository Github PSF.
Estrarre i file a 32 bit o a 64 bit necessari nella radice della directory del pacchetto, a seconda che l'applicazione sia a 32 o a 64 bit. Usa la tabella seguente come riferimento.
L'eseguibile dell'applicazione è x64 | L'eseguibile dell'applicazione è x86 |
---|---|
PSFLauncher64.exe | PSFLauncher32.exe |
PSFRuntime64.dll | PSFRuntime32.dll |
Includere i file PSF nel pacchetto
Modificare le spese contoso tramite MSIX Packaging Tool :
Fare clic sulla voce di menu File pacchetto , fare clic con il pulsante destro della cartella Pacchetto e selezionare Aggiungi file...:
Come build ContosoExpense è a 32 bit, è stato aggiunto i file necessari PSF a 32 bit. Il contenuto del pacchetto dovrebbe ora essere simile al seguente:
Aggiornare il manifesto del pacchetto per PSF
Fare clic sulla voce di menu Informazioni pacchetto e fare clic su Apri file, disponibile nella parte inferiore dell'interfaccia utente, per modificare il manifesto dell'applicazione:
In questo passaggio è necessario modificare il punto di ingresso dell'applicazione (ContosoExpenses\ContosoExpenses.exe) dal PSFLauncher32.exe.
<Application Id="App" Executable="PSFLauncher32.exe" EntryPoint="Windows.FullTrustApplication">
Salvare e chiudere il file manifesto.
Creare il file config.json
Tornare allo strumento di creazione pacchetti MSIX, fare clic su File di pacchetto, selezionare la cartella Pacchetto e aggiungere un nuovo file config.json con il contenuto seguente.
{
"applications": [
{
"id": "App",
"executable": "ContosoExpenses\\ContosoExpenses.exe",
"workingDirectory": "ContosoExpenses\\",
"startScript":
{
"scriptPath": "createshortcut.ps1",
"runInVirtualEnvironment": false,
"waitForScriptToFinish": true,
"showWindow": false,
"runOnce": true
}
}
]
}
👀 Si noti che l'ID applicazione è lo stesso del manifesto:
Il file config.json deve essere creato nella radice del pacchetto, come segue:
Il file config.json viene usato per specificare che lo script dicreateshortcut.ps1 deve essere eseguito una sola volta nella prima inizializzazione dell'applicazione. Poiché la directory di lavoro è impostata su ContosoExpenses, lo script createshortcut.ps1 (che verrà creato in seguito) e lo script StartingScriptWrapper.ps1 (da file PSF) deve essere aggiunto alla cartella ContosoExpenses .
Creare lo script di PowerShell
Creare lo script di createshortcut.ps1 con il contenuto seguente:
Copy-Item "Contoso Expenses.lnk" "$env:USERPROFILE\desktop\Contoso Expenses.lnk"
Copy-Item "contoso.ico" $env:APPDATA\contoso.ico
Lo script createshortcut.ps1 copia il collegamento "Contoso Expenses.lnk", creato in precedenza e che sarà disponibile all'interno del pacchetto, nel desktop utente. La seconda istruzione copia l'icona contoso nella cartella MSIX APPDATA (%localappdata%\Packages\ContosoExpenses_3z09h3y28h0qg\LocalCache\Roaming).
Il passaggio successivo consiste nel copiare i file seguenti nella cartella ContosoExpenses del pacchetto:
- Contoso Expenses.lnk
- Contoso.ico
- StartingScriptWrapper.ps1
- createshortcut.ps1
Infine, l'ultimo passaggio consiste nel creare e installare la nuova versione del pacchetto dell'applicazione. Durante la prima inizializzazione dell'applicazione, lo script dicreateshortcut.ps1 verrà eseguito e creerà il collegamento Contoso Expense nel desktop utente.