Mengkustomisasi aplikasi Enterprise Anda dengan paket modifikasi

Kemampuan untuk menyesuaikan pengalaman aplikasi sangat penting, terutama untuk perusahaan. Kami telah berbicara dengan profesional TI dan kami tahu bahwa menyesuaikan aplikasi untuk memenuhi kebutuhan pengguna mereka sangat penting untuk upaya pindah ke Windows 10. Saat menyesuaikan aplikasi yang dikemas menggunakan MSI, dipahami dengan baik bahwa profesional TI harus memperoleh paket dari pengembang dan mengemas ulang alat penginstal dengan penyesuaian agar sesuai dengan kebutuhan mereka. Ini adalah upaya mahal bagi perusahaan. Ke depan, kami ingin memisahkan penyesuaian dan aplikasi utama sehingga pengemasan ulang tidak lagi diperlukan. Ini memastikan bahwa perusahaan mendapatkan pembaruan terbaru dari pengembang sambil tetap mempertahankan kontrol penyesuaian mereka.

Dalam Windows 10, versi 1809, kami memperkenalkan jenis baru paket MSIX yang disebut paket modifikasi. Paket modifikasi adalah paket MSIX yang menyimpan kustomisasi. Paket modifikasi juga dapat berupa plugin/add-on yang mungkin tidak memiliki titik aktivasi. Profesional TI dapat menggunakan fitur ini untuk mengubah kontainer MSIX secara fleksibel sehingga aplikasi dilapisi oleh penyesuaian perusahaan mereka.

Cara kerjanya

Paket modifikasi dirancang untuk perusahaan yang tidak memiliki kode aplikasi dan hanya memiliki alat penginstal. Anda dapat membuat paket modifikasi dengan menggunakan versi terbaru alat pengemasan MSIX (untuk Windows 10 versi 1809 atau yang lebih baru). Jika Anda memiliki kode untuk aplikasi, Anda dapat membuat ekstensi aplikasi secara alternatif.

Jika Anda ingin membuat paket modifikasi yang memiliki pengikatan ketat ke aplikasi utama, Anda dapat mendeklarasikan aplikasi utama sebagai dependensi dalam manifes paket modifikasi.

<Dependencies>
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.15063.0"/>
    <uap4:MainPackageDependency Name="Main.App"/>
</Dependencies>

Contoh berikut menunjukkan cara menentukan sertifikat atau penerbit yang berbeda.

<Dependencies>
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.15063.0"/>
    <uap4:MainPackageDependency Name="Main.App" Publisher="CN=Contoso, C=US" />
</Dependencies>

Ini adalah konfigurasi sederhana jika hubungan antara paket modifikasi dan paket utama adalah satu-ke-satu. Penyesuaian umum sering memerlukan kunci registri di bawah HKEY_CURRENT_USER atau HKEY_CURRENT_USERCLASS. Di dalam paket MSIX kami, kami memiliki file User.dat dan Userclass.dat untuk menangkap kunci registri. Anda harus membuat User.dat jika Anda memerlukan kunci registri di bawah HKCU\Software* (sama seperti Registry.dat digunakan untuk HKLM\Software*). Gunakan Userclass.dat jika Anda memerlukan kunci di bawah HKCU\Sofware\Classes*.

Berikut adalah cara umum untuk membuat file .dat:

  • Gunakan Regedit untuk membuat file. Buat hive di Regedit dan sisipkan kunci yang diperlukan. Daripada klik kanan, ekspor dan simpan sebagai file hive. Pastikan untuk memberi nama file baik User.dat atau Userclass.dat

  • Gunakan API untuk membuat file yang diperlukan. Anda dapat menggunakan fungsi ORSaveHive untuk menyimpan file .dat. Pastikan untuk memberi nama file ether User.dat atau Userclass.dat

Setelah membuat perubahan yang diperlukan, Anda dapat membuat paket modifikasi seperti paket MSIX lainnya. Kemudian Anda dapat menyebarkan paket dengan pengaturan penyebaran saat ini. Saat meluncurkan kembali aplikasi utama, Anda dapat melihat perubahan yang telah dilakukan paket modifikasi. Jika Anda memilih untuk menghapus paket modifikasi, aplikasi utama Anda akan kembali ke status tanpa paket modifikasi.

Cari tahu paket modifikasi apa yang diinstal di perangkat Anda

Dengan menggunakan PowerShell, Anda dapat melihat paket modifikasi yang diinstal menggunakan perintah berikut.

Get-AppPackage -PackageTypeFilter Optional

Paket modifikasi pada Windows 10, versi 1809

Pada Windows 10, versi 1809, paket modifikasi dapat mencakup konfigurasi yang diperlukan untuk diatur dalam registri sehingga paket utama akan berjalan seperti yang diharapkan. Artinya aplikasi utama Anda memanfaatkan registri untuk melihat apakah plug-in ada. Ketika Anda menyebarkan paket utama dan paket modifikasi, pada runtime aplikasi akan melihat registri virtual (VREG) dari paket utama dan paket modifikasi.

Perhatikan bahwa paket utama Anda mungkin menggunakan VREG untuk melakukan hal-hal berikut:

  • Menampilkan tempat memuat file (DLL) plug-in. Jika demikian, pastikan bahwa file adalah bagian dari paket. Dengan melakukan ini, paket utama dapat mengakses file saat runtime.
  • Melihat tempat untuk melihat nilai kunci VREG. Paket utama Anda mungkin mencari nilai yang ada di VREG. Saat Anda membuat paket modifikasi baik dengan tangan maupun menggunakan alat kami, pastikan nilainya sudah benar.

Paket modifikasi pada Windows 10, versi 1903, dan yang lebih baru

Fitur berikut ditambahkan ke Windows 10, versi 1903.

Pembaruan manifes

Kami telah menambahkan dukungan untuk elemen berikut ke manifes paket modifikasi MSIX.

<Properties>
   <rescap6:ModificationPackage>true</rescap6:ModificationPackage>
</Properties>

Untuk memastikan bahwa paket modifikasi berfungsi di versi 1903 atau yang lebih baru, manifes paket modifikasi harus menyertakan elemen ini. Ini akan dilakukan untuk Anda jika Anda mengemas paket modifikasi MSIX Anda menggunakan rilis Januari dari alat pengemasan MSIX. Jika Anda telah mengonversi paket menggunakan alat kami sebelum rilis, Anda dapat mengedit paket yang ada di alat kami untuk menambahkan elemen baru ini. Selain itu, jika pengguna menginstal paket modifikasi, mereka akan diberi tahu bahwa paket dapat memodifikasi aplikasi utama.

Jika Anda menggunakan paket modifikasi yang dibuat sebelum versi 1903, perlu untuk mengedit manifes paket untuk memperbarui MaxVersionTested atribut ke 10.0.18362.0.

<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17701.0" MaxVersionTested="10.0.18362.0" />

Membuat paket modifikasi menggunakan MSIX Packaging Tool

Anda dapat membuat paket modifikasi dengan MSIX Packaging Tool:

  • Tentukan paket utama. Pastikan untuk memiliki versi MSIX dari paket utama Anda yang tersedia di komputer Anda yang Anda konversi. Jika tidak dari kami akan meminta Anda untuk memberikan informasi penerbit dan aplikasi utama secara manual. Juga beberapa penyesuaian mengharuskan aplikasi utama Anda diinstal pada komputer Anda. Modification Package MPT

  • Ubah paket setelah melalui konversi menggunakan editor paket. Mungkin ada kasus di mana paket utama mengharuskan paket modifikasi Anda memiliki nilai tertentu dalam VREG mereka. Di sinilah Anda akan pergi dan mengedit paket dengan tepat.

Membuat paket modifikasi menggunakan MakeAppx.exe

Anda dapat membuat paket modifikasi secara manual dengan menggunakan alat MakeAppX.exe yang disertakan dalam SDK Windows 10.

  • Dalam manifes, tentukan paket utama. Sertakan penerbit dan nama paket utama.

    <Dependencies>
      <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17701.0" MaxVersionTested="12.0.0.0"/>
      <uap4:MainPackageDependency Name="HeadTrax" Publisher="CN=Contoso Software, O=Contoso Corporation, C=US" />
    </Dependencies>
    
  • Buat Registry.dat, User.dat, dan Userclass.dat untuk membuat kunci registri apa pun yang diperlukan untuk memuat paket modifikasi Anda. Ini hanya diperlukan jika Anda memerlukan aplikasi utama Anda untuk melihat kunci registri kustom. Ingatlah bahwa karena semuanya berjalan di dalam kontainer, pada runtime paket utama dan registri virtual paket modifikasi akan menggabungkan sehingga paket utama dapat melihat registri virtual paket modifikasi.

Proses ini juga mendukung plug-in dan kustomisasi sistem file, selama yang dapat dieksekusi dari aplikasi utama tidak berada dalam sistem file virtual (VFS). Hal ini untuk memastikan bahwa paket utama akan mendapatkan semua VFS paket utama dan paket modifikasi.

Menginstal paket modifikasi pada komputer

Menginstal paket modifikasi pada komputer mengikuti konvensi penginstalan lainnya. Perlu dicatat bahwa Anda mungkin ingin menggunakan parameter -OptionalPackagePath saat menginstal paket.

Resolusi konflik

Dalam kasus beberapa paket modifikasi yang mencoba mengubah nilai yang sama, konflik diselesaikan dengan mempertimbangkan urutan alfabet dari nama paket modifikasi.