Mengintegrasikan aplikasi desktop Anda dengan Windows menggunakan ekstensi pengemasan

Jika aplikasi desktop Anda dikemas (memiliki identitas paket saat runtime), maka Anda dapat menggunakan ekstensi untuk mengintegrasikan aplikasi Anda dengan Windows dengan menggunakan ekstensi yang telah ditentukan sebelumnya dalam manifes paket. Lihat juga Fitur yang memerlukan identitas paket.

Misalnya, gunakan ekstensi untuk membuat pengecualian firewall; menjadikan aplikasi Anda sebagai aplikasi default untuk jenis file; atau arahkan Petak peta Mulai ke aplikasi Anda. Untuk menggunakan ekstensi, cukup tambahkan beberapa XML ke file manifes paket aplikasi Anda. Tidak ada kode yang diperlukan.

Topik ini menjelaskan ekstensi dan tugas yang dapat Anda lakukan dengan menggunakannya.

Catatan

Fitur yang dijelaskan dalam topik ini mengharuskan aplikasi Anda dipaketkan (memiliki identitas paket saat runtime). Itu termasuk aplikasi paket (lihat Membuat proyek baru untuk aplikasi desktop WinUI 3 paket) dan aplikasi paket dengan lokasi eksternal (lihat Memberikan identitas paket dengan pengemasan dengan lokasi eksternal). Lihat juga Fitur yang memerlukan identitas paket.

Transisi pengguna ke aplikasi Anda

Membantu pengguna beralih ke aplikasi paket Anda.

Mengalihkan aplikasi desktop yang sudah ada ke aplikasi paket Anda

Saat pengguna memulai aplikasi desktop yang tidak dikemas yang ada, Anda dapat mengonfigurasi aplikasi paket untuk dibuka sebagai gantinya.

Catatan

Fitur ini didukung di Windows Insider Preview Build 21313 dan versi yang lebih baru.

Untuk mengaktifkan perilaku ini:

  1. Tambahkan entri registri untuk mengalihkan aplikasi desktop yang tidak dikemas yang dapat dieksekusi ke aplikasi paket Anda.
  2. Daftarkan aplikasi paket Anda untuk diluncurkan saat aplikasi desktop yang tidak dikemas dapat dieksekusi diluncurkan.

Menambahkan entri registri untuk mengalihkan aplikasi desktop yang tidak dikemas yang dapat dieksekusi

  1. Di registri, buat subkunci dengan nama file yang dapat dieksekusi aplikasi desktop Anda di bawah kunci HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options .
  2. Di bawah subkunjuk ini, tambahkan nilai berikut:
    • AppExecutionAliasRedirect (DWORD): Jika diatur ke 1, sistem akan memeriksa ekstensi paket AppExecutionAlias dengan nama yang sama dengan yang dapat dieksekusi. Jika ekstensi AppExecutionAlias diaktifkan, aplikasi paket akan diaktifkan menggunakan nilai tersebut.
    • AppExecutionAliasRedirectPackages (REG_SZ): Sistem hanya akan mengalihkan ke paket yang tercantum. Paket dicantumkan berdasarkan nama keluarga paket mereka, dipisahkan oleh titik koma. Jika nilai khusus * digunakan, sistem akan mengalihkan ke AppExecutionAlias dari paket apa pun.

Contohnya:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\contosoapp.exe 
    AppExecutionAliasRedirect = 1
    AppExecutionAliasRedirectPackages = "Microsoft.WindowsNotepad_8weky8webbe" 

Daftarkan aplikasi paket Anda yang akan diluncurkan

Dalam manifes paket Anda, tambahkan ekstensi AppExecutionAlias yang mendaftarkan nama aplikasi desktop yang tidak dikemas yang dapat dieksekusi. Contohnya:

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap3:Extension Category="windows.appExecutionAlias" EntryPoint="Windows.FullTrustApplication">
          <uap3:AppExecutionAlias>
            <desktop:ExecutionAlias Alias="contosoapp.exe" />
          </uap3:AppExecutionAlias>
        </uap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Menonaktifkan pengalihan

Pengguna dapat menonaktifkan pengalihan dan meluncurkan aplikasi unpackaged Anda yang dapat dieksekusi melalui opsi ini:

  • Mereka dapat menghapus instalan versi aplikasi Anda yang dipaketkan.
  • Pengguna dapat menonaktifkan entri AppExecutionAlias untuk aplikasi paket Anda di halaman Alias eksekusi aplikasi di Pengaturan.

Namespace XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10

Elemen dan atribut ekstensi ini

<uap3:Extension
    Category="windows.appExecutionAlias"
    EntryPoint="Windows.FullTrustApplication">
    <uap3:AppExecutionAlias>
        <desktop:ExecutionAlias Alias="[AliasName]" />
    </uap3:AppExecutionAlias>
</uap3:Extension>
Nama Deskripsi
Kategori Selalu windows.appExecutionAlias.
Eksekusi Jalur relatif ke executable untuk memulai saat alias dipanggil.
Alias Nama pendek untuk aplikasi Anda. Ini harus selalu diakhir dengan ekstensi ".exe".

Arahkan petak peta Mulai dan tombol taskbar yang ada ke aplikasi kemasan Anda

Pengguna Anda mungkin telah menyematkan aplikasi desktop Anda ke taskbar atau menu Mulai. Anda dapat mengarahkan pintasan tersebut ke aplikasi paket baru Anda.

Namespace XML

http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3

Elemen dan atribut ekstensi ini

<Extension Category="windows.desktopAppMigration">
    <DesktopAppMigration>
        <DesktopApp AumId="[your_app_aumid]" />
        <DesktopApp ShortcutPath="[path]" />
    </DesktopAppMigration>
</Extension>

Temukan referensi skema lengkap di sini.

Nama Deskripsi
Kategori Selalu windows.desktopAppMigration.
AumID ID Model Pengguna Aplikasi dari aplikasi paket Anda.
ShortcutPath Jalur ke file .lnk yang memulai versi desktop aplikasi Anda.

Contoh

<Package
  xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
  IgnorableNamespaces="rescap3">
  <Applications>
    <Application>
      <Extensions>
        <rescap3:Extension Category="windows.desktopAppMigration">
          <rescap3:DesktopAppMigration>
            <rescap3:DesktopApp AumId="[your_app_aumid]" />
            <rescap3:DesktopApp ShortcutPath="%USERPROFILE%\Desktop\[my_app].lnk" />
            <rescap3:DesktopApp ShortcutPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\[my_app].lnk" />
            <rescap3:DesktopApp ShortcutPath="%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\[my_app_folder]\[my_app].lnk"/>
         </rescap3:DesktopAppMigration>
        </rescap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Penampil gambar WPF dengan transisi/migrasi/penghapusan instalasi

Membuat aplikasi paket Anda membuka file alih-alih aplikasi desktop Anda

Anda dapat memastikan bahwa pengguna membuka aplikasi paket baru Anda secara default untuk jenis file tertentu alih-alih membuka versi desktop aplikasi Anda.

Untuk melakukannya, Anda akan menentukan pengidentifikasi terprogram (ProgID) dari setiap aplikasi tempat Anda ingin mewarisi asosiasi file.

Namespace XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3

Elemen dan atribut ekstensi ini

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
         <MigrationProgIds>
            <MigrationProgId>"[ProgID]"</MigrationProgId>
        </MigrationProgIds>
    </FileTypeAssociation>
</Extension>

Temukan referensi skema lengkap di sini.

Nama Deskripsi
Kategori Selalu windows.fileTypeAssociation.
Nama Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi.
MigrationProgId Pengidentifikasi terprogram (ProgID) yang menjelaskan aplikasi, komponen, dan versi aplikasi desktop tempat Anda ingin mewarisi asosiasi file.

Contoh

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
  IgnorableNamespaces="uap3, rescap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes">
            <rescap3:MigrationProgIds>
              <rescap3:MigrationProgId>Foo.Bar.1</rescap3:MigrationProgId>
              <rescap3:MigrationProgId>Foo.Bar.2</rescap3:MigrationProgId>
            </rescap3:MigrationProgIds>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Penampil gambar WPF dengan transisi/migrasi/penghapusan instalasi

Mengaitkan aplikasi paket Anda dengan sekumpulan jenis file

Anda dapat mengaitkan aplikasi paket Anda dengan ekstensi jenis file. Jika pengguna mengklik kanan file di File Explorer lalu memilih opsi Buka dengan , aplikasi Anda muncul dalam daftar saran. Untuk informasi selengkapnya tentang menggunakan ekstensi ini, lihat Mengintegrasikan aplikasi desktop kemasan dengan File Explorer.

Namespace XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3

Elemen dan atribut ekstensi ini

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
        <SupportedFileTypes>
            <FileType>"[file extension]"</FileType>
        </SupportedFileTypes>
    </FileTypeAssociation>
</Extension>

Temukan referensi skema lengkap di sini.

Nama Deskripsi
Kategori Selalu windows.fileTypeAssociation.
Nama Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi.
FileType Ekstensi file yang didukung oleh aplikasi Anda.

Contoh

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap, uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="mediafiles">
            <uap:SupportedFileTypes>
            <uap:FileType>.avi</uap:FileType>
            </uap:SupportedFileTypes>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Penampil gambar WPF dengan transisi/migrasi/penghapusan instalasi

Menambahkan opsi ke menu konteks file yang memiliki jenis file tertentu

Ekstensi ini memungkinkan Anda menambahkan opsi ke menu konteks yang ditampilkan saat pengguna mengklik kanan file di File Explorer.Opsi ini memberi pengguna cara lain untuk berinteraksi dengan file Anda seperti mencetak, mengedit, atau mempratinjau file. Untuk informasi selengkapnya tentang menggunakan ekstensi ini, lihat Mengintegrasikan aplikasi desktop kemasan dengan File Explorer.

Namespace XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3

Elemen dan atribut ekstensi ini

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
        <SupportedVerbs>
           <Verb Id="[ID]" Extended="[Extended]" Parameters="[parameters]">"[verb label]"</Verb>
        </SupportedVerbs>
    </FileTypeAssociation>
</Extension>

Temukan referensi skema lengkap di sini.

Nama Deskripsi
Kategori Selalu windows.fileTypeAssociation.
Nama Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi.
Kata kerja Nama yang muncul di menu konteks File Explorer. String ini dapat dilokalisasi yang menggunakan ms-resource.
Id Id unik kata kerja. Jika aplikasi Anda adalah aplikasi UWP, ini diteruskan ke aplikasi Anda sebagai bagian dari arg peristiwa aktivasinya sehingga dapat menangani pilihan pengguna dengan tepat. Jika aplikasi Anda adalah aplikasi paket tepercaya penuh, aplikasi menerima parameter sebagai gantinya (lihat poin berikutnya).
Parameter Daftar parameter argumen dan nilai yang terkait dengan kata kerja. Jika aplikasi Anda adalah aplikasi paket kepercayaan penuh, parameter ini diteruskan ke aplikasi sebagai arg peristiwa saat aplikasi diaktifkan. Anda dapat menyesuaikan perilaku aplikasi Anda berdasarkan kata kerja aktivasi yang berbeda. Jika variabel dapat berisi jalur file, bungkus nilai parameter dalam tanda kutip. Itu akan menghindari masalah yang terjadi jika jalur menyertakan spasi. Jika aplikasi Anda adalah aplikasi UWP, Anda tidak dapat meneruskan parameter. Aplikasi menerima Id sebagai gantinya (lihat poin sebelumnya).
Diluaskan Menentukan bahwa kata kerja hanya muncul jika pengguna memperlihatkan menu konteks dengan menahan tombol Shift sebelum mengklik kanan file. Atribut ini bersifat opsional dan default ke nilai False (misalnya, selalu tampilkan kata kerja) jika tidak tercantum. Anda menentukan perilaku ini satu per satu untuk setiap kata kerja (kecuali untuk "Buka," yang selalu Salah).

Contoh

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"

  IgnorableNamespaces="uap, uap2, uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes">
            <uap2:SupportedVerbs>
              <uap3:Verb Id="Edit" Parameters="/e &quot;%1&quot;">Edit</uap3:Verb>
              <uap3:Verb Id="Print" Extended="true" Parameters="/p &quot;%1&quot;">Print</uap3:Verb>
            </uap2:SupportedVerbs>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Penampil gambar WPF dengan transisi/migrasi/penghapusan instalasi

Buka jenis file tertentu secara langsung dengan menggunakan URL

Anda dapat memastikan bahwa pengguna membuka aplikasi paket baru Anda secara default untuk jenis file tertentu alih-alih membuka versi desktop aplikasi Anda.

Namespace XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3

Elemen dan atribut ekstensi ini

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]" UseUrl="true" Parameters="%1">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
    </FileTypeAssociation>
</Extension>

Temukan referensi skema lengkap di sini.

Nama Deskripsi
Kategori Selalu windows.fileTypeAssociation.
Nama Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi.
UseUrl Menunjukkan apakah akan membuka file langsung dari target URL. Jika Anda tidak mengatur nilai ini, upaya aplikasi Anda untuk membuka file dengan menggunakan URL menyebabkan sistem terlebih dahulu mengunduh file secara lokal.
Parameter Parameter opsional.
FileType Ekstensi file yang relevan.

Contoh

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap, uap3">
  <Applications>
      <Application>
        <Extensions>
          <uap:Extension Category="windows.fileTypeAssociation">
            <uap3:FileTypeAssociation Name="myfiletypes" UseUrl="true" Parameters="%1">
              <uap:SupportedFileTypes>
                <uap:FileType>.txt</uap:FileType>
                <uap:FileType>.doc</uap:FileType>
              </uap:SupportedFileTypes>
            </uap3:FileTypeAssociation>
          </uap:Extension>
        </Extensions>
      </Application>
    </Applications>
</Package>

Melakukan tugas penyetelan

Membuat pengecualian firewall untuk aplikasi Anda

Jika aplikasi Anda memerlukan komunikasi melalui port, Anda dapat menambahkan aplikasi Anda ke daftar pengecualian firewall.

Catatan

Untuk menggunakan kategori ekstensi "windows.firewallRules" (lihat di bawah), paket Anda memerlukan kemampuan terbatas Tingkat Izin Kepercayaan Penuh. Lihat Daftar kemampuan terbatas.

Namespace XML

http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

Elemen dan atribut ekstensi ini

<Extension Category="windows.firewallRules">
  <FirewallRules Executable="[executable file name]">
    <Rule
      Direction="[Direction]"
      IPProtocol="[Protocol]"
      LocalPortMin="[LocalPortMin]"
      LocalPortMax="LocalPortMax"
      RemotePortMin="RemotePortMin"
      RemotePortMax="RemotePortMax"
      Profile="[Profile]"/>
  </FirewallRules>
</Extension>

Temukan referensi skema lengkap di sini.

Nama Deskripsi
Kategori Selalu windows.firewallRules
Eksekusi Nama file yang dapat dieksekusi yang ingin Anda tambahkan ke daftar pengecualian firewall
Arah Menunjukkan apakah aturan tersebut adalah aturan masuk atau keluar
IPProtocol Protokol komunikasi
LocalPortMin Nomor port yang lebih rendah dalam rentang nomor port lokal.
LocalPortMax Nomor port tertinggi dari rentang nomor port lokal.
RemotePortMax Nomor port yang lebih rendah dalam rentang nomor port jarak jauh.
RemotePortMax Nomor port tertinggi dari rentang nomor port jarak jauh.
Profil Jenis jaringan

Contoh

<Package
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="desktop2">
  <Extensions>
    <desktop2:Extension Category="windows.firewallRules">
      <desktop2:FirewallRules Executable="Contoso.exe">
          <desktop2:Rule Direction="in" IPProtocol="TCP" Profile="all"/>
          <desktop2:Rule Direction="in" IPProtocol="UDP" LocalPortMin="1337" LocalPortMax="1338" Profile="domain"/>
          <desktop2:Rule Direction="in" IPProtocol="UDP" LocalPortMin="1337" LocalPortMax="1338" Profile="public"/>
          <desktop2:Rule Direction="out" IPProtocol="UDP" LocalPortMin="1339" LocalPortMax="1340" RemotePortMin="15"
                         RemotePortMax="19" Profile="domainAndPrivate"/>
          <desktop2:Rule Direction="out" IPProtocol="GRE" Profile="private"/>
      </desktop2:FirewallRules>
  </desktop2:Extension>
</Extensions>
</Package>

Tempatkan file DLL Anda ke folder paket apa pun

Gunakan ekstensi uap6:LoaderSearchPathOverride untuk mendeklarasikan hingga lima jalur folder dalam paket aplikasi, relatif terhadap jalur akar paket aplikasi, untuk digunakan di jalur pencarian pemuat untuk proses aplikasi.

Urutan pencarian DLL untuk aplikasi Windows menyertakan paket dalam grafik dependensi paket jika paket memiliki hak eksekusi. Secara default, ini termasuk paket utama, opsional, dan kerangka kerja, meskipun ini dapat ditimpa oleh elemen uap6:AllowExecution dalam manifes paket.

Paket yang disertakan dalam urutan pencarian DLL akan, secara default, menyertakan jalur efektifnya. Untuk informasi selengkapnya tentang jalur efektif, lihat properti EffectivePath (WinRT) dan enumerasi PackagePathType (Win32).

Jika paket menentukan uap6:LoaderSearchPathOverride, informasi ini digunakan alih-alih jalur efektif paket.

Setiap paket hanya dapat berisi satu ekstensi uap6:LoaderSearchPathOverride . Itu berarti Anda dapat menambahkan salah satunya ke paket utama Anda, lalu menambahkannya ke masing-masing paket opsional Anda , dan set terkait.

Namespace XML

http://schemas.microsoft.com/appx/manifest/uap/windows10/6

Elemen dan atribut ekstensi ini

Deklarasikan ekstensi ini pada tingkat paket manifes aplikasi Anda.

<Extension Category="windows.loaderSearchPathOverride">
  <LoaderSearchPathOverride>
    <LoaderSearchPathEntry FolderPath="[path]"/>
  </LoaderSearchPathOverride>
</Extension>

Nama Deskripsi
Kategori Selalu windows.loaderSearchPathOverride.
FolderPath Jalur folder yang berisi file DLL Anda. Tentukan jalur yang relatif terhadap folder akar paket. Anda dapat menentukan hingga lima jalur dalam satu ekstensi. Jika Anda ingin sistem mencari file di folder akar paket, gunakan string kosong untuk salah satu jalur ini. Jangan sertakan jalur duplikat, dan pastikan jalur Anda tidak berisi garis miring atau garis miring terdepan dan berikutnya.

Sistem tidak akan mencari subfolder, jadi pastikan untuk secara eksplisit mencantumkan setiap folder yang berisi file DLL yang Anda inginkan untuk dimuat sistem.

Contoh

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/6"
  IgnorableNamespaces="uap6">
  ...
    <Extensions>
      <uap6:Extension Category="windows.loaderSearchPathOverride">
        <uap6:LoaderSearchPathOverride>
          <uap6:LoaderSearchPathEntry FolderPath=""/>
          <uap6:LoaderSearchPathEntry FolderPath="folder1/subfolder1"/>
          <uap6:LoaderSearchPathEntry FolderPath="folder2/subfolder2"/>
        </uap6:LoaderSearchPathOverride>
      </uap6:Extension>
    </Extensions>
...
</Package>

Integrasikan dengan File Explorer

Bantu pengguna menata file Anda dan berinteraksi dengan mereka dengan cara yang familier.

Tentukan bagaimana aplikasi Anda beraksi saat pengguna memilih dan membuka beberapa file secara bersamaan

Tentukan bagaimana aplikasi Anda berperilaku saat pengguna membuka beberapa file secara bersamaan.

Namespace XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3

Elemen dan atribut ekstensi ini

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]" MultiSelectModel="[SelectionModel]">
        <SupportedVerbs>
            <Verb Id="Edit" MultiSelectModel="[SelectionModel]">Edit</Verb>
        </SupportedVerbs>
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
</Extension>

Temukan referensi skema lengkap di sini.

Nama Deskripsi
Kategori Selalu windows.fileTypeAssociation.
Nama Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi.
MultiSelectModel Lihat di bawah ini
FileType Ekstensi file yang relevan.

MultiSelectModel

aplikasi desktop paket memiliki tiga opsi yang sama dengan aplikasi desktop reguler.

  • Player: Aplikasi Anda diaktifkan satu kali. Semua file yang dipilih diteruskan ke aplikasi Anda sebagai parameter argumen.
  • Single: Aplikasi Anda diaktifkan satu kali untuk file pertama yang dipilih. File lain diabaikan.
  • Document: Instans baru yang terpisah dari aplikasi Anda diaktifkan untuk setiap file yang dipilih.

Anda dapat mengatur preferensi yang berbeda untuk berbagai jenis dan tindakan file. Misalnya, Anda mungkin ingin membuka Dokumen dalam mode Dokumen dan Gambar dalam mode Pemutar.

Contoh

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap, uap2, uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes" MultiSelectModel="Document">
            <uap2:SupportedVerbs>
              <uap3:Verb Id="Edit" MultiSelectModel="Player">Edit</uap3:Verb>
              <uap3:Verb Id="Preview" MultiSelectModel="Document">Preview</uap3:Verb>
            </uap2:SupportedVerbs>
            <uap:SupportedFileTypes>
              <uap:FileType>.txt</uap:FileType>
            </uap:SupportedFileTypes>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Jika pengguna membuka 15 atau lebih sedikit file, pilihan default untuk atribut MultiSelectModel adalah Pemutar. Jika tidak, defaultnya adalah Dokumen. Aplikasi UWP selalu dimulai sebagai Pemutar.

Perlihatkan konten file dalam gambar mini dalam File Explorer

Aktifkan pengguna untuk melihat gambar mini konten file saat ikon file muncul dalam ukuran sedang, besar, atau ekstra besar.

Namespace XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

Elemen dan atribut ekstensi ini

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
        <ThumbnailHandler
            Clsid  ="[Clsid  ]" />
    </FileTypeAssociation>
</Extension>

Temukan referensi skema lengkap di sini.

Nama Deskripsi
Kategori Selalu windows.fileTypeAssociation.
Nama Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi.
FileType Ekstensi file yang relevan.
Clsid ID kelas aplikasi Anda.

Contoh

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="uap, uap2, uap3, desktop2">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes">
            <uap2:SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
            </uap2:SupportedFileTypes>
            <desktop2:ThumbnailHandler
              Clsid  ="20000000-0000-0000-0000-000000000001"  />
            </uap3:FileTypeAssociation>
         </uap::Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Perlihatkan konten file di panel Pratinjau File Explorer

Aktifkan pengguna untuk mempratinjau konten file di panel Pratinjau File Explorer.

Namespace XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/2
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

Elemen dan atribut ekstensi ini

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
        <DesktopPreviewHandler Clsid  ="[Clsid  ]" />
    </FileTypeAssociation>
</Extension>

Temukan referensi skema lengkap di sini.

Nama Deskripsi
Kategori Selalu windows.fileTypeAssociation.
Nama Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi.
FileType Ekstensi file yang relevan.
Clsid ID kelas aplikasi Anda.

Contoh

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="uap, uap2, uap3, desktop2">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes">
            <uap2SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
                </uap2SupportedFileTypes>
              <desktop2:DesktopPreviewHandler Clsid ="20000000-0000-0000-0000-000000000001" />
           </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Mengaktifkan pengguna untuk mengelompokkan file dengan menggunakan kolom Jenis di File Explorer

Anda dapat mengaitkan satu atau beberapa nilai yang telah ditentukan sebelumnya untuk jenis file Anda dengan bidang Jenis .

Di File Explorer, pengguna dapat mengelompokkan file tersebut dengan menggunakan bidang tersebut. Komponen sistem juga menggunakan bidang ini untuk berbagai tujuan seperti pengindeksan.

Untuk informasi selengkapnya tentang bidang Jenis dan nilai yang bisa Anda gunakan untuk bidang ini, lihat Menggunakan Nama Jenis.

Namespace XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3

Elemen dan atribut ekstensi ini

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[Name]">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
        <KindMap>
            <Kind value="[KindValue]">
        </KindMap>
    </FileTypeAssociation>
</Extension>

Temukan referensi skema lengkap di sini.

Nama Deskripsi
Kategori Selalu windows.fileTypeAssociation.
Nama Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi.
FileType Ekstensi file yang relevan.
value Nilai Jenis yang valid

Contoh

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
  IgnorableNamespaces="uap, rescap">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
           <uap:FileTypeAssociation Name="mediafiles">
             <uap:SupportedFileTypes>
               <uap:FileType>.m4a</uap:FileType>
               <uap:FileType>.mta</uap:FileType>
             </uap:SupportedFileTypes>
             <rescap:KindMap>
               <rescap:Kind value="Item">
               <rescap:Kind value="Communications">
               <rescap:Kind value="Task">
             </rescap:KindMap>
          </uap:FileTypeAssociation>
      </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Membuat properti file tersedia untuk pencarian, indeks, dialog properti, dan panel detail

Namespace XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10
  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

Elemen dan atribut ekstensi ini

<uap:Extension Category="windows.fileTypeAssociation">
    <uap:FileTypeAssociation Name="[Name]">
        <SupportedFileTypes>
            <FileType>.bar</FileType>
        </SupportedFileTypes>
        <DesktopPropertyHandler Clsid ="[Clsid]"/>
    </uap:FileTypeAssociation>
</uap:Extension>

Temukan referensi skema lengkap di sini.

Nama Deskripsi
Kategori Selalu windows.fileTypeAssociation.
Nama Nama asosiasi jenis file. Anda dapat menggunakan nama ini untuk menata dan mengelompokkan tipe file. Nama harus semua karakter huruf kecil tanpa spasi.
FileType Ekstensi file yang relevan.
Clsid ID kelas aplikasi Anda.

Contoh

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="uap, uap3, desktop2">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myfiletypes">
            <uap:SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
            </uap:SupportedFileTypes>
            <desktop2:DesktopPropertyHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Tentukan penangan menu konteks untuk jenis file

Jika aplikasi desktop Anda menentukan penangan menu konteks, gunakan ekstensi ini untuk mendaftarkan penangan menu.

Namespace XML

  • http://schemas.microsoft.com/appx/manifest/foundation/windows10
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10/4

Elemen dan atribut ekstensi ini

<Extensions>
    <com:Extension Category="windows.comServer">
        <com:ComServer>
            <com:SurrogateServer AppId="[AppID]" DisplayName="[DisplayName]">
                <com:Class Id="[Clsid]" Path="[Path]" ThreadingModel="[Model]"/>
            </com:SurrogateServer>
        </com:ComServer>
    </com:Extension>
    <desktop4:Extension Category="windows.fileExplorerContextMenus">
        <desktop4:FileExplorerContextMenus>
            <desktop4:ItemType Type="[Type]">
                <desktop4:Verb Id="[ID]" Clsid="[Clsid]" />
            </desktop4:ItemType>
        </desktop4:FileExplorerContextMenus>
    </desktop4:Extension>
</Extensions>

Temukan referensi skema lengkap di sini: com:ComServer dan desktop4:FileExplorerContextMenus.

Petunjuk

Untuk mendaftarkan penangan menu konteks Anda, ikuti instruksi berikut.

  1. Di aplikasi desktop Anda, terapkan handler menu konteks dengan menerapkan antarmuka IExplorerCommand atau IExplorerCommandState. Untuk sampel, lihat sampel kode ExplorerCommandVerb . Pastikan Anda menentukan GUID kelas untuk setiap objek implementasi Anda. Misalnya, kode berikut menentukan ID kelas untuk implementasi IExplorerCommand.

    class __declspec(uuid("d0c8bceb-28eb-49ae-bc68-454ae84d6264")) CExplorerCommandVerb;
    
  2. Dalam manifes paket Anda, tentukan ekstensi aplikasi com:ComServer yang mendaftarkan server pengganti COM dengan ID kelas implementasi handler menu konteks Anda.

    <com:Extension Category="windows.comServer">
        <com:ComServer>
            <com:SurrogateServer AppId="d0c8bceb-28eb-49ae-bc68-454ae84d6264" DisplayName="ContosoHandler">
                <com:Class Id="d0c8bceb-28eb-49ae-bc68-454ae84d6264" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/>
            </com:SurrogateServer>
        </com:ComServer>
    </com:Extension>
    
  3. Dalam manifes paket Anda, tentukan ekstensi aplikasi desktop4:FileExplorerContextMenus yang mendaftarkan implementasi handler menu konteks Anda.

    <desktop4:Extension Category="windows.fileExplorerContextMenus">
        <desktop4:FileExplorerContextMenus>
            <desktop4:ItemType Type=".rar">
                <desktop4:Verb Id="Command1" Clsid="d0c8bceb-28eb-49ae-bc68-454ae84d6264" />
            </desktop4:ItemType>
        </desktop4:FileExplorerContextMenus>
    </desktop4:Extension>
    

Contoh

<Package
  xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
  xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
  xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
  IgnorableNamespaces="desktop4">
  <Applications>
    <Application>
      <Extensions>
        <com:Extension Category="windows.comServer">
          <com:ComServer>
            <com:SurrogateServer AppId="d0c8bceb-28eb-49ae-bc68-454ae84d6264" DisplayName="ContosoHandler">
              <com:Class Id="d0c8bceb-28eb-49ae-bc68-454ae84d6264" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/>
            </com:SurrogateServer>
          </com:ComServer>
        </com:Extension>
        <desktop4:Extension Category="windows.fileExplorerContextMenus">
          <desktop4:FileExplorerContextMenus>
            <desktop4:ItemType Type=".contoso">
              <desktop4:Verb Id="Command1" Clsid="d0c8bceb-28eb-49ae-bc68-454ae84d6264" />
            </desktop4:ItemType>
          </desktop4:FileExplorerContextMenus>
        </desktop4:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Membuat file dari layanan awan Anda muncul di File Explorer

Daftarkan handler yang Anda terapkan di aplikasi Anda. Anda juga dapat menambahkan opsi menu konteks yang muncul saat pengguna mengklik kanan file berbasis cloud di File Explorer.

Namespace XML

  • http://schemas.microsoft.com/appx/manifest/desktop/windows10

Elemen dan atribut ekstensi ini

<Extension Category="windows.cloudfiles" >
    <CloudFiles IconResource="[Icon]">
        <CustomStateHandler Clsid ="[Clsid]"/>
        <ThumbnailProviderHandler Clsid ="[Clsid]"/>
        <ExtendedPropertyhandler Clsid ="[Clsid]"/>
        <CloudFilesContextMenus>
            <Verb Id ="Command3" Clsid= "[GUID]">[Verb Label]</Verb>
        </CloudFilesContextMenus>
    </CloudFiles>
</Extension>

Nama Deskripsi
Kategori Selalu windows.cloudfiles.
iconResource Ikon yang mewakili layanan penyedia file cloud Anda. Ikon ini muncul di panel Navigasi File Explorer. Pengguna memilih ikon ini untuk menampilkan file dari layanan awan Anda.
CustomStateHandler Clsid ID kelas aplikasi yang mengimplementasikan CustomStateHandler. Sistem menggunakan ID Kelas ini untuk meminta status dan kolom kustom untuk file cloud.
ThumbnailProviderHandler Clsid ID kelas aplikasi yang mengimplementasikan ThumbnailProviderHandler. Sistem menggunakan ID Kelas ini untuk meminta gambar mini untuk file cloud.
ExtendedPropertyHandler Clsid ID kelas aplikasi yang mengimplementasikan ExtendedPropertyHandler. Sistem menggunakan ID Kelas ini untuk meminta properti yang diperluas untuk file cloud.
Kata kerja Nama yang muncul di menu konteks File Explorer untuk file yang disediakan oleh layanan awan Anda.
Id ID unik kata kerja.

Contoh

<Package
    xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
    IgnorableNamespaces="desktop">
  <Applications>
    <Application>
      <Extensions>
        <Extension Category="windows.cloudfiles" >
            <CloudFiles IconResource="images\Wide310x150Logo.png">
                <CustomStateHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
                <ThumbnailProviderHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
                <ExtendedPropertyhandler Clsid ="20000000-0000-0000-0000-000000000001"/>
                <desktop:CloudFilesContextMenus>
                    <desktop:Verb Id ="keep" Clsid=
                       "20000000-0000-0000-0000-000000000001">
                       Always keep on this device</desktop:Verb>
                </desktop:CloudFilesContextMenus>
            </CloudFiles>
          </Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Memulai aplikasi Anda dengan cara yang berbeda

Memulai aplikasi Anda dengan menggunakan protokol

Asosiasi protokol dapat memungkinkan program dan komponen sistem lain untuk beroperasi dengan aplikasi paket Anda. Saat aplikasi paket Anda dimulai dengan menggunakan protokol, Anda dapat menentukan parameter tertentu untuk diteruskan ke argumen peristiwa aktivasinya sehingga dapat berperilaku sesuai. Parameter hanya didukung untuk aplikasi yang dipaketkan dan dipercaya penuh. Aplikasi UWP tidak dapat menggunakan parameter.

Namespace XML

http://schemas.microsoft.com/appx/manifest/uap/windows10/3

Elemen dan atribut ekstensi ini

<Extension
    Category="windows.protocol">
  <Protocol
      Name="[Protocol name]"
      Parameters="[Parameters]" />
</Extension>

Temukan referensi skema lengkap di sini.

Nama Deskripsi
Kategori Selalu windows.protocol.
Nama Nama protokol.
Parameter Daftar parameter dan nilai yang akan diteruskan ke aplikasi Anda sebagai argumen peristiwa saat aplikasi diaktifkan. Jika variabel dapat berisi jalur file, bungkus nilai parameter dalam tanda kutip. Itu akan menghindari masalah yang terjadi jika jalur menyertakan spasi.

Contoh

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
  IgnorableNamespaces="uap3, desktop">
  <Applications>
    <Application>
      <Extensions>
        <uap3:Extension
          Category="windows.protocol">
          <uap3:Protocol
            Name="myapp-cmd"
            Parameters="/p &quot;%1&quot;" />
        </uap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Mulai aplikasi Anda dengan menggunakan alias

Pengguna dan proses lain dapat menggunakan alias untuk memulai aplikasi Anda tanpa harus menentukan jalur lengkap ke aplikasi Anda. Anda dapat menentukan nama alias tersebut.

Namespace XML

  • http://schemas.microsoft.com/appx/manifest/uap/windows10/3
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10

Elemen dan atribut ekstensi ini

<uap3:Extension
    Category="windows.appExecutionAlias"
    Executable="[ExecutableName]"
    EntryPoint="Windows.FullTrustApplication">
    <uap3:AppExecutionAlias>
        <desktop:ExecutionAlias Alias="[AliasName]" />
    </uap3:AppExecutionAlias>
</uap3:Extension>
Nama Deskripsi
Kategori Selalu windows.appExecutionAlias.
Eksekusi Jalur relatif ke executable untuk memulai saat alias dipanggil.
Alias Nama pendek untuk aplikasi Anda. Ini harus selalu diakhir dengan ekstensi ".exe". Anda hanya dapat menentukan satu alias eksekusi aplikasi untuk setiap aplikasi dalam paket. Jika beberapa aplikasi mendaftar untuk alias yang sama, sistem akan memanggil yang terakhir yang terdaftar, jadi pastikan untuk memilih alias unik aplikasi lain tidak mungkin diambil alih.

Contoh

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap3">
  <Applications>
    <Application>
      <Extensions>
         <uap3:Extension
                Category="windows.appExecutionAlias"
                Executable="exes\launcher.exe"
                EntryPoint="Windows.FullTrustApplication">
            <uap3:AppExecutionAlias>
                <desktop:ExecutionAlias Alias="Contoso.exe" />
            </uap3:AppExecutionAlias>
        </uap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Temukan referensi skema lengkap di sini.

Memulai file yang dapat dieksekusi saat pengguna masuk ke Windows

Tugas startup memungkinkan aplikasi Anda menjalankan executable secara otomatis setiap kali pengguna masuk.

Catatan

Pengguna harus memulai aplikasi Anda setidaknya satu kali untuk mendaftarkan tugas startup ini.

Aplikasi Anda dapat mendeklarasikan beberapa tugas startup. Setiap tugas dimulai secara independen. Semua tugas startup akan muncul di Task Manager di bawah tab Startup dengan nama yang Anda tentukan di manifes aplikasi dan ikon aplikasi Anda. Task Manager akan secara otomatis menganalisis dampak startup tugas Anda.

Pengguna dapat menonaktifkan tugas startup aplikasi Anda secara manual dengan menggunakan Task Manager. Jika pengguna menonaktifkan tugas, Anda tidak dapat mengaktifkannya kembali secara terprogram.

Namespace XML

http://schemas.microsoft.com/appx/manifest/desktop/windows10

Elemen dan atribut ekstensi ini

<Extension
    Category="windows.startupTask"
    Executable="[ExecutableName]"
    EntryPoint="Windows.FullTrustApplication">
  <StartupTask
      TaskId="[TaskID]"
      Enabled="true"
      DisplayName="[DisplayName]" />
</Extension>
Nama Deskripsi
Kategori Selalu windows.startupTask.
Eksekusi Jalur relatif ke file yang dapat dieksekusi untuk memulai.
TaskId Pengidentifikasi unik untuk tugas Anda. Dengan menggunakan pengidentifikasi ini, aplikasi Anda dapat memanggil API di kelas Windows.ApplicationModel.StartupTask untuk mengaktifkan atau menonaktifkan tugas startup secara terprogram.
Aktif Menunjukkan apakah tugas pertama kali mulai diaktifkan atau dinonaktifkan. Tugas yang diaktifkan akan berjalan saat berikutnya pengguna masuk (kecuali pengguna menonaktifkannya).
DisplayName Nama tugas yang muncul di Pengelola Tugas. Anda dapat melokalisasi string ini dengan menggunakan ms-resource.

Contoh

<Package
  xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
  IgnorableNamespaces="desktop">
  <Applications>
    <Application>
      <Extensions>
        <desktop:Extension
          Category="windows.startupTask"
          Executable="bin\MyStartupTask.exe"
          EntryPoint="Windows.FullTrustApplication">
        <desktop:StartupTask
          TaskId="MyStartupTask"
          Enabled="true"
          DisplayName="My App Service" />
        </desktop:Extension>
      </Extensions>
    </Application>
  </Applications>
 </Package>

Mengaktifkan pengguna untuk memulai aplikasi Anda saat menyambungkan perangkat ke PC mereka

AutoPlay dapat menyajikan aplikasi Anda sebagai opsi saat pengguna menyambungkan perangkat ke PC mereka.

Namespace XML

http://schemas.microsoft.com/appx/manifest/desktop/windows10/3

Elemen dan atribut ekstensi ini

<Extension Category="windows.autoPlayHandler">
  <AutoPlayHandler>
    <InvokeAction ActionDisplayName="[action string]" ProviderDisplayName="[name of your app/service]">
      <Content ContentEvent="[Content event]" Verb="[any string]" DropTargetHandler="[Clsid]" />
      <Content ContentEvent="[Content event]" Verb="[any string]" Parameters="[Initialization parameter]"/>
      <Device DeviceEvent="[Device event]" HWEventHandler="[Clsid]" InitCmdLine="[Initialization parameter]"/>
    </InvokeAction>
  </AutoPlayHandler>
Nama Deskripsi
Kategori Selalu windows.autoPlayHandler.
ActionDisplayName String yang mewakili tindakan yang dapat diambil pengguna dengan perangkat yang mereka sambungkan ke PC (Misalnya: "Impor file", atau "Putar video").
ProviderDisplayName String yang mewakili aplikasi atau layanan Anda (Misalnya: "Pemutar video Contoso").
ContentEvent Nama peristiwa konten yang menyebabkan pengguna diminta dengan Anda ActionDisplayName dan ProviderDisplayName. Peristiwa konten dinaikkan ketika perangkat volume seperti kartu memori kamera, drive jempol, atau DVD dimasukkan ke pc. Anda dapat menemukan daftar lengkap peristiwa tersebut di sini.
Kata kerja Pengaturan Kata Kerja mengidentifikasi nilai yang diteruskan ke aplikasi Anda untuk opsi yang dipilih. Anda dapat menentukan beberapa tindakan peluncuran untuk peristiwa AutoPlay dan menggunakan pengaturan Kata Kerja untuk menentukan opsi mana yang telah dipilih pengguna untuk aplikasi Anda. Anda dapat mengetahui opsi mana yang dipilih pengguna dengan memeriksa properti kata kerja argumen peristiwa startup yang diteruskan ke aplikasi Anda. Anda dapat menggunakan nilai apa pun untuk pengaturan Kata Kerja kecuali, terbuka, yang dicadangkan.
DropTargetHandler ID kelas aplikasi yang mengimplementasikan antarmuka IDropTarget . File dari media yang dapat dilepas diteruskan ke metode Drop implementasi IDropTarget Anda.
Parameter Anda tidak perlu menerapkan antarmuka IDropTarget untuk semua peristiwa konten. Untuk salah satu peristiwa konten, Anda dapat menyediakan parameter baris perintah alih-alih mengimplementasikan antarmuka IDropTarget . Untuk peristiwa tersebut, AutoPlay akan memulai aplikasi Anda dengan menggunakan parameter baris perintah tersebut. Anda dapat mengurai parameter tersebut dalam kode inisialisasi aplikasi untuk menentukan apakah parameter tersebut dimulai oleh AutoPlay lalu memberikan implementasi kustom Anda.
DeviceEvent Nama peristiwa perangkat yang menyebabkan pengguna diminta dengan Anda ActionDisplayName dan ProviderDisplayName. Peristiwa perangkat dinaikkan saat perangkat tersambung ke PC. Peristiwa perangkat dimulai dengan string WPD dan Anda dapat menemukannya tercantum di sini.
HWEventHandler ID Kelas aplikasi yang mengimplementasikan antarmuka IHWEventHandler .
InitCmdLine Parameter string yang ingin Anda teruskan ke metode Inisialisasi antarmuka IHWEventHandler .

Contoh

<Package
  xmlns:desktop3="http://schemas.microsoft.com/appx/manifest/desktop/windows10/3"
  IgnorableNamespaces="desktop3">
  <Applications>
    <Application>
      <Extensions>
        <desktop3:Extension Category="windows.autoPlayHandler">
          <desktop3:AutoPlayHandler>
            <desktop3:InvokeAction ActionDisplayName="Import my files" ProviderDisplayName="ms-resource:AutoPlayDisplayName">
              <desktop3:Content ContentEvent="ShowPicturesOnArrival" Verb="show" DropTargetHandler="CD041BAE-0DEA-4472-9B7B-C98043D26EA8"/>
              <desktop3:Content ContentEvent="PlayVideoFilesOnArrival" Verb="play" Parameters="%1" />
              <desktop3:Device DeviceEvent="WPD\ImageSource" HWEventHandler="CD041BAE-0DEA-4472-9B7B-C98043D26EA8" InitCmdLine="/autoplay"/>
            </desktop3:InvokeAction>
          </desktop3:AutoPlayHandler>
      </Extensions>
    </Application>
  </Applications>
</Package>

Mulai ulang secara otomatis setelah menerima pembaruan dari Microsoft Store

Jika aplikasi Anda terbuka saat pengguna menginstal pembaruan untuk itu, aplikasi akan ditutup.

Jika Anda ingin aplikasi tersebut dimulai ulang setelah pembaruan selesai, panggil fungsi RegisterApplicationRestart di setiap proses yang ingin Anda mulai ulang.

Setiap jendela aktif di aplikasi Anda menerima pesan WM_QUERYENDSESSION . Pada titik ini, aplikasi Anda dapat memanggil fungsi RegisterApplicationRestart lagi untuk memperbarui baris perintah jika perlu.

Ketika setiap jendela aktif di aplikasi Anda menerima pesan WM_ENDSESSION , aplikasi Anda harus menyimpan data dan mematikan.

Catatan

Jendela aktif Anda juga menerima pesan WM_CLOSE jika aplikasi tidak menangani pesan WM_ENDSESSION .

Pada titik ini, aplikasi Anda memiliki 30 detik untuk menutup prosesnya sendiri atau platform mengakhirinya dengan paksa.

Setelah pembaruan selesai, aplikasi Anda dimulai ulang.

Bekerja dengan aplikasi lain

Integrasikan dengan aplikasi lain, mulai proses lain atau bagikan informasi.

Buat aplikasi Anda muncul sebagai target cetak dalam aplikasi yang mendukung pencetakan

Saat pengguna ingin mencetak data dari aplikasi lain seperti Notepad, Anda dapat membuat aplikasi Anda muncul sebagai target cetak dalam daftar target cetak yang tersedia di aplikasi.

Anda harus memodifikasi aplikasi sehingga menerima data cetak dalam format Spesifikasi Kertas XML (XPS).

Namespace XML

http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

Elemen dan atribut ekstensi ini

<Extension Category="windows.appPrinter">
    <AppPrinter
        DisplayName="[DisplayName]"
        Parameters="[Parameters]" />
</Extension>

Temukan referensi skema lengkap di sini.

Nama Deskripsi
Kategori Selalu windows.appPrinter.
DisplayName Nama yang ingin Anda munculkan dalam daftar target cetak untuk aplikasi.
Parameter Parameter apa pun yang diperlukan aplikasi Anda untuk menangani permintaan dengan benar.

Contoh

<Package
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="desktop2">
  <Applications>
  <Application>
    <Extensions>
      <desktop2:Extension Category="windows.appPrinter">
        <desktop2:AppPrinter
          DisplayName="Send to Contoso"
          Parameters="/insertdoc %1" />
      </desktop2:Extension>
    </Extensions>
  </Application>
</Applications>
</Package>

Temukan sampel yang menggunakan ekstensi ini Di Sini

Berbagi font dengan aplikasi Windows lainnya

Bagikan font kustom Anda dengan aplikasi Windows lainnya.

Catatan

Sebelum dapat mengirimkan aplikasi yang menggunakan ekstensi ini ke Store, Anda harus terlebih dahulu mendapatkan persetujuan dari tim Store. Untuk mendapatkan persetujuan, buka https://aka.ms/storesupport, klik Hubungi kami, dan pilih opsi yang relevan untuk mengirimkan aplikasi ke dasbor. Proses persetujuan ini membantu memastikan bahwa tidak ada konflik antara font yang diinstal oleh aplikasi Anda dan font yang diinstal dengan OS. Jika Anda tidak mendapatkan persetujuan, Anda akan menerima kesalahan yang mirip dengan yang berikut ini saat mengirimkan aplikasi Anda: "Kesalahan validasi penerimaan paket: Anda tidak dapat menggunakan ekstensi windows.sharedFonts dengan akun ini. Hubungi tim dukungan kami jika Anda ingin meminta izin untuk menggunakan ekstensi ini."

Namespace XML

http://schemas.microsoft.com/appx/manifest/uap/windows10/4

Elemen dan atribut ekstensi ini

<Extension Category="windows.sharedFonts">
    <SharedFonts>
      <Font File="[FontFile]" />
    </SharedFonts>
  </Extension>

Temukan referensi skema lengkap di sini.

Nama Deskripsi
Kategori Selalu windows.sharedFonts.
File File yang berisi font yang ingin Anda bagikan.

Contoh

<Package
  xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4"
  IgnorableNamespaces="uap4">
  <Applications>
    <Application>
      <Extensions>
        <uap4:Extension Category="windows.sharedFonts">
          <uap4:SharedFonts>
            <uap4:Font File="Fonts\JustRealize.ttf" />
            <uap4:Font File="Fonts\JustRealizeBold.ttf" />
          </uap4:SharedFonts>
        </uap4:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Memulai proses Win32 dari aplikasi Platform Windows Universal (UWP)

Mulai proses Win32 yang berjalan dengan penuh kepercayaan.

Namespace XML

http://schemas.microsoft.com/appx/manifest/desktop/windows10

Elemen dan atribut ekstensi ini

<Extension Category="windows.fullTrustProcess" Executable="[executable file]">
  <FullTrustProcess>
    <ParameterGroup GroupId="[GroupID]" Parameters="[Parameters]"/>
  </FullTrustProcess>
</Extension>
Nama Deskripsi
Kategori Selalu windows.fullTrustProcess.
GroupId String yang mengidentifikasi sekumpulan parameter yang ingin Anda teruskan ke executable.
Parameter Parameter yang ingin Anda teruskan ke executable.

Contoh

<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
         xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
         xmlns:rescap=
"http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
         xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10">
  ...
  <Capabilities>
      <rescap:Capability Name="runFullTrust"/>
  </Capabilities>
  <Applications>
    <Application>
      <Extensions>
          <desktop:Extension Category="windows.fullTrustProcess" Executable="fulltrustprocess.exe">
              <desktop:FullTrustProcess>
                  <desktop:ParameterGroup GroupId="SyncGroup" Parameters="/Sync"/>
                  <desktop:ParameterGroup GroupId="OtherGroup" Parameters="/Other"/>
              </desktop:FullTrustProcess>
           </desktop:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

Ekstensi ini mungkin berguna jika Anda ingin membuat antarmuka pengguna Platform Windows Universal yang berjalan di semua perangkat, tetapi Anda ingin komponen aplikasi Win32 Anda terus berjalan dengan kepercayaan penuh.

Cukup buat paket aplikasi Windows untuk aplikasi Win32 Anda. Kemudian, tambahkan ekstensi ini ke file paket aplikasi UWP Anda. Ekstensi ini menunjukkan bahwa Anda ingin memulai file yang dapat dieksekusi dalam paket aplikasi Windows. Jika ingin berkomunikasi antara aplikasi UWP dan aplikasi Win32, Anda dapat menyiapkan satu atau beberapa layanan aplikasi untuk melakukannya. Anda dapat membaca lebih lanjut tentang skenario ini di sini.

Langkah berikutnya

Ada pertanyaan? Tanyakan kami di Stack Overflow. Tim kami memantau tag ini. Anda juga dapat meminta kami di sini.