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 articolo illustra come creare manualmente un file di App Installer che definisce un set correlato con funzionalità di aggiornamento automatico e riparazione. Un set correlato non è un'entità, ma piuttosto una combinazione di un pacchetto principale e di pacchetti facoltativi.
Per poter installare un set correlato come un'entità, è necessario essere in grado di specificare il pacchetto principale e il pacchetto facoltativo come uno. A tale scopo, sarà necessario creare un file XML con estensione appinstaller per definire un set correlato. Il programma di installazione app usa il file *.appinstaller e consente all'utente di installare tutti i pacchetti definiti con un solo clic.
Durante la distribuzione, il file App Installer:
- Il pacchetto dell'app Windows a cui viene fatto riferimento nell'attributo
URIdell'elemento < MainPackage > convaliderà gli attributiName,PublishereVersiondel pacchetto dell'app Windows di destinazione. Se l'elemento Package/Identity nel manifesto del pacchetto dell'app Windows non corrisponde, l'installazione avrà esito negativo. - Creare un riferimento agli URI di aggiornamento e ripristino per la famiglia del pacchetto.
Come creare un file del programma di installazione app
Per distribuire il set correlato come un'entità, è necessario creare un file del programma di installazione app contenente gli elementi richiesti dallo schema del programma di installazione dell'app.
- Crea il file *.AppInstaller.
- Specificare gli attributi del file del programma di installazione app.
- Specificare il principale app Package di Windows.
- Specificare il pacchetto opzionale correlato.
- Specificare la dipendenza dal pacchetto Framework di app Windows.
- Specificare le impostazioni di aggiornamento.
- Specificare i percorsi URI di aggiornamento.
- Specificare i percorsi URI di ripristino.
Esempio di file del programma di installazione app
Seguendo i passaggi descritti in precedenza, verrà creato correttamente un file del programma di installazione app simile al seguente:
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2017/2"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainBundle
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />
<OptionalPackages>
<Bundle
Name="Contoso.OptionalApp1"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/OptionalApp1.msixbundle" />
<Bundle
Name="Contoso.OptionalApp2"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/OptionalApp2.msixbundle" />
<Package
Name="Fabrikam.OptionalApp3"
Publisher="CN=Fabrikam"
Version="10.34.54.23"
Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix"
ProcessorArchitecture="x64" />
</OptionalPackages>
<UpdateURIs>
<UpdateURI>http://mywebservice.azurewebsites.net/appset.appinstaller</UpdateURI>
<UpdateURI>http://mywebservice2.azurewebsites.net/appset.appinstaller</UpdateURI>
</UpdateURIs>
<RepairURIs>
<RepairURI>http://mywebservice.azurewebsites.net/appset.appinstaller</RepairURI>
<RepairURI>http://mywebservice2.azurewebsites.net/appset.appinstaller</RepairURI>
</RepairURIs>
<UpdateSettings>
<OnLaunch HoursBetweenUpdateChecks="0"/>
</UpdateSettings>
</AppInstaller>
Passaggio 1: Creare il file *.appinstaller
Usando un editor di testo (Notepad.exe), creare un nuovo file con estensione del nome file *. AppInstaller
Procedura:
- Aprire il menu Start.
- Digitare quanto segue:
notepad.exe. - Aprire il menu File .
- Selezionare Salva con nome dal menu a discesa.
Passaggio 2: Aggiungere il modello di base
Includere l'elemento AppInstaller nel file App Installer specificando la versione, il percorso e la posizione di rete del file App Installer. Le informazioni nell'elemento AppInstaller verranno utilizzate durante l'installazione delle app Windows associate.
| Elemento | Descrizione |
|---|---|
| xmlns | Spazio dei nomi XML |
| Versione | Versione del file di installazione dell'app in notazione a quattro cifre (1.0.0.0). |
| URI | Il percorso URI del file corrente dell'App Installer, accessibile dal dispositivo. |
Procedura:
Aprire il file creato nel passaggio 1.
Copiare il contenuto XML seguente nel file *.AppInstaller.
<?xml version="1.0" encoding="utf-8"?> <AppInstaller xmlns="http://schemas.microsoft.com/appx/appinstaller/2021" Version="" Uri="" > </AppInstaller>Aggiornare l'attributo
Versioncon la versione del file del programma di installazione appAggiornare l'attributo
URIcon il percorso di rete da cui sarà accessibile il file .AppInstaller.
Passaggio 3: Aggiungere le informazioni principali sul pacchetto
I <MainPackage> e <MainBundle> vengono usati per identificare l'app Windows primaria che verrà installata usando il file del programma di installazione app. Il <MainPackage> viene usato quando il programma di installazione dell'app Windows è *.msix o *.appx. Usare il <MainBundle> quando il programma di installazione dell'app Windows è un programma di installazione app in bundle Windows, con un'estensione di *.msixbundle o *.appxbundle.
| Elemento | Descrizione |
|---|---|
| Nome | Nome dell'applicazione primaria distribuita tramite il file del programma di installazione app. Questa operazione è disponibile eseguendo il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Name. |
| Editore | Nome canonico del certificato dell'editore usato per firmare il programma di installazione principale dell'app Windows. Per trovare questo valore, eseguire il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Publisher. |
| Versione | Versione dell'installer principale dell'app Windows in una notazione a quattro punti (1.0.0.0). Questa operazione è disponibile eseguendo il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Version. |
| ArchitetturaDelProcessore | L'architettura in cui viene installato il programma di installazione principale dell'app Windows. |
| URI (Identificatore Uniforme delle Risorse) | Percorso URI del supporto di installazione principale dell'app Windows. |
Le informazioni nell'attributo <MainBundle> o <MainPackage> devono corrispondere rispettivamente all'elemento Package/Identity nel manifesto del bundle dell'app o nel manifesto del pacchetto dell'app.
programma di installazione dell'app Windows
Se il pacchetto principale dell'app è un file con estensione msix o .appx, usare <MainPackage>, come illustrato di seguito. Assicurarsi di includere ProcessorArchitecture, perché è obbligatorio per i pacchetti non bundle.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainPackage
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
ProcessorArchitecture="x64"
Uri="http://mywebservice.azurewebsites.net/mainapp.msix" />
</AppInstaller>
Installer del bundle dell'app Windows
Se il pacchetto principale dell'app è un file con estensione .msixbundle, .appxbundle, o un altro tipo di file, utilizzare <MainBundle> al posto di <MainPackage> come illustrato di seguito. Per i bundle, ProcessorArchitecture non è obbligatorio.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainBundle
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />
</AppInstaller>
Passaggio 4: Aggiungere i pacchetti facoltativi
Analogamente all'attributo principale del pacchetto dell'app, se il pacchetto facoltativo può essere un pacchetto dell'app o un bundle dell'app, l'elemento figlio all'interno dell'attributo <OptionalPackages> deve essere <Package> o <Bundle> rispettivamente. Le informazioni sul pacchetto negli elementi figlio devono corrispondere all'elemento Identity nel bundle o nel manifest del pacchetto.
| Elemento | Descrizione |
|---|---|
| Nome | Nome dell'applicazione facoltativa da distribuire tramite il file del programma di installazione app. Questa operazione è disponibile eseguendo il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Name. |
| Editore | Nome canonico del certificato dell'editore usato per firmare il programma di installazione dell'app facoltativo Windows. Per trovare questo valore, eseguire il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Publisher. |
| Versione | Versione del programma di installazione facoltativo dell'app Windows in una notazione a quattro punti (1.0.0.0). Questa operazione è disponibile eseguendo il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Version. |
| ArchitetturaDelProcessore | Architettura in cui viene installato il programma di installazione facoltativo dell'app Windows. |
| URI (Identificatore Uniforme delle Risorse) | Percorso URI del supporto di installazione principale dell'app Windows. |
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainBundle
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />
<OptionalPackages>
<Bundle
Name="Contoso.OptionalApp1"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/OptionalApp1.msixbundle" />
<Package
Name="Fabrikam.OptionalApp3"
Publisher="CN=Fabrikam"
Version="10.34.54.23"
ProcessorArchitecture="x64"
Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix" />
</OptionalPackages>
</AppInstaller>
Passaggio 5: Aggiungere dipendenze
Nell'elemento dependencies è possibile specificare i pacchetti framework necessari per il pacchetto principale o i pacchetti facoltativi.
| Elemento | Descrizione |
|---|---|
| Nome | Il nome dell'applicazione di dipendenza a cui viene destinata la distribuzione tramite il file App Installer. Questa operazione è disponibile eseguendo il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Name. |
| Editore | Nome canonico del certificato dell'editore utilizzato per firmare il programma di installazione delle dipendenze dell'app Windows. Per trovare questo valore, eseguire il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Publisher. |
| Versione | Versione del programma di installazione dell'app di dipendenza Windows in una notazione con punti quad (1.0.0.0). Questa operazione è disponibile eseguendo il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Version. |
| ArchitetturaDelProcessore | L'architettura su cui il programma di installazione delle app di Windows sta installando la dipendenza. |
| URI (Identificatore Uniforme delle Risorse) | Percorso URI del supporto di installazione dell'app Windows dipendenza. |
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainBundle
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />
<Dependencies>
<Package
Name="Microsoft.VCLibs.140.00"
Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
Version="14.0.24605.0" ProcessorArchitecture="x86" Uri="http://foobarbaz.com/fwkx86.appx" />
<Package
Name="Microsoft.VCLibs.140.00"
Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
Version="14.0.24605.0"
ProcessorArchitecture="x64"
Uri="http://foobarbaz.com/fwkx64.appx" />
</Dependencies>
</AppInstaller>
Passaggio 6: Aggiungere l'impostazione di aggiornamento
Il file del programma di installazione app può anche specificare l'impostazione di aggiornamento in modo che i set correlati possano essere aggiornati automaticamente quando viene pubblicato un file del programma di installazione app più recente. <UpdateSettings> è un elemento facoltativo. In <UpdateSettings> l'opzione OnLaunch specifica che i controlli di aggiornamento devono essere eseguiti all'avvio dell'app e HoursBetweenUpdateChecks="12" specifica che deve essere eseguito un controllo degli aggiornamenti ogni 12 ore. Se HoursBetweenUpdateChecks non è specificato, l'intervallo predefinito usato per verificare la disponibilità di aggiornamenti è di 24 ore. Altri tipi di aggiornamenti, ad esempio gli aggiornamenti in background, sono disponibili nello schema Delle impostazioni di aggiornamento; Altri tipi di aggiornamenti all'avvio, ad esempio gli aggiornamenti con un prompt, sono disponibili nello schema OnLaunch
| Elementi | Descrizione |
|---|---|
| OreTraControlliAggiornamenti | Definisce il divario minimo nei controlli di aggiornamento delle app Windows. |
| AggiornamentoBlocchiAttivazione | Definisce l'esperienza quando viene verificato un aggiornamento dell'app. |
| Mostra prompt | Definisce se viene visualizzata una finestra quando vengono installati gli aggiornamenti e quando vengono verificati gli aggiornamenti. |
| ForzaAggiornamentoDaQualsiasiVersione | Specifica che la versione dell'applicazione successiva potrebbe corrispondere a una versione più recente o precedente. Se True, tutti per entrambi, se False (impostazione predefinita), verranno installate solo le nuove versioni. |
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainBundle
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />
<UpdateSettings>
<OnLaunch
HoursBetweenUpdateChecks="12"
UpdateBlocksActivation="true"
ShowPrompt="true" />
<AutomaticBackgroundTask />
<ForceUpdateFromAnyVersion>true</ForceUpdateFromAnyVersion>
</UpdateSettings>
</AppInstaller>
Passaggio 7: Aggiungere le impostazioni di aggiornamento automatico
Importante
Le impostazioni seguenti richiedono la versione dello schema 2021 nel file .appinstaller e Windows 10 versione 2004 (build 19041) o versioni successive.
Queste impostazioni consentono di aggiornare l'app Windows dall'URI del programma di installazione app, rispettando le configurazioni impostate nel passaggio precedente. Gli URI di aggiornamento configurati in questo passaggio fungeranno da URI di fallback che possono essere usati se l'URI originale del programma di installazione app non è più accessibile. È possibile configurare un massimo di 10 URI di aggiornamento per qualsiasi app Windows.
Gli URI di aggiornamento devono essere destinati ai file del programma di installazione app.
Annotazioni
Queste impostazioni funzionano solo quando lo schema è configurato come 2021 o versione successiva.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainBundle
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />
<UpdateSettings>
<OnLaunch
HoursBetweenUpdateChecks="12" />
</UpdateSettings>
<UpdateUris>
<UpdateUri>https://www.contoso.com/Installers/MainApp.AppInstaller</UpdateUri>
<UpdateUri>\\ServerName\Share\Installers\MainApp.AppInstaller</UpdateUri>
</UpdateUris>
</AppInstaller>
Passaggio 8: Aggiungere le impostazioni di ripristino automatico
Importante
Le impostazioni seguenti richiedono la versione dello schema 2021 nel file .appinstaller e Windows 10 versione 2004 (build 19041) o versioni successive.
Queste impostazioni abilitano la riparazione dell'app Windows quando viene manomessa. Il programma di installazione di origine usato per ripristinare l'app può essere configurato usando la <RepairURIs> proprietà . L'app Windows tenterà di ripristinarsi in base all'URI del programma di installazione app. Se inaccessibile, userà gli URI di ripristino per identificare un'origine di ripristino. È possibile configurare un massimo di 10 URI di ripristino per qualsiasi app Windows.
Gli URI di ripristino possono essere destinati ad app Windows o a file di App Installer. Questa impostazione non richiede che l'app Windows sia stata installata usando un file del programma di installazione app.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
Version="1.0.0.0"
Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >
<MainBundle
Name="Contoso.MainApp"
Publisher="CN=Contoso"
Version="2.23.12.43"
Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />
<UpdateSettings>
<OnLaunch
HoursBetweenUpdateChecks="12" />
</UpdateSettings>
<RepairUris>
<RepairUri></RepairUri>
<RepairUri></RepairUri>
</RepairUris>
</AppInstaller>
Per tutti i dettagli sullo schema XML, vedere Riferimento al file di App Installer.
Annotazioni
Il tipo di file del programma di installazione app è nuovo in Windows 10 versione 1709 (Windows 10 Fall Creators Update). Non è disponibile alcun supporto per la distribuzione di app Windows 10 usando un file del programma di installazione app nelle versioni precedenti di Windows 10. L'elemento HoursBetweenUpdateChecks è disponibile a partire da Windows 10 versione 1803.