Bagikan melalui


SDK Aplikasi Windows panduan penyebaran untuk aplikasi paket yang bergantung pada kerangka kerja

Artikel ini menyediakan panduan tentang menyebarkan aplikasi paket yang bergantung pada kerangka kerja (lihat Apa itu MSIX?) yang menggunakan SDK Aplikasi Windows. Topik yang setara untuk opsi pengemasan yang bergantung pada kerangka kerja lainnya adalah SDK Aplikasi Windows panduan penyebaran untuk aplikasi yang bergantung pada kerangka kerja yang dikemas dengan lokasi eksternal atau tidak dikemas.

Gambaran Umum

Secara default, saat Anda membuat proyek menggunakan salah satu templat WinUI 3 di Visual Studio, proyek Anda dikonfigurasi untuk membangun aplikasi ke dalam paket MSIX menggunakan MSIX proyek tunggal (lihat Mengemas aplikasi Anda menggunakan MSIX proyek tunggal) atau proyek Windows Application Packaging (lihat Menyiapkan aplikasi desktop Anda untuk kemasan MSIX di Visual Studio). Anda kemudian dapat membuat paket MSIX untuk aplikasi Anda dengan menggunakan instruksi di Mengemas desktop atau aplikasi UWP di Visual Studio. Setelah membuat paket MSIX untuk aplikasi, Anda memiliki beberapa opsi untuk Mengelola penyebaran MSIX Anda.

Untuk mempelajari selengkapnya tentang paket yang mungkin diperlukan aplikasi paket Anda saat menggunakan SDK Aplikasi Windows, lihat Arsitektur penyebaran untuk SDK Aplikasi Windows. Itu termasuk paket Framework, Main, dan Singleton ; yang semuanya ditandatangani dan diterbitkan oleh Microsoft. Ada dua persyaratan utama untuk menyebarkan aplikasi paket:

  1. Sebarkan paket kerangka kerja SDK Aplikasi Windows.
  2. Panggil API Penyebaran.

Prasyarat

Menyebarkan paket kerangka kerja SDK Aplikasi Windows

Paket kerangka kerja SDK Aplikasi Windows berisi biner SDK Aplikasi Windows yang digunakan pada waktu proses, dan diinstal dengan aplikasi Anda. Kerangka kerja ini memiliki persyaratan penyebaran yang berbeda untuk berbagai saluran SDK Aplikasi Windows.

Versi stabil

Saat Anda menginstal versi rilis yang stabil (lihat Catatan rilis saluran stabil) dari paket SDK Aplikasi Windows NuGet di komputer pengembangan Anda, dan Anda membuat proyek menggunakan salah satu templat proyek WinUI 3 yang disediakan, manifes paket yang dihasilkan berisi elemen PackageDependency yang menentukan dependensi pada paket kerangka kerja.

Namun, jika Anda membuat paket aplikasi secara manual menggunakan Proyek Pengemasan Aplikasi Windows terpisah, maka Anda harus mendeklarasikan PackageReference dalam file Anda Application (package).wapproj , seperti berikut ini:

<ItemGroup>
   <PackageReference Include="Microsoft.WindowsAppSDK" Version="1.0.1">
       <IncludeAssets>build</IncludeAssets>
   </PackageReference>
</ItemGroup>

Dependensi paket tersebut memastikan bahwa paket Kerangka Kerja diinstal saat aplikasi Anda disebarkan ke komputer lain.

Versi pratinjau

Saat Anda menginstal versi rilis pratinjau (lihat Pratinjau catatan rilis saluran) dari paket SDK Aplikasi Windows NuGet di komputer pengembangan Anda, versi pratinjau paket kerangka kerja SDK Aplikasi Windows disebarkan selama waktu build sebagai dependensi paket NuGet.

Memanggil API Penyebaran

Lihat Juga Menginisialisasi SDK Aplikasi Windows.

API Penyebaran disediakan oleh paket kerangka kerja SDK Aplikasi Windows, dan tersedia di namespace Microsoft.Windows.ApplicationModel.WindowsAppRuntime. Model aplikasi Windows tidak mendukung mendeklarasikan dependensi pada paket Utama dan Singleton. Oleh karena itu, API Penyebaran diperlukan karena alasan ini:

  1. Untuk menyebarkan paket Singleton untuk fitur yang tidak ada dalam paket Kerangka Kerja (misalnya, pemberitahuan push).
  2. Untuk menyebarkan paket Utama, yang memungkinkan pembaruan otomatis ke paket Kerangka Kerja dari Microsoft Store.

Untuk aplikasi paket yang tidak didistribusikan melalui Store, Anda sebagai pengembang bertanggung jawab untuk mendistribusikan paket Framework. Kami menyarankan agar Anda memanggil API Penyebaran sehingga setiap pembaruan layanan penting dikirimkan. Perhatikan bahwa untuk menggunakan fitur di luar paket Kerangka Kerja (misalnya, pemberitahuan push), paket Singleton harus disebarkan (ini dapat dilakukan dengan API Penyebaran, atau dengan mendistribusikan ulang paket MSIX menggunakan metode penginstalan Anda sendiri).

Penting

Dalam SDK Aplikasi Windows versi 1.0, hanya aplikasi paket yang memiliki kepercayaan penuh atau yang memiliki kemampuan dibatasi packageManagement yang memiliki izin untuk menggunakan API Penyebaran untuk menginstal dependensi paket Utama dan Singleton. Dukungan untuk aplikasi paket kepercayaan parsial akan datang dalam rilis selanjutnya.

Anda harus memanggil API Penyebaran setelah proses aplikasi Anda diinisialisasi, tetapi sebelum aplikasi Anda menggunakan fitur runtime SDK Aplikasi Windows yang menggunakan paket Singleton (misalnya, pemberitahuan push). Metode utama API Penyebaran adalah metode GetStatus statis dan Inisialisasi kelas DeploymentManager.

  • Metode GetStatus mengembalikan status penyebaran saat ini dari runtime SDK Aplikasi Windows yang saat ini dimuat. Gunakan metode ini untuk mengidentifikasi apakah ada pekerjaan yang diperlukan untuk menginstal paket runtime SDK Aplikasi Windows sebelum aplikasi saat ini dapat menggunakan fitur SDK Aplikasi Windows.
  • Metode Inisialisasi memverifikasi apakah semua paket yang diperlukan ada ke versi minimum yang diperlukan oleh runtime SDK Aplikasi Windows yang saat ini dimuat. Jika ada dependensi paket yang hilang, maka metode ini mencoba mendaftarkan paket yang hilang tersebut. Dimulai pada SDK Aplikasi Windows 1.1, metode Inisialisasi juga mendukung opsi untuk menyebarkan paksa paket runtime SDK Aplikasi Windows. Itu mematikan proses apa pun untuk paket runtime Main dan Singleton , dan dengan demikian mengganggu layanan mereka (misalnya, pemberitahuan push tidak akan mengirimkan pemberitahuan selama waktu ini).

Aplikasi sampel API penyebaran

Untuk panduan tambahan tentang cara menggunakan metode GetStatus dan Initialize kelas DeploymentManager , jelajahi aplikasi sampel yang tersedia.

Mengatasi kesalahan penginstalan

Jika API Penyebaran mengalami kesalahan selama penginstalan paket runtime SDK Aplikasi Windows, api tersebut mengembalikan kode kesalahan yang menjelaskan masalahnya.

Misalnya, jika aplikasi Anda tidak dipercaya penuh, atau tidak memiliki kemampuan packageManagement yang dibatasi, maka Anda akan mendapatkan kode kesalahan ACCESS_DENIED . Untuk meninjau kode kesalahan lain yang mungkin Anda temui dan kemungkinan penyebabnya, lihat Pemecahan masalah pengemasan, penyebaran, dan kueri aplikasi Windows.

Jika kode kesalahan tidak memberikan informasi yang cukup, maka Anda dapat menemukan informasi diagnostik lebih lanjut di log peristiwa terperinci (lihat Mendapatkan informasi diagnostik).

Jika Anda mengalami kesalahan yang tidak dapat Anda diagnosis, maka ajukan masalah di repositori GitHub WindowsAppSDK dengan kode kesalahan dan log peristiwa sehingga kami dapat menyelidiki masalah tersebut.