Membuat file Penginstal Aplikasi secara manual

Artikel ini memperlihatkan cara membuat file Penginstal Aplikasi secara manual yang menentukan set terkait dengan kemampuan pembaruan otomatis dan perbaikan. Set terkait bukan satu entitas, melainkan kombinasi paket utama dan paket opsional.

Untuk dapat menginstal set terkait sebagai satu entitas, kita harus dapat menentukan paket utama dan paket opsional sebagai satu. Untuk melakukan ini, kita perlu membuat file XML dengan ekstensi .appinstaller untuk menentukan set terkait. Penginstal Aplikasi menggunakan file *.appinstaller dan memungkinkan pengguna untuk menginstal semua paket yang ditentukan dengan satu klik.

Selama penyebaran, file Penginstal Aplikasi akan:

  • Paket aplikasi Windows yang dirujuk dalam URI atribut < elemen MainPackage > akan memvalidasi Name, Publisher dan Version atribut Paket aplikasi Windows target. Jika elemen Paket/Identitas dalam manifes Paket aplikasi Windows tidak cocok, penginstalan akan gagal.
  • Buat referensi ke URI Pembaruan dan Perbaikan untuk keluarga paket.

Cara membuat file Penginstal Aplikasi

Untuk mendistribusikan set terkait sebagai satu entitas, Anda harus membuat file Penginstal Aplikasi yang berisi elemen yang diperlukan oleh skema penginstal aplikasi tersebut.

  1. Buat *. File AppInstaller.
  2. Tentukan atribut file Penginstal Aplikasi.
  3. Tentukan Paket aplikasi Windows utama.
  4. Tentukan set Terkait Paket Opsional.
  5. Tentukan Paket Kerangka Kerja aplikasi Windows dependensi.
  6. Tentukan jalur URI Pembaruan.
  7. Tentukan jalur Perbaikan URI.
  8. Tentukan Pengaturan Pembaruan.
Contoh file Penginstal Aplikasi

Mengikuti langkah-langkah yang disediakan di atas, Anda akan berhasil membuat file Penginstal Aplikasi yang menyerupai berikut ini:

<?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>

Langkah 1: Buat file *.appinstaller

Menggunakan editor teks (Notepad.exe), buat file baru dengan ekstensi nama file *. AppInstaller

Cara:
  1. Buka Menu Mulai.
  2. Ketik yang berikut ini: notepad.exe.
  3. Buka Menu File.
  4. Pilih Simpan Sebagai dari menu drop-down.

Langkah 2: Tambahkan templat dasar

Sertakan elemen ke AppInstaller dalam file Penginstal Aplikasi Anda yang mencatat versi, jalur, dan lokasi jaringan file Penginstal Aplikasi Anda. Informasi dalam AppInstaller elemen akan digunakan saat menginstal aplikasi Windows terkait.

Elemen Deskripsi
xmlns The XML Namespace
Versi Versi file Penginstal Aplikasi dalam notasi quad-dotted (1.0.0.0).
URI Jalur URI ke file Penginstal Aplikasi saat ini, dapat diakses oleh perangkat.
Cara:
  1. Buka file yang dibuat di Langkah 1.

  2. Salin konten XML berikut ke *Anda. File AppInstaller .

    <?xml version="1.0" encoding="utf-8"?>
    <AppInstaller
        xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
        Version=""
        Uri="" >
    </AppInstaller>
    
  3. Version Memperbarui atribut dengan versi file Penginstal Aplikasi Anda

  4. URI Perbarui atribut dengan lokasi jaringan tempat *ini. File AppInstaller akan dapat diakses.

Langkah 3: Tambahkan informasi paket utama

<MainPackage> dan <MainBundle> digunakan untuk mengidentifikasi aplikasi Windows utama yang akan diinstal menggunakan file Penginstal Aplikasi. <MainPackage> digunakan ketika penginstal aplikasi Windows adalah *.msix, atau *.appx. <MainBundle> Gunakan saat penginstal aplikasi Windows adalah Penginstal aplikasi Windows yang dibundel, dengan ekstensi *.msixbundle, atau *.appxbundle.

Elemen Deskripsi
Nama Nama aplikasi utama yang didistribusikan melalui file Penginstal Aplikasi. Ini dapat ditemukan dengan menjalankan cmdlet PowerShell berikut: $(Get-AppxPackage [AppName]).Name.
Publisher Nama kanonis sertifikat penerbit yang digunakan untuk menandatangani penginstal aplikasi Windows utama. Ini dapat ditemukan dengan menjalankan cmdlet PowerShell berikut: $(Get-AppxPackage [AppName]).Publisher.
Versi Versi penginstal aplikasi Windows utama dalam notasi quad-dotted (1.0.0.0). Ini dapat ditemukan dengan menjalankan cmdlet PowerShell berikut: $(Get-AppxPackage [AppName]).Version.
ProcessorArchitecture Arsitektur tempat penginstal aplikasi Windows utama diinstal.
URI Jalur URI ke media penginstalan aplikasi Windows utama.

Informasi dalam <MainBundle> atribut atau <MainPackage> harus cocok dengan elemen Paket/Identitas dalam manifes bundel aplikasi atau manifes paket aplikasi masing-masing.

Penginstal aplikasi Windows

Jika paket aplikasi utama adalah file .msix atau .appx, gunakan <MainPackage>, seperti yang ditunjukkan di bawah ini. Pastikan untuk menyertakan ProcessorArchitecture, karena wajib untuk paket non-bundel.

<?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>
Penginstal Bundel aplikasi Windows

Jika paket aplikasi utama adalah .msixbundle atau .appxbundle atau file, gunakan sebagai ganti seperti <MainPackage> yang <MainBundle> ditunjukkan di bawah ini. Untuk bundel, ProcessorArchitecture tidak diperlukan.

<?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>

Langkah 4: Tambahkan paket opsional

Mirip dengan atribut paket aplikasi utama, jika paket opsional dapat berupa paket aplikasi atau bundel aplikasi, elemen turunan dalam <OptionalPackages> atribut harus <Package> atau <Bundle> masing-masing. Informasi paket dalam elemen turunan harus cocok dengan elemen identitas dalam bundel atau manifes paket.

Elemen Deskripsi
Nama Nama aplikasi opsional yang sedang didistribusikan melalui file Penginstal Aplikasi. Ini dapat ditemukan dengan menjalankan cmdlet PowerShell berikut: $(Get-AppxPackage [AppName]).Name.
Publisher Nama kanonis sertifikat penerbit yang digunakan untuk menandatangani penginstal aplikasi Windows opsional. Ini dapat ditemukan dengan menjalankan cmdlet PowerShell berikut: $(Get-AppxPackage [AppName]).Publisher.
Versi Versi penginstal aplikasi Windows opsional dalam notasi quad-dotted (1.0.0.0). Ini dapat ditemukan dengan menjalankan cmdlet PowerShell berikut: $(Get-AppxPackage [AppName]).Version.
ProcessorArchitecture Arsitektur tempat penginstal aplikasi Windows opsional diinstal.
URI Jalur URI ke media penginstalan aplikasi Windows utama.
<?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>

Langkah 5: Tambahkan dependensi

Dalam elemen dependensi, Anda dapat menentukan paket kerangka kerja yang diperlukan untuk paket utama atau paket opsional.

Elemen Deskripsi
Nama Nama aplikasi dependensi yang didistribusikan melalui file Penginstal Aplikasi. Ini dapat ditemukan dengan menjalankan cmdlet PowerShell berikut: $(Get-AppxPackage [AppName]).Name.
Publisher Nama kanonis sertifikat penerbit yang digunakan untuk menandatangani penginstal aplikasi Windows dependensi. Ini dapat ditemukan dengan menjalankan cmdlet PowerShell berikut: $(Get-AppxPackage [AppName]).Publisher.
Versi Versi penginstal aplikasi Windows dependensi dalam notasi quad-dotted (1.0.0.0). Ini dapat ditemukan dengan menjalankan cmdlet PowerShell berikut: $(Get-AppxPackage [AppName]).Version.
ProcessorArchitecture Arsitektur tempat penginstal aplikasi Windows dependensi diinstal.
URI Jalur URI ke media penginstalan aplikasi Windows dependensi.
<?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>

Langkah 6: Tambahkan pengaturan Pembaruan

File Penginstal Aplikasi juga dapat menentukan pengaturan pembaruan sehingga set terkait dapat diperbarui secara otomatis saat file Penginstal Aplikasi yang lebih baru diterbitkan. <Pembaruan Pengaturan> adalah elemen opsional. Dalam <Pembaruan Pengaturan> opsi OnLaunch menentukan bahwa pemeriksaan pembaruan harus dilakukan pada peluncuran aplikasi, dan HoursBetweenUpdateChecks="12" menentukan bahwa pemeriksaan pembaruan harus dilakukan setiap 12 jam. Jika HoursBetweenUpdateChecks tidak ditentukan, interval default yang digunakan untuk memeriksa pembaruan adalah 24 jam. Jenis pembaruan tambahan, seperti pembaruan latar belakang dapat ditemukan dalam skema Perbarui Pengaturan; Jenis tambahan pembaruan saat peluncuran seperti pembaruan dengan perintah dapat ditemukan dalam skema OnLaunch

Elemen Deskripsi
HoursBetweenUpdateChecks Menentukan celah minimal dalam pemeriksaan pembaruan aplikasi Windows.
UpdateBlocksActivation Menentukan pengalaman saat pembaruan aplikasi diperiksa.
ShowPrompt Menentukan apakah jendela ditampilkan saat pembaruan sedang diinstal, dan kapan pembaruan sedang diperiksa.
ForceUpdateFromAnyVersion Menentukan bahwa versi aplikasi berikutnya bisa ke versi yang lebih baru atau yang lebih lama. Jika True, semua akan untuk keduanya, jika False (default), hanya versi baru yang akan diinstal.
<?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>

Langkah 7: Tambahkan Pengaturan Pembaruan Otomatis

Penting

Pengaturan berikut ini hanya tersedia saat menggunakan skema 2021 pada build Windows Insider Windows 10.

Aplikasi Windows yang diinstal dengan file Penginstal Aplikasi akan default untuk memperbarui aplikasi Windows mereka dari URI Penginstal Aplikasi, mematuhi konfigurasi yang ditetapkan di langkah sebelumnya. URI Pembaruan yang dikonfigurasi dalam langkah ini akan bertindak sebagai URI fallback yang dapat digunakan jika URI Penginstal Aplikasi asli tidak lagi dapat diakses. Maksimum 10 URI Pembaruan dapat dikonfigurasi untuk aplikasi Windows apa pun.

URI Pembaruan harus menargetkan file Penginstal Aplikasi.

Catatan

Pengaturan ini hanya berfungsi ketika skema dikonfigurasi sebagai 2021 atau yang lebih baru.

<?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>

Langkah 8: Tambahkan perbaikan otomatis Pengaturan

Penting

Pengaturan berikut ini hanya tersedia saat menggunakan skema 2021 pada build Windows Insider Windows 10.

Aplikasi Windows yang diinstal pada perangkat dapat mendukung perbaikan otomatis aplikasi Windows ketika telah dirusak. Alat penginstal sumber yang akan digunakan untuk memperbaiki aplikasi Windows dapat dikonfigurasi menggunakan <RepairURIs> properti . Aplikasi Windows akan mencoba memperbaiki dirinya sendiri berdasarkan URI Penginstal Aplikasi, jika tidak dapat diakses, maka aplikasi Windows akan menggunakan URI Perbaikan untuk mengidentifikasi sumber perbaikan. Maksimum 10 URI Perbaikan dapat dikonfigurasi untuk aplikasi Windows apa pun.

URI Perbaikan dapat menargetkan file Aplikasi Windows atau Penginstal Aplikasi. Pengaturan ini tidak mengharuskan aplikasi Windows diinstal menggunakan file Penginstal Aplikasi.

<?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>

Untuk semua detail tentang skema XML, lihat Referensi file Penginstal Aplikasi.

Catatan

Jenis file Penginstal Aplikasi baru di Windows 10, versi 1709 (Pembaruan Windows 10 Fall Creators). Tidak ada dukungan untuk penyebaran aplikasi Windows 10 menggunakan file Penginstal Aplikasi pada versi Windows 10 sebelumnya. Elemen HoursBetweenUpdateChecks tersedia mulai dari Windows 10, versi 1803.