Persyaratan sertifikasi untuk Aplikasi Desktop Windows

Versi dokumen: 10

Tanggal dokumen: 29 Juli 2015

Dokumen ini berisi persyaratan teknis dan kualifikasi kelayakan yang harus dipenuhi aplikasi desktop untuk berpartisipasi dalam Program Sertifikasi Aplikasi Desktop Windows 10.

Selamat Datang!

Platform Windows mendukung ekosistem produk dan mitra yang luas. Menampilkan logo Windows pada produk Anda mewakili hubungan dan komitmen bersama terhadap kualitas antara Microsoft dan perusahaan Anda. Pelanggan mempercayai merek Windows pada produk Anda karena memastikan bahwa produk tersebut memenuhi standar kompatibilitas dan berkinerja baik di platform Windows. Berhasil melewati Sertifikasi Aplikasi Windows memungkinkan aplikasi Anda ditampilkan di Pusat Kompatibilitas Windows dan Anda dapat menampilkan logo sertifikasi di situs Anda.

Program Sertifikasi Aplikasi Windows terdiri dari persyaratan program dan teknis untuk membantu memastikan bahwa aplikasi pihak ketiga yang membawa merek Windows mudah diinstal dan diandalkan pada PC yang menjalankan Windows. Pelanggan menghargai stabilitas, kompatibilitas, keandalan, performa, dan kualitas dalam sistem yang mereka beli. Microsoft memfokuskan investasinya untuk memenuhi persyaratan ini untuk aplikasi perangkat lunak yang dirancang untuk berjalan pada platform Windows untuk PC. Upaya ini termasuk pengujian kompatibilitas untuk konsistensi pengalaman, peningkatan performa, dan peningkatan keamanan pada PC yang menjalankan perangkat lunak Windows. Pengujian kompatibilitas Microsoft telah dirancang bekerja sama dengan mitra industri dan terus ditingkatkan sebagai respons terhadap perkembangan industri dan permintaan konsumen.

Kit Sertifikasi Aplikasi Windows digunakan untuk memvalidasi kepatuhan terhadap persyaratan ini dan menggantikan versi kit sebelumnya yang digunakan untuk memvalidasi pada Windows 7, Windows 8, atau Windows 8.1. Kit Sertifikasi Aplikasi Windows adalah salah satu komponen yang disertakan dalam Kit Pengembangan Perangkat Lunak (SDK) Windows untuk Windows 10.

Kelayakan aplikasi

Agar aplikasi memenuhi syarat Windows 10 Desktop App Certification, aplikasi harus memenuhi kriteria berikut dan semua persyaratan teknis yang tercantum dalam dokumen ini.

  • Ini harus menjadi aplikasi mandiri
  • Ini harus berjalan pada PC Windows 10 lokal
  • Ini bisa menjadi komponen klien dari aplikasi Windows Server bersertifikat
  • Ini harus berupa kode dan fitur lengkap
  • Ini tidak boleh berkomunikasi dengan aplikasi Windows Store melalui mekanisme lokal, termasuk melalui file dan kunci registri, kecuali dalam skenario perusahaan yang didukung
  • Ini tidak boleh membahayakan atau membahayakan keamanan atau fungsionalitas sistem Windows
  • Nama tersebut harus memiliki nama yang unik dan tidak boleh diberi merek dagang oleh orang lain
  • Semua komponen eksternal harus disertifikasi secara terpisah atau mematuhi Kit Sertifikasi Aplikasi Windows
  • Ini harus memiliki opsi penolakan untuk aplikasi yang dibundel

Jika aplikasi desktop dikirimkan ke kategori produk anti-virus dan/atau anti-spyware (yaitu, antimalware), aplikasi harus mematuhi PEDOMAN PLATFORM ANTIMALWARE. PERJANJIAN LISENSI DAN DAFTAR WINDOWS 10 ANTIMALWARE API harus telah ditandatangani dan berlaku sebelum pengiriman. Mitra harus menjadi anggota, atau memiliki peneliti yang merupakan anggota dari dan dalam posisi yang baik dalam salah satu organisasi yang tercantum dalam perjanjian. Fungsionalitas harus disertifikasi pada Windows 10 oleh salah satu organisasi yang tercantum dalam perjanjian. Aplikasi harus telah diuji setidaknya sekali dalam 12 bulan terakhir, dan disertifikasi untuk deteksi dan pembersihan.

1. Aplikasi kompatibel dan tangguh

Waktu ketika aplikasi crash atau berhenti merespons menyebabkan banyak frustrasi pengguna. Aplikasi diharapkan tangguh dan stabil dan menghilangkan kegagalan tersebut membantu memastikan bahwa perangkat lunak lebih dapat diprediksi, dapat dipertahankan, berkinerja, dan dapat dipercaya.

1.1 Aplikasi Anda tidak boleh mengambil dependensi pada mode kompatibilitas Windows, pesan AppHelp, dan atau perbaikan kompatibilitas lainnya
1.2 Aplikasi Anda harus memiliki manifes kompatibilitas, dan menggunakan GUID yang sesuai untuk versi Windows yang didukung
1.3 Aplikasi Anda harus sadar DPI dengan menggunakan manifes perakitan aplikasi daripada dengan memanggil SetProcessDPIAware
1.4 Aplikasi Anda tidak boleh mengambil dependensi pada runtime VB6
1.5 Aplikasi Anda tidak boleh memuat DLL arbitrer untuk mencegat panggilan API Win32 menggunakan HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows AppInit_dlls.

2. Aplikasi harus mematuhi praktik terbaik keamanan Windows

Menggunakan praktik terbaik keamanan Windows akan membantu menghindari terpaparnya permukaan serangan Windows. Permukaan serangan adalah titik masuk yang dapat digunakan penyerang jahat untuk mengeksploitasi sistem operasi dengan memanfaatkan kerentanan dalam perangkat lunak target. Salah satu kerentanan keamanan terburuk adalah peningkatan hak istimewa.

Perhatikan bahwa pengujian 2.1 2.6 hanya berlaku untuk aplikasi desktop yang diuji pada Windows 7, Windows 8, atau Windows 8.1.

2.1 Aplikasi Anda harus menggunakan ACL yang kuat dan sesuai untuk mengamankan file yang dapat dieksekusi
2.2 Aplikasi Anda harus menggunakan ACL yang kuat dan sesuai untuk mengamankan direktori
2.3 Aplikasi Anda harus menggunakan ACL yang kuat dan sesuai untuk mengamankan kunci registri
2.4 Aplikasi Anda harus menggunakan ACL yang kuat dan sesuai untuk mengamankan direktori yang berisi objek
2.5 Aplikasi Anda harus mengurangi akses non-administrator ke layanan yang rentan terhadap perubahan
2.6 Aplikasi Anda harus mencegah layanan dengan mulai ulang cepat dimulai ulang lebih dari dua kali setiap 24 jam

Catatan: Akses hanya boleh diberikan kepada entitas yang memerlukannya.

Program Sertifikasi Aplikasi Windows akan memverifikasi bahwa Permukaan Serangan Windows tidak terekspos dengan memverifikasi bahwa ACL dan Layanan diterapkan dengan cara yang tidak membahayakan sistem Windows.

3. Aplikasi mendukung fitur keamanan Windows

Sistem operasi Windows memiliki banyak fitur yang mendukung keamanan dan privasi sistem. Aplikasi harus mendukung fitur-fitur ini untuk menjaga integritas sistem operasi. Aplikasi yang dikompilasi secara tidak benar dapat menyebabkan overrun buffer yang dapat menyebabkan penolakan layanan atau mengizinkan eksekusi kode berbahaya.

3.1 Aplikasi Anda tidak boleh menggunakan AllowPartiallyTrustedCallersAttribute (APTCA) untuk memastikan akses aman ke rakitan bernama kuat
3.2 Aplikasi Anda harus dikompilasi menggunakan bendera /SafeSEH untuk memastikan penanganan pengecualian yang aman
3.3 Aplikasi Anda harus dikompilasi menggunakan bendera /NXCOMPAT untuk mencegah eksekusi data
3.4 Aplikasi Anda harus dikompilasi menggunakan bendera /DYNAMICBASE untuk pengacakan tata letak ruang alamat (ASLR)
3.5 Aplikasi Anda tidak boleh Membaca/Menulis Bagian PE Bersama

4. Aplikasi harus mematuhi pesan pengelola hidupkan ulang sistem

Ketika pengguna memulai penonaktifan, mereka biasanya memiliki keinginan yang kuat untuk melihat penonaktifan berhasil; mereka mungkin terburu-buru meninggalkan kantor dan hanya ingin komputer mereka dimatikan. Aplikasi harus menghormati keinginan ini dengan tidak memblokir penonaktifan. Meskipun dalam kebanyakan kasus, pematian mungkin tidak penting, aplikasi harus siap untuk kemungkinan pematian kritis.

4.1 Aplikasi Anda harus menangani pematian kritis dengan tepat
Dalam penonaktifan kritis, aplikasi yang mengembalikan FALSE ke WM_QUERYENDSESSION akan dikirim WM_ENDSESSION dan ditutup, sementara waktu tersebut habis sebagai respons terhadap WM_QUERYENDSESSION akan dihentikan.

4.2 Aplikasi GUI harus segera mengembalikan TRUE sebagai persiapan untuk menghidupkan ulang
WM\_QUERYENDSESSION dengan LPARAM = ENDSESSION\_CLOSEAPP(0x1). Aplikasi konsol dapat memanggil SetConsoleCtrlHandler untuk menentukan fungsi yang akan menangani pemberitahuan matikan. Aplikasi layanan dapat memanggil RegisterServiceCtrlHandlerEx untuk menentukan fungsi yang akan menerima pemberitahuan matikan.
4.3 Aplikasi Anda harus mengembalikan 0 dalam waktu 30 detik dan mematikan
WM\_ENDSESSION dengan LPARAM = ENDSESSION\_CLOSEAPP(0x1). Minimal, aplikasi harus mempersiapkan dengan menyimpan data pengguna apa pun dan menyatakan informasi yang diperlukan setelah menghidupkan ulang.
4.4 Aplikasi konsol yang menerima pemberitahuan CTRL\_C\_EVENT harus segera dimatikan 4.5 Driver tidak boleh memveto peristiwa pematian sistem
Catatan: Aplikasi yang harus memblokir penonaktifan karena operasi yang tidak dapat terganggu harus menjelaskan alasannya kepada pengguna. Gunakan ShutdownBlockReasonCreate untuk mendaftarkan string yang menjelaskan alasannya kepada pengguna. Ketika operasi telah selesai, aplikasi harus memanggil ShutdownBlockReasonDestroy untuk menunjukkan bahwa sistem dapat dimatikan.

5. Aplikasi harus mendukung penginstalan yang bersih dan dapat dibalik

Penginstalan yang bersih dan dapat dibalik memungkinkan pengguna untuk berhasil mengelola (menyebarkan dan menghapus) aplikasi di sistem mereka.

5.1 Aplikasi Anda harus menerapkan penginstalan yang bersih dan dapat dibalik dengan benar
Jika penginstalan gagal, aplikasi harus dapat mengembalikannya dan memulihkan komputer ke keadaan sebelumnya.

5.2 Aplikasi Anda tidak boleh memaksa pengguna untuk segera memulai ulang komputer
Menghidupkan ulang komputer seharusnya tidak pernah menjadi satu-satunya opsi di akhir penginstalan, penghapusan instalan, atau pembaruan. Pengguna harus memiliki kesempatan untuk menghidupkan ulang nanti.
5.3 Aplikasi Anda tidak boleh bergantung pada 8.3 nama file pendek (SFN) 5.4 Aplikasi Anda tidak boleh memblokir penginstalan/penghapusan instalasi senyap 5.5 Penginstal aplikasi Anda harus membuat entri registri yang benar untuk memungkinkan deteksi dan penghapusan instalasi yang berhasil
Alat inventori Windows dan alat telemetri memerlukan informasi lengkap tentang aplikasi yang diinstal. Jika Anda menggunakan alat penginstal berbasis MSI, MSI secara otomatis membuat entri registri di bawah ini. Jika Anda tidak menggunakan alat penginstal MSI, modul penginstalan harus membuat entri registri berikut selama penginstalan:
  • DisplayName
  • InstallLocation
  • Publisher
  • UninstallString
  • VersionMajor atau MajorVersion
  • VersionMinor atau MinorVersion
5.6 Aplikasi harus menghapus semua entrinya dari Tambahkan/Hapus Program saat menghapus instalasi

6. Aplikasi harus menandatangani file dan driver secara digital

Tanda tangan digital Authenticode memungkinkan pengguna untuk memastikan bahwa perangkat lunak tersebut asli. Ini juga memungkinkan seseorang untuk mendeteksi apakah file telah dirusak, seperti jika telah terinfeksi oleh virus. Penerapan penandatanganan kode mode kernel adalah fitur Windows yang dikenal sebagai integritas kode (CI), yang meningkatkan keamanan sistem operasi dengan memverifikasi integritas file setiap kali gambar file dimuat ke dalam memori. CI mendeteksi apakah kode berbahaya telah memodifikasi file biner sistem. Juga menghasilkan peristiwa log diagnostik dan audit sistem ketika tanda tangan modul kernel gagal diverifikasi dengan benar.

6.1 Semua file yang dapat dieksekusi (.exe, .dll, .ocx, .sys, .cpl, .drv, .scr) harus ditandatangani dengan sertifikat Authenticode
6.2 Semua driver mode kernel yang diinstal oleh aplikasi harus memiliki tanda tangan Microsoft yang diperoleh melalui program Sertifikasi Perangkat Keras Windows. Semua driver filter Sistem File harus ditandatangani oleh Microsoft.
6.3 Pengecualian dan Keringanan
Keringanan hanya akan dipertimbangkan untuk distribusi ulang pihak ketiga yang tidak ditandatangani, tidak termasuk driver. Bukti komunikasi yang meminta versi yang ditandatangani dari redistributable diperlukan agar pengabaian ini diberikan.

7. Aplikasi tidak memblokir penginstalan atau peluncuran aplikasi berdasarkan pemeriksaan versi sistem operasi

Penting bahwa pelanggan tidak diblokir secara artifisial agar tidak menginstal atau menjalankan aplikasi mereka ketika tidak ada batasan teknis. Secara umum, jika aplikasi ditulis untuk Windows Vista atau versi Windows yang lebih baru, mereka tidak perlu memeriksa versi sistem operasi.

7.1 Aplikasi Anda tidak boleh melakukan pemeriksaan versi untuk kesetaraan
Jika Anda memerlukan fitur tertentu, periksa apakah fitur itu sendiri tersedia. Jika Anda memerlukan Windows 7, periksa Windows 7 atau yang lebih baru (>= 6.2). Dengan cara ini, kode deteksi Anda akan terus berfungsi pada versi Windows yang akan datang. Penginstal driver dan modul penghapusan instalan tidak boleh memeriksa versi sistem operasi.

7.2 Pengecualian dan Pengabaian akan dipertimbangkan untuk aplikasi yang memenuhi kriteria di bawah ini:
  • Aplikasi yang dikirimkan sebagai satu paket yang juga berjalan pada Windows 7, Windows 8, dan Windows 8.1, dan perlu memeriksa versi sistem operasi untuk menentukan komponen mana yang akan diinstal pada sistem operasi tertentu.
  • Aplikasi yang hanya memeriksa versi minimum sistem operasi (selama penginstalan saja, bukan pada runtime) dengan hanya menggunakan panggilan API yang disetujui, dan yang mencantumkan persyaratan versi minimum dengan benar dalam manifes aplikasi.
  • Aplikasi keamanan (antivirus, firewall, dll.), utilitas sistem (misalnya, defrag, cadangan, dan alat diagnostik) yang memeriksa versi sistem operasi hanya dengan menggunakan panggilan API yang disetujui.

8. Aplikasi tidak memuat layanan atau driver dalam mode aman

Mode aman memungkinkan pengguna untuk mendiagnosis dan memecahkan masalah Windows. Driver dan layanan tidak boleh diatur untuk memuat dalam mode aman kecuali diperlukan untuk operasi sistem dasar seperti driver perangkat penyimpanan atau untuk tujuan diagnostik dan pemulihan, seperti pemindai anti-virus, . Secara default, ketika Windows dalam mode aman, itu hanya memulai driver dan layanan yang diinstal sebelumnya dengan Windows.

  • 8.1 Pengecualian dan Keringanan
    Driver dan layanan yang harus dimulai dalam mode aman memerlukan pengabaian. Permintaan pengabaian harus mencakup setiap penulisan driver atau layanan yang berlaku ke kunci registri SafeBoot, dan menjelaskan alasan teknis mengapa aplikasi atau layanan harus berjalan dalam mode aman. Penginstal aplikasi harus mendaftarkan semua driver dan layanan tersebut menggunakan kunci registri ini:
    - HKLM/System/CurrentControlSet/Control/SafeBoot/Minimal - HKLM/System/CurrentControlSet/Control/SafeBoot/Network

Catatan: Anda harus menguji driver dan layanan ini untuk memastikan bahwa driver dan layanan tersebut berfungsi dalam mode aman tanpa kesalahan apa pun.

9. Aplikasi harus mengikuti panduan Kontrol Akun Pengguna

Beberapa aplikasi Windows berjalan dalam konteks keamanan akun administrator, dan aplikasi sering meminta hak pengguna yang berlebihan dan hak istimewa Windows. Mengontrol akses ke sumber daya memungkinkan pengguna untuk mengendalikan sistem mereka dan melindungi mereka dari perubahan yang tidak diinginkan. Perubahan yang tidak diinginkan bisa berbahaya, seperti rootkit yang mengendalikan komputer, atau merupakan hasil dari tindakan yang dibuat oleh orang-orang yang memiliki hak istimewa terbatas.. Aturan terpenting untuk mengontrol akses ke sumber daya adalah menyediakan jumlah akses paling sedikit konteks pengguna standar yang diperlukan bagi pengguna untuk melakukan tugas-tugas yang diperlukan. Mengikuti panduan kontrol akun pengguna (UAC) menyediakan aplikasi dengan izin yang diperlukan ketika diperlukan oleh aplikasi, tanpa membiarkan sistem terus-menerus terpapar risiko keamanan. Sebagian besar aplikasi tidak memerlukan hak istimewa administrator pada durasi, dan seharusnya berjalan dengan baik sebagai pengguna standar.

9.1 Aplikasi Anda harus memiliki manifes yang menentukan tingkat eksekusi dan memberi tahu sistem operasi hak istimewa apa yang diperlukan aplikasi untuk menjalankan
Penandaan manifes aplikasi hanya berlaku untuk EXE, bukan DLL. Ini karena UAC tidak memeriksa DLL selama pembuatan proses. Perlu juga dicatat bahwa aturan UAC tidak berlaku untuk layanan Microsoft. Manifes dapat disematkan atau eksternal.
Untuk membuat manifes, buat file dengan nama <app_name.exe.manifest> dan simpan di direktori yang sama dengan EXE. Perhatikan bahwa setiap manifes eksternal diabaikan jika aplikasi memiliki manifes internal. Contohnya:
<requestedExecutionLevel level=""asInvoker | highestAvailable | requireAdministrator"" uiAccess=""true|false""/>

9.2 Proses utama aplikasi Anda harus dijalankan sebagai pengguna standar (asInvoker).
Setiap fitur administratif harus dipindahkan ke proses terpisah yang berjalan dengan hak istimewa administratif. Aplikasi yang menghadap pengguna, seperti yang dapat diakses melalui grup program di Menu Mulai, dan memerlukan elevasi harus ditandatangani Authenticode.
9.3 Pengecualian dan Keringanan
Pengabaian diperlukan untuk aplikasi yang menjalankan proses utama mereka dengan hak istimewa yang ditinggikan (requireAdministrator atau highestAvailable). Proses utama diidentifikasi sebagai titik masuk pengguna ke aplikasi. Keringanan akan dipertimbangkan untuk skenario berikut:
  • Alat administratif atau sistem dengan tingkat eksekusi diatur ke highestAvailable, dan/atau requireAdministrator
  • Hanya aksesibilitas atau aplikasi kerangka kerja otomatisasi UI yang mengatur bendera uiAccess ke true untuk melewati isolasi hak istimewa antarmuka pengguna (UIPI). Untuk memulai pemanfaatan aplikasi dengan benar, bendera ini harus ditandatangani Authenticode, dan harus berada di lokasi yang dilindungi dalam sistem file, yaitu File Program.

10. Aplikasi harus menginstal ke folder yang benar secara default

Pengguna harus memiliki pengalaman yang konsisten dan aman dengan lokasi penginstalan file default, sambil mempertahankan opsi untuk menginstal aplikasi di lokasi pilihan mereka. Anda juga perlu menyimpan data aplikasi di lokasi yang benar untuk memungkinkan beberapa orang menggunakan komputer yang sama tanpa merusak atau menimpa data dan pengaturan satu sama lain. Windows menyediakan lokasi tertentu dalam sistem file untuk menyimpan program dan komponen perangkat lunak, data aplikasi bersama, dan data aplikasi khusus untuk pengguna

10.1 Aplikasi Anda harus diinstal di folder File Program secara default
Untuk aplikasi asli 32-bit dan 64-bit di %ProgramFiles%, dan %ProgramFiles(x86)% untuk aplikasi 32-bit yang berjalan di x64. Data pengguna atau data aplikasi tidak boleh disimpan di lokasi ini karena izin keamanan yang dikonfigurasi untuk folder ini.

10.2 Aplikasi Anda harus menghindari memulai secara otomatis saat startup
Misalnya, aplikasi Anda tidak boleh mengatur salah satu hal berikut;
  • Registri menjalankan kunci HKLM dan, atau HKCU di bawah Software\Microsoft\Windows\CurrentVersion
  • Registri menjalankan kunci HKLM, dan atau HKCU di bawah Software\Wow6432Node\Microsoft\windows\CurrentVersion
  • Start Menu AllPrograms > STARTUP
10.3 Data aplikasi Anda, yang harus dibagikan di antara pengguna di komputer, harus disimpan dalam ProgramData 10.4 Data aplikasi Anda yang eksklusif untuk pengguna tertentu dan yang tidak akan dibagikan dengan pengguna lain komputer, harus disimpan di Users\\<username>\\AppData 10.5 Aplikasi Anda tidak boleh menulis langsung ke direktori "Windows" dan atau subdirektori
Gunakan metode yang benar untuk menginstal file, seperti font atau driver.
10.6 Aplikasi Anda harus menulis data pengguna pada awalnya dan tidak selama penginstalan dalam penginstalan per mesin
Saat aplikasi diinstal, tidak ada lokasi pengguna yang benar untuk menyimpan data. Upaya oleh aplikasi untuk memodifikasi perilaku asosiasi default di tingkat komputer setelah penginstalan tidak akan berhasil. Sebaliknya, default harus diklaim pada tingkat per pengguna, yang mencegah beberapa pengguna menimpa default satu sama lain.
10.7 Pengecualian dan Keringanan
Pengabaian diperlukan untuk aplikasi yang menulis ke aplikasi .NET cache perakitan global (GAC) harus menjaga dependensi perakitan tetap privat, dan menyimpannya di direktori aplikasi kecuali berbagi perakitan secara eksplisit diperlukan.

11. Aplikasi harus mendukung sesi multi-pengguna

Pengguna Windows harus dapat menjalankan sesi bersamaan tanpa konflik atau gangguan.

11.1 Aplikasi Anda harus memastikan bahwa saat berjalan di beberapa sesi baik secara lokal maupun jarak jauh, fungsionalitas normal aplikasi tidak terpengaruh secara merugikan
11.2 Pengaturan aplikasi dan file data Anda tidak boleh bertahan di seluruh pengguna
11.3 Privasi dan preferensi pengguna harus diisolasi ke sesi pengguna
11.4 Instans aplikasi Anda harus diisolasi satu sama lain
Ini berarti bahwa data pengguna dari satu instans tidak terlihat oleh instans aplikasi lain. Suara dalam sesi pengguna yang tidak aktif tidak boleh didengar dalam sesi pengguna aktif. Dalam kasus di mana beberapa instans aplikasi menggunakan sumber daya bersama, aplikasi harus memastikan bahwa tidak ada konflik.

11.5 Aplikasi yang diinstal untuk beberapa pengguna harus menyimpan data di folder dan lokasi registri yang benar
Lihat persyaratan UAC.
11.6 Aplikasi pengguna harus dapat berjalan dalam beberapa sesi pengguna (Peralihan Pengguna Cepat) untuk akses lokal dan jarak jauh 11.7 Aplikasi Anda harus memeriksa sesi layanan terminal (TS) lainnya untuk instans aplikasi yang ada
Catatan: Jika aplikasi tidak mendukung beberapa sesi pengguna atau akses jarak jauh, aplikasi harus menyatakan ini dengan jelas saat diluncurkan dari sesi semacam ini.

12. Aplikasi harus mendukung Windows versi x64

Karena perangkat keras 64-bit menjadi lebih umum, pengguna mengharapkan pengembang aplikasi memanfaatkan manfaat arsitektur 64-bit dengan memigrasikan aplikasi mereka ke 64-bit, atau versi 32-bit dari aplikasi berjalan dengan baik di bawah Versi Windows 64-bit.

12.1 Aplikasi Anda harus secara asli mendukung 64-bit atau, minimal, aplikasi berbasis Windows 32-bit harus berjalan dengan mulus pada sistem 64-bit untuk mempertahankan kompatibilitas dengan Windows versi 64-bit
12.2 Aplikasi Anda dan penginstalnya tidak boleh berisi kode 16-bit atau mengandalkan komponen 16-bit apa pun
12.3 Penyiapan aplikasi Anda harus mendeteksi dan menginstal driver dan komponen yang tepat untuk arsitektur 64-bit
12.4 Plug-in shell apa pun harus berjalan pada Windows versi 64-bit
12.5 Aplikasi yang berjalan di bawah emulator WoW64 tidak boleh mencoba untuk menumbangkan atau melewati mekanisme virtualisasi Wow64
Jika ada skenario khusus di mana aplikasi perlu mendeteksi apakah mereka berjalan di bawah emulator WoW64, mereka harus melakukannya dengan memanggil IsWow64Process.

Kesimpulan

Seiring berkembangnya persyaratan ini, kami akan mencatat perubahan riwayat revisi di bawah ini. Persyaratan yang stabil sangat penting untuk melakukan pekerjaan terbaik Anda, jadi kami akan bertujuan untuk memastikan perubahan yang kami lakukan berkelanjutan dan terus melindungi dan meningkatkan aplikasi Anda.

Sekali lagi terima kasih telah bergabung dalam komitmen kami untuk memberikan pengalaman pelanggan yang luar biasa.

Riwayat revisi

Tanggal Versi Deskripsi revisi Tautkan ke dokumen
20 Des 2011 1,0 Draf awal dokumen untuk Pratinjau.
26 Jan 2012 1.1 Perbarui ke bagian #2. 1.1
31 Mei 2012 1.2 Menambahkan hasil pengujian ringkasan 1.2
29 Jun 2012 3.0 Windows 8 dokumen akhir 3.0
18 Jun 2013 3.1 dokumen Windows 8.1 3.1
20 Feb 2014 3,2 Pembaruan internal
18 Maret 2014 3.3 Windows 8.1 Update 1 3.3
29 Juli 2015 10 pembaruan Windows 10 10

Pelajari selengkapnya tentang sertifikasi aplikasi desktop

Persyaratan Deskripsi
Kompatibilitas dan ketahanan Crash & macet adalah gangguan besar bagi pengguna dan menyebabkan frustrasi. Aplikasi diharapkan tangguh dan stabil, menghilangkan kegagalan tersebut membantu memastikan bahwa perangkat lunak lebih dapat diprediksi, dapat dipertahankan, berkinerja, dan dapat dipercaya.
Titik entri aplikasi yang menghadap pengguna harus dimanifestasikan untuk kompatibilitas, serta mendeklarasikan GUID yang tepat.
Titik masuk aplikasi yang menghadap pengguna harus dimanifestasikan untuk kesadaran HIGH-DPI dan bahwa API yang tepat dipanggil untuk mendukung HIGH-DPI.
Untuk informasi selengkapnya, lihat:
Mematuhi Praktik Terbaik Keamanan Windows Menggunakan praktik terbaik keamanan Windows akan membantu menghindari terpaparnya permukaan serangan Windows. Permukaan serangan adalah titik masuk yang dapat digunakan penyerang jahat untuk mengeksploitasi sistem operasi dengan memanfaatkan kerentanan dalam perangkat lunak target. Salah satu kerentanan keamanan terburuk adalah peningkatan hak istimewa.
Untuk informasi selengkapnya, lihat:
Fitur Keamanan Windows Dukungan Sistem operasi Windows telah menerapkan banyak langkah untuk mendukung keamanan dan privasi sistem. Aplikasi harus mendukung langkah-langkah ini untuk menjaga integritas OS. Aplikasi yang dikompilasi secara tidak benar dapat menyebabkan buffer overruns yang pada gilirannya dapat menyebabkan penolakan layanan atau membuat kode berbahaya dijalankan. Untuk informasi selengkapnya, lihat referensi alat BinScope.
Mematuhi Pesan Manajer Hidupkan Ulang Sistem Ketika pengguna memulai pematian, dalam sebagian besar kasus, mereka memiliki keinginan kuat untuk melihat penonaktifan berhasil; mereka mungkin terburu-buru meninggalkan kantor dan "hanya ingin" komputer mereka dimatikan. Aplikasi harus menghormati keinginan ini dengan tidak memblokir pematian. Meskipun dalam kebanyakan kasus, pematian mungkin tidak penting, aplikasi harus siap untuk kemungkinan penonaktifan kritis.
Bersihkan Penginstalan yang Dapat Dibalik Penginstalan yang bersih dan dapat dibalik memungkinkan pengguna untuk berhasil mengelola (menyebarkan dan menghapus) aplikasi pada sistem mereka. Untuk informasi selengkapnya lihat, Cara: Menginstal Prasyarat dengan Aplikasi ClickOnce.
Menandatangani file dan driver secara digital Tanda tangan digital Authenticode memungkinkan pengguna untuk memastikan bahwa perangkat lunak tersebut asli. Ini juga memungkinkan seseorang untuk mendeteksi apakah file telah dirusak, misalnya, jika telah terinfeksi oleh virus. Penerapan penandatanganan kode mode kernel adalah fitur Windows yang dikenal sebagai integritas kode (CI), yang meningkatkan keamanan sistem operasi dengan memverifikasi integritas file setiap kali gambar file dimuat ke dalam memori. CI mendeteksi apakah kode berbahaya telah memodifikasi file biner sistem. Juga menghasilkan peristiwa log diagnostik dan audit sistem ketika tanda tangan modul kernel gagal diverifikasi dengan benar.
Jangan memblokir penginstalan atau peluncuran aplikasi berdasarkan pemeriksaan versi sistem operasi Penting bahwa pelanggan tidak diblokir secara artifisial agar tidak menginstal atau menjalankan aplikasi mereka ketika tidak ada batasan teknis. Secara umum, jika aplikasi ditulis untuk rilis Windows Vista atau yang lebih baru, aplikasi tersebut seharusnya tidak memiliki alasan untuk memeriksa versi sistem operasi. Untuk informasi selengkapnya, lihat Penerapan Versi Sistem Operasi.
Jangan muat Layanan dan Driver dalam Mode Aman Mode aman memungkinkan pengguna untuk mendiagnosis dan memecahkan masalah Windows. Kecuali diperlukan untuk operasi dasar sistem (misalnya, driver perangkat penyimpanan) atau untuk tujuan diagnostik dan pemulihan (misalnya, pemindai anti-virus), driver dan layanan tidak boleh diatur untuk memuat dalam mode aman. Secara default, mode aman tidak memulai sebagian besar driver dan layanan yang tidak diinstal sebelumnya dengan Windows. Mereka harus tetap dinonaktifkan kecuali sistem mengharuskannya untuk operasi dasar atau untuk tujuan diagnostik dan pemulihan.
Untuk informasi selengkapnya, lihat:
Ikuti Panduan Kontrol Akun Pengguna (UAC) Beberapa aplikasi Windows berjalan dalam konteks keamanan akun administrator, dan banyak yang memerlukan hak pengguna dan hak istimewa Windows yang berlebihan. Mengontrol akses ke sumber daya memungkinkan pengguna untuk mengendalikan sistem mereka terhadap perubahan yang tidak diinginkan (Perubahan yang tidak diinginkan dapat berbahaya, seperti rootkit secara diam-diam mengambil alih komputer, atau tindakan dari orang-orang yang memiliki hak istimewa terbatas, misalnya, karyawan yang menginstal perangkat lunak yang dilarang di komputer kerja). Aturan terpenting untuk mengontrol akses ke sumber daya adalah menyediakan jumlah akses paling sedikit konteks pengguna standar yang diperlukan bagi pengguna untuk melakukan tugas yang diperlukan. Panduan UAC berikut menyediakan izin yang diperlukan kepada aplikasi saat diperlukan, tanpa membiarkan sistem terus-menerus terpapar risiko keamanan.
Untuk informasi selengkapnya, lihat:
Instal ke Folder yang Benar secara Default Pengguna harus memiliki pengalaman yang konsisten dan aman dengan lokasi penginstalan default file, sambil mempertahankan opsi untuk menginstal aplikasi ke lokasi yang mereka pilih. Anda juga perlu menyimpan data aplikasi di lokasi yang benar untuk memungkinkan beberapa orang menggunakan komputer yang sama tanpa merusak atau menimpa data dan pengaturan satu sama lain. Untuk informasi selengkapnya, lihat Ringkasan Persyaratan Penginstalan/Penghapusan Instalasi.
Mendukung Sesi Multi-Pengguna Pengguna Windows harus dapat menjalankan sesi bersamaan tanpa konflik atau gangguan. Untuk informasi selengkapnya, lihat Panduan Pemrograman Layanan Desktop Jarak Jauh.
Mendukung Windows versi x64 Karena perangkat keras 64-bit menjadi lebih lazim, pengguna mengharapkan pengembang aplikasi memanfaatkan manfaat arsitektur 64-bit dengan memigrasikan aplikasi mereka ke 64-bit, atau bahwa versi aplikasi 32-bit berjalan dengan baik di bawah Windows versi 64-bit.

Lihat juga