Mengelola Aplikasi Default

Fitur Atur Akses Program dan Default Komputer (SPAD) ditambahkan ke Windows XP dan versi Windows yang lebih baru untuk mengelola default per komputer. Selain SPAD, Windows Vista memperkenalkan konsep aplikasi default per pengguna dan item Program Default di Panel Kontrol.

Penting

Topik ini tidak berlaku untuk Windows 10. Cara kerja asosiasi file default berubah dalam Windows 10. Untuk informasi selengkapnya, lihat bagian tentang Perubahan cara Windows 10 menangani aplikasi default di postingan ini.

 

Pengaturan default per pengguna khusus untuk akun pengguna individual pada sistem. Jika ada pengaturan default per pengguna, pengaturan tersebut lebih diutamakan daripada default per komputer yang sesuai untuk akun tersebut. Pada Windows 8, sistem ekstensibilitas untuk jenis file dan default protokol benar-benar per pengguna dan default per komputer diabaikan. SPAD juga berubah dalam Windows 8 untuk mengatur default per pengguna.

  • Pada sistem yang menjalankan versi Windows yang lebih lama dari Windows 8, akun pengguna yang baru dibuat menerima default per komputer hingga default per pengguna dibuat. Di Windows Vista dan yang lebih baru, pengguna dapat menggunakan item Program Default di Panel Kontrol untuk mengatur atau mengubah default per pengguna mereka. Selain itu, ketika aplikasi dijalankan untuk pertama kalinya, default per pengguna dapat diatur menggunakan panduan yang mengikuti di bagian Eksekusi Pertama Aplikasi dan Default .
  • Pada sistem yang berjalan Windows 8, akun pengguna yang baru dibuat bergantung pada default per pengguna dari awal dan pengaturan default tersebut pada eksekusi pertama kali seperti yang dijelaskan di bagian Eksekusi Pertama Aplikasi dan Default tidak lagi didukung.

Aplikasi harus mendaftar dengan SPAD dan fitur Program Default untuk ditawarkan sebagai program default di Windows Vista dan yang lebih baru.

Topik ini menyediakan vendor perangkat lunak independen (ISV) dengan panduan cepat untuk langkah-langkah yang diperlukan untuk mendaftar dan mengelola default aplikasi di Windows Vista dan yang lebih baru. Tautan disediakan untuk artikel yang lebih mendalam tentang topik setiap bagian.

Item Program Default dalam Panel Kontrol

Program Default adalah fitur yang diperkenalkan di Windows Vista, dapat diakses langsung dari menu Mulai serta Panel Kontrol. Ini menyediakan infrastruktur baru yang berfungsi dengan hak istimewa pengguna standar (tidak ditingkatkan) dan dirancang untuk memungkinkan pengguna dan aplikasi mengelola default per pengguna. Untuk pengguna, Program Default menyediakan cara terpadu dan mudah diakses untuk mengelola pengaturan default, asosiasi file, dan Pemutaran otomatis di semua aplikasi pada sistem. Untuk aplikasi, menggunakan cakupan per pengguna yang disediakan oleh API Program Default menawarkan keuntungan berikut:

  • Tidak Ada Elevasi

    Aplikasi tidak harus meningkatkan hak istimewanya untuk mengklaim default.

  • Kewarganegaraan yang baik

    Pada komputer multi-pengguna, setiap pengguna dapat memilih aplikasi default yang berbeda.

  • Manajemen Default

    API Program Default menawarkan mekanisme yang andal dan konsisten untuk memeriksa sendiri status default dan mengklaim kembali pengaturan yang hilang tanpa beralih menulis langsung ke registri. Namun, pada Windows 8, kami tidak menyarankan agar aplikasi meminta status default karena aplikasi tidak dapat lagi mengubah pengaturan default—perubahan tersebut hanya dapat dilakukan oleh pengguna.

Untuk memungkinkan aplikasi Anda mengelola default secara efektif, Anda harus mendaftarkan aplikasi Anda sebagai program default potensial. Untuk detail tentang mendaftar dan menggunakan API Program Default, lihat Program Default.

Program Default juga menyediakan dua fitur ini:

  • UI Default yang Dapat Digunakan Kembali

    UI default program (Atur program default Anda) dan asosiasi file (Kaitkan jenis file atau protokol dengan program) dapat digunakan kembali dan dipanggil dari dalam aplikasi. Ini memungkinkan aplikasi untuk memberikan pengalaman pengguna standar untuk mengelola default dan menyimpan ISV dari ke harus mengembangkan UI kustom atau setara.

  • Penyertaan URL dan Informasi Pemasaran

    Sebagai bagian dari halaman Atur program default Anda dari item Program Default di Panel Kontrol, aplikasi dapat memberikan informasi pemasaran dan tautan ke situs web vendor. URL ini berasal dari sertifikat Authenticode yang telah ditandatangani aplikasi. Ini mencegah penyalahgunaan dan penggantian tautan ini yang tidak sah. Jika aplikasi memiliki sertifikat Authenticode yang menyertakan URL yang disematkan, UI Windows menampilkan URL yang disematkan. ISV harus memanfaatkan fitur ini untuk mengarahkan pengguna ke situs web mereka untuk pembaruan dan unduhan lainnya.

Atur Akses Program dan Asali Komputer

Atur Akses Program dan Default Komputer (SPAD) memungkinkan administrator mengelola default di seluruh komputer yang diwariskan oleh semua pengguna baru komputer tersebut. Sebelum Windows 8, SPAD juga mengaktifkan administrator untuk memperbaiki asosiasi file jika mereka rusak ketika program dihapus dari sistem. Namun, pada Windows 8, SPAD hanya memengaruhi default khusus pengguna.

Untuk informasi selengkapnya tentang mendaftarkan aplikasi di SPAD, lihat Bekerja dengan Mengatur Akses Program dan Default Komputer (SPAD) dan Mendaftarkan Program dengan Jenis Klien. Perubahan spesifik dan rekomendasi baru dibahas di bagian berikut.

Mengatur Default di SPAD

Default per pengguna mengambil alih default per komputer.

  • Sebelum Windows 8: Default yang diatur di SPAD (yang per komputer) tidak akan dilihat oleh pengguna jika default per pengguna yang sesuai diatur. Jika pengguna belum mengatur default per pengguna, sistem menggunakan default komputer yang sesuai. Akun pengguna baru pada komputer awalnya mewarisi default komputer. Pertama kali pengguna menjalankan aplikasi, aplikasi harus meminta pengguna untuk menetapkan default per pengguna mereka. Lihat Eksekusi Pertama Aplikasi dan Default.
  • Pada Windows 8: Semua default adalah per pengguna dan pengaturan default per komputer diabaikan. Aplikasi tidak dapat lagi mengatur pilihan default, sehingga mereka tidak dapat memanding pengguna melalui penetapan default tersebut.

Ketika aplikasi pra-Windows 8 menerapkan Tetapkan sebagai Default di SPAD, panduan ini harus diikuti:

  • Aplikasi hanya boleh mengklaim default tingkat komputer melalui SPAD.
  • Aplikasi tidak boleh mengklaim default per pengguna melalui SPAD.

Ketika aplikasi Windows 8 mengimplementasikan Set as Default di SPAD, mereka harus mendaftarkan jenis file dan protokol mereka di Program Default, menggunakan nama aplikasi yang sama yang digunakan di SPAD. Ini memungkinkan perubahan SPAD untuk mencerminkan sebagai perubahan entri Program Default yang sesuai untuk pengguna saat ini.

Sembunyikan Akses di SPAD

Opsi sembunyikan akses untuk setiap kemungkinan default di SPAD diakses dengan salah satu dari dua cara:

  • Pilih kategori default Non-Microsoft , yang menghapus akses ke semua default Microsoft.
  • Pilih kategori Kustom dan kosongkan kotak centang Aktifkan akses ke program ini .

Sebelumnya, mengambil salah satu tindakan tersebut menghapus semua titik masuk ke aplikasi yang sesuai pada sistem. Panduan khusus untuk situasi ini mengatakan untuk menghapus pintasan dan ikon dari lokasi berikut:

  • Desktop
  • Menu mulai
  • Bilah Luncur Cepat (Windows Vista dan yang lebih lama saja)
  • Area pemberitahuan
  • Menu pintasan
  • Pita tugas folder

Vendor didorong untuk menerapkan pedoman ini dalam fungsi panggilan balik Hide Access aplikasi.

Alternatif Sembunyikan Metode Akses di SPAD

Untuk beberapa aplikasi warisan, implementasi penuh Hide Access mungkin tidak praktis. Metode alternatif yang mencapai efek yang sama, tetapi tidak mudah dibalik oleh pengguna, adalah menghapus instalan aplikasi. Berikut ini menunjukkan perilaku sampel dan contoh kode untuk mengimplementasikan ini.

Pengalaman pengguna yang direkomendasikan untuk alternatif ini adalah sebagai berikut:

  • Ketika pengguna menghapus kotak Aktifkan akses ke program ini di SPAD, UI berikut disajikan.

    kotak dialog vista tentang menyembunyikan akses ke program

  • Ketika pengguna mengklik OK, item Program dan Fitur di Panel Kontrol ditampilkan sehingga pengguna dapat menghapus instalasi aplikasi.

  • Pengguna Windows XP harus disajikan dengan kotak dialog berikut.

    kotak dialog windows xp tentang menyembunyikan akses ke program

  • Ketika pengguna Windows XP mengklik OK, item Tambahkan atau Hapus Program di Panel Kontrol ditampilkan sehingga pengguna dapat menghapus instalasi aplikasi.

Kode berikut menyediakan implementasi yang dapat digunakan kembali untuk fitur Sembunyikan Akses seperti yang diuraikan sebelumnya. Ini dapat digunakan pada Windows XP, Windows Vista, dan Windows 7.

#include <windows.h>
#include <shlwapi.h>
#include <strsafe.h>

PCWSTR c_pszMessage1 = L"To hide access to this program, you need to uninstall it by ";
PCWSTR c_pszMessage2 = L"using\n%s in Control Panel.\n\nWould you like to start %s?";
PCWSTR c_pszApplicationName  = L"Sample App";

int _tmain(int argc, WCHAR* argv[])
{
    OSVERSIONINFO version;
    version.dwOSVersionInfoSize = sizeof(version);

    if (GetVersionEx(&version))
    {
        PCWSTR pszCPLName = NULL;

        if (version.dwMajorVersion >= 6)
        {
            // Windows Vista and later
            pszCPLName = L"Programs and Features";
        }
        else if (version.dwMajorVersion == 5 &&
                 version.dwMinorVersion == 1)
        {
            // XP
            pszCPLName = L"Add/Remove Programs";
        }

        if (pszCPLName != NULL)
        {
            WCHAR szMessage[256], szScratch[256];
            if (SUCCEEDED(StringCchPrintf(szScratch, 
                                          ARRAYSIZE(szScratch), 
                                          c_pszMessage2, 
                                          pszCPLName, 
                                          pszCPLName)))
            {
                if (SUCCEEDED(StringCchCopy(szMessage, 
                                            ARRAYSIZE(szMessage), 
                                            c_pszMessage1)))
                {
                    if (SUCCEEDED(StringCchCat(szMessage, 
                                               ARRAYSIZE(szMessage), 
                                               szScratch)))
                    {
                        if (IDOK == MessageBox(NULL, 
                                               szMessage, 
                                               c_pszApplicationName, 
                                               MB_OKCANCEL))
                        {
                            ShellExecute(NULL, 
                                         NULL, 
                                         L"appwiz.cpl", 
                                         NULL, 
                                         NULL, 
                                         SW_SHOWNORMAL);
                        }
                    }
                }
            }
        }
    }
    return 0;
}

Mendaftar untuk Titik Masuk Aplikasi

Aplikasi dapat memiliki banyak titik masuk dalam sistem operasi. Berikut ini adalah lokasi yang direkomendasikan untuk titik masuk:

  • Desktop
  • Menu mulai
  • Bilah Luncur Cepat (Windows Vista dan yang lebih lama saja)
  • Area pemberitahuan
  • Menu pintasan
  • Pita tugas folder

Bagian ini berfokus pada area khusus ini:

Buka Dengan

Menu buka dengan pintasan memungkinkan pengguna untuk memilih aplikasi yang dapat menangani jenis file tertentu. Sementara Buka Dengan dapat digunakan untuk membuka file dengan aplikasi satu kali, itu juga dapat digunakan untuk mengatur default untuk ekstensi nama file tersebut. Oleh karena itu, aplikasi harus selalu mendaftar open with sehingga pengguna disajikan dengan aplikasi tersebut sebagai pilihan. Aplikasi dapat mendaftarkan jenis file dan protokol untuk Open With. Aplikasi yang mendaftarkan protokol dalam kerangka kerja Program Default secara otomatis ditambahkan ke opsi Buka Dengan untuk protokol.

Untuk informasi tentang mendaftar untuk Open With, lihat Pengantar Asosiasi File.

Menu Mulai dan Bilah Luncur Cepat

Agar lebih mudah ditemukan oleh pengguna, aplikasi dapat menambahkan pintasan ke berbagai lokasi di Windows. Tempat paling umum untuk menambahkan pintasan adalah menu Mulai . Di Windows Vista dan yang lebih baru, aplikasi membuat pintasan di folder tersembunyi %ProgramData%\Microsoft\Windows\Start Menu\Programs untuk muncul di daftar program menu Mulai untuk semua pengguna. Umumnya, aplikasi menambahkan subfolder yang berisi pintasan.

Untuk program browser dan email, menu Mulai Windows Vista juga menyajikan dua tautan khusus di luar daftar program, secara kanonis berjudul Internet dan Email. Setelah aplikasi mendaftar untuk kategori tersebut, kerangka kerja Program Default dapat mengelola apa yang diluncurkan melalui tautan tersebut.

Catatan

Tautan menu Mulai khusus Internet dan Email tidak lagi ada pada Windows 7.

 

Untuk lebih meningkatkan kemampuan penemuan, aplikasi juga dapat menambahkan pintasan ke desktop dan bilah Luncur Cepat. Aplikasi harus meminta izin kepada pengguna (biasanya selama penginstalan atau saat pertama kali dijalankan) sebelum menambahkan ikon ke menu Mulai , desktop, atau bilah Luncur Cepat.

Catatan

Bilah Luncur Cepat tidak lagi tersedia pada Windows 7. Alternatif Windows 7 adalah menyematkan aplikasi ke Taskbar, tetapi penyematan tidak dapat dilakukan secara terprogram karena ini benar-benar pilihan pengguna.

 

Untuk mengetahui informasi selengkapnya, lihat topik berikut:

Penginstalan dan Default Aplikasi

Prosedur penginstalan aplikasi pada dasarnya tidak berubah sejak Windows XP, dengan pengecualian pedoman baru untuk sistem yang menjalankan versi Windows yang lebih lama dari Windows 8: mengambil default per komputer pada waktu penginstalan tetapi tidak mengatur default per pengguna sampai pengguna tersebut pertama kali menjalankan aplikasi. (Lihat Eksekusi Pertama Aplikasi dan Default.) Aplikasi tidak boleh mengatur default per pengguna selama penginstalan karena ada situasi di mana orang yang menginstal aplikasi bukan pengguna yang dimaksudkan. Pada Windows 8, default per komputer tidak didukung dan aplikasi tidak dapat mengubah pengaturan default per pengguna.

Selama penginstalan, aplikasi harus menyalin binernya ke hard disk dan menulis ProgID-nya ke registri. Aplikasi juga harus mendaftar untuk Program Default dan Buka Dengan saat ini untuk setiap asosiasi file yang harus ditangani oleh kandidat. Aplikasi dapat menggunakan subkey OpenWithProgIds untuk mendaftar dengan Open With.

Untuk mengetahui informasi selengkapnya, lihat topik berikut:

Peningkatan dan Default Aplikasi

Banyak aplikasi memiliki kemampuan untuk meningkatkan diri dari waktu ke waktu. Prosedur peningkatan ini tidak boleh mengubah status default per pengguna karena perubahan tersebut tidak akan terduga bagi pengguna. Namun, aplikasi dapat diterima untuk memeriksa asosiasi file tingkat komputer dan memperbaikinya jika telah rusak.

Eksekusi Pertama Aplikasi dan Default

Catatan

Pada Windows 8, sistem menangani prosedur ini atas nama semua aplikasi. Aplikasi itu sendiri tidak dapat lagi mengkueri dan mengubah default. Hanya pengguna yang dapat melakukannya. Oleh karena itu, aplikasi tidak boleh mencoba mengkueri default saat ini atau mengubah default tersebut melalui mekanisme apa pun. Namun, aplikasi dapat menyediakan titik masuk ke Program Default di Panel Kontrol dengan memanggil metode LaunchAdvancedAssociationUI dari antarmuka IApplicationAssociationRegistrationUI.

 

Dengan diperkenalkannya default per pengguna di Windows Vista, penting bahwa aplikasi yang memperebutkan ekstensi nama file populer semuanya memberikan pengalaman pengguna yang sama untuk mengklaim ekstensi ini. Karena default ini sekarang diatur dalam konteks pengguna, mereka harus menampilkan diri mereka sebagai kemungkinan default hanya ketika pengguna menjalankan program setelah penginstalan.

Pedoman untuk menetapkan default per pengguna adalah ini: Ketika aplikasi pertama kali dijalankan untuk pengguna tertentu, aplikasi tersebut harus meminta preferensi pengguna untuk default dan asosiasi file untuk dirinya sendiri.

Antarmuka pengguna yang direkomendasikan harus memberikan dua pilihan yang jelas kepada pengguna:

  1. Terima semua default yang ingin diklaim oleh aplikasi. Opsi ini mungkin juga mengatur properti default aplikasi lainnya seperti privasi atau pengaturan pembaruan otomatis. Opsi ini memungkinkan aplikasi untuk mengklaim semua default terdaftarnya.
  2. Sesuaikan dengan menerima atau tidak menerima pilihan default dan pengaturan program satu per satu. Opsi ini menyajikan UI lebih lanjut yang memungkinkan pengguna membuat pilihan terperinci untuk opsi default mereka.

Untuk informasi selengkapnya, lihat Program Default.

Catatan

Ini tidak didukung pada Windows 8.

 

Setelah aplikasi mendaftar dengan Program Default di Windows Vista dan kemudian, API tertentu tersedia untuk aplikasi. Misalnya, aplikasi mungkin perlu memeriksa apakah itu program default. Antarmuka IApplicationAssociationRegistration menyediakan metode untuk melakukan ini.

Aplikasi apa pun yang ingin mengklaim default harus terlebih dahulu bertanya kepada pengguna dan tidak pernah mengklaim default tanpa izin. Pengguna harus ditanya apakah mereka ingin menjadikan aplikasi sebagai default atau membiarkan default saat ini di tempatnya. Juga harus ada opsi untuk tidak diajukan pertanyaan ini lagi setelah pengguna membuat pilihan mereka.

Untuk informasi selengkapnya, lihat Program Default.

Tips Kompatibilitas Aplikasi

Bagian ini menyediakan beberapa tips kompatibilitas aplikasi yang terkait dengan pengalaman Program Default di Windows.

Hindari Memicu virtualisasi Per-User

Dengan lingkungan kontrol akun pengguna (UAC), aplikasi harus selalu berjalan hanya dengan hak pengguna standar untuk pengalaman pelanggan terbaik. Untuk alasan keamanan, aplikasi dengan tingkat hak istimewa pengguna standar diblokir dari penulisan ke bagian tertentu dari registri dan ke file sistem tertentu. Windows Vista dan versi Windows yang lebih baru menyediakan lapisan kompatibilitas aplikasi sementara (AppCompat) untuk membantu aplikasi melakukan transisi. Upaya yang diblokir untuk menulis ke registri atau ke file sistem "divirtualisasi" sehingga aplikasi terus berjalan, tetapi area sensitif sistem tidak diubah. Namun, aplikasi tidak boleh mengandalkan teknologi AppCompat sebagai solusi jangka panjang. Sebagai gantinya, aplikasi harus menggunakan banyak alat yang tersedia untuk memverifikasi bahwa mereka dapat berjalan dengan sukses di bawah hak pengguna standar. Beberapa pemrograman ulang aplikasi mungkin diperlukan untuk menyelesaikan ini, tetapi harus dilakukan demi kepentingan kompatibilitas jangka panjang.

Hindari Peringatan appCompat atau Blok dari Asisten Kompatibilitas Program

Program Compatibility Assistant (PCA) disediakan di Windows Vista dan yang lebih baru. Tujuannya adalah untuk menyediakan metode otomatis untuk membuat program yang lebih lama dengan masalah kompatibilitas bekerja lebih baik. PCA memantau program untuk masalah yang diketahui. Jika masalah terdeteksi, masalah akan memberi tahu pengguna tentang masalah dan menawarkan untuk menerapkan solusi yang efektif sebelum pengguna menjalankan program lagi. Untuk menghindari melihat peringatan atau blok ini, ISV harus menggunakan banyak alat yang tersedia untuk memastikan bahwa aplikasi mereka kompatibel dengan Windows Vista, Windows 7, dan yang lebih baru.

Dukungan untuk Versi Sistem Operasi Windows Sebelumnya

Infrastruktur Program Default tidak tersedia pada sistem operasi Windows apa pun sebelum Windows Vista. Oleh karena itu, ketika aplikasi pindah ke infrastruktur Program Default baru, mereka harus mempertahankan kode default aplikasi yang lebih lama untuk mempertahankan kompatibilitas dengan versi Windows yang lebih lama. Aplikasi harus menjalankan pemeriksaan versi sistem operasi sebagai bagian dari penginstalannya untuk menentukan kode default aplikasi mana yang akan dijalankan.

Untuk mendukung pemutakhiran dari Windows XP ke Windows Vista atau yang lebih baru, aplikasi harus menambahkan semua entri registri yang diperlukan untuk Program Default bahkan ketika mereka menginstal pada komputer yang menjalankan Windows XP. Pendaftaran tidak akan berpengaruh pada komputer yang menjalankan Windows XP, tetapi jika komputer nantinya ditingkatkan, aplikasi akan sudah terdaftar dan dapat memanfaatkan kerangka kerja.

Untuk informasi selengkapnya, lihat OSVERSIONINFO.

Sumber Daya Tambahan

Praktik Terbaik untuk Asosiasi File

Skenario Sampel Asosiasi File

Program Default

Bekerja dengan Atur Akses Program dan Default Komputer (SPAD)