Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo documento mostrerà come creare collegamenti per applicazioni utilizzando il Package Support Framework (PSF) che eseguono script tramite lo strumento di packaging MSIX e l'applicazione WPF Contoso Expense.
L'idea è copiare il collegamento dell'applicazione, che sarà disponibile all'interno del pacchetto, sul desktop dell'utente tramite gli script PSF.
Ci sono un paio di cose da tenere a mente:
- Creare un collegamento solo se è assolutamente necessario. L'obiettivo è non ingombrare il desktop dell'utente.
- L'applicazione MSIX deve essere installata prima di creare il collegamento, in modo da poter 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 nella cartella di installazione. Esempio del percorso di installazione 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 ad AppExecutionAlias. AppExecutionAlias consente di avviare l'applicazione con il valore definito nella sessione alias del manifesto dell'applicazione, quindi non è necessario specificare il percorso completo dell'applicazione. Pertanto, prima di creare il collegamento, definire l'alias nel manifesto dell'applicazione. Altrimenti, Esplora file 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 IgnorableNamespaces :
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 a MSIX Packaging Tool 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 con i passaggi successivi.
Creare il collegamento all'applicazione
Creare un nuovo collegamento all'applicazione in una cartella delle preferenze usando l'alias contosoexpenses.exe, come indicato di seguito:
Denominare il collegamento per Contoso Expenses:
Per impostazione predefinita, il collegamento sarà un'icona generica:
La modifica del collegamento è semplice, ma la sfida consiste nell'evitare di usare il percorso completo dell'applicazione, che include 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 il momento è necessario copiare manualmente l'icona in tale cartella. Questa operazione verrà automatizzata in un secondo momento usando gli script PSF.
È ora possibile modificare l'icona di scelta rapida nel percorso %localappdata%:
Sempre nelle proprietà di scelta rapida, approfittane e modifica i valori delle proprietà destinazione e avvia in in %localappdata%\Microsoft\WindowsApps\contosoexpenses.exe e %localappdata%\Microsoft\WindowsApps rispettivamente:
Ora che il collegamento funziona, il passaggio successivo consiste nell'aggiungerlo al pacchetto e automatizzare il processo di creazione.
Ottieni i file PSF
Scarica il PSFBinaries.zip dal repository GitHub PSF.
Estrarre i file necessari a 32 o 64 bit nella directory principale del pacchetto, a seconda che l'applicazione sia a 32 o 64 bit. Usare la tabella seguente come guida.
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 il Contoso Expense tramite MSIX Packaging Tool :
Fare clic sulla voce di menu File di pacchetto , fare clic con il pulsante destro sulla cartella Pacchetto e selezionare Aggiungi file...:
Poiché la build di ContosoExpense qui è a 32 bit, sono stati aggiunti 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) by the PSFLauncher32.exe.
<Application Id="App" Executable="PSFLauncher32.exe" EntryPoint="Windows.FullTrustApplication">
Salvare e chiudere il file manifesto.
Creare il file config.json
Tornare a MSIX Packaging Tool, 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
}
}
]
}
👀 Osservare che l'ID applicazione è lo stesso dal file di manifest:
Il fileconfig.json deve essere creato nella radice del pacchetto, come indicato di seguito:
Il fileconfig.json viene usato per specificare che lo script createshortcut.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 un secondo momento) e lo script StartingScriptWrapper.ps1 (dai file PSF) deve essere aggiunto alla cartella ContosoExpenses .
Creare lo script di PowerShell
Creare lo script 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 copierà il collegamento "Contoso Expenses.lnk", creato in precedenza e che sarà disponibile all'interno del pacchetto, nel desktop dell'utente. La seconda istruzione copia contoso.icon 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 createshortcut.ps1 verrà eseguito e creerà il collegamento Contoso Expense nel desktop dell'utente.