Direktif ADDSoftware INF
Setiap direktif AddSoftware menjelaskan penginstalan perangkat lunak mandiri. Arahan ini harus digunakan dalam file INF dari kelas penyiapan SoftwareComponent . Untuk detail selengkapnya tentang komponen perangkat lunak, lihat Menggunakan File INF Komponen. Arahan ini didukung untuk Windows 10 versi 1703 dan yang lebih baru.
Jenis penginstalan yang valid bergantung pada platform target. Misalnya, Desktop mendukung penginstal MSI dan menyiapkan EXEs.
Catatan
Tipe 2 didukung di Universal Drivers, Tipe 1 hanya desktop.
Ketika file INF komponen perangkat lunak menentukan AddSoftware, sistem mengantre perangkat lunak yang akan diinstal setelah penginstalan perangkat. Tidak ada jaminan kapan atau apakah perangkat lunak akan diinstal. Jika perangkat lunak yang direferensikan gagal diinstal, sistem mencoba lagi ketika komponen perangkat lunak referensi diperbarui.
Direktif AddSoftware digunakan dalam INF DDInstall. Bagian perangkat lunak .
[DDInstall.Software]
AddSoftware=SoftwareName,[flags],software-install-section
Entri
SoftwareName
Menentukan nama perangkat lunak yang akan diinstal. Nama ini harus unik di seluruh sistem, terlepas dari INF atau nama bagian. Pemrosesan direktif AddSoftware memeriksa versi terhadap perangkat lunak sebelumnya yang diinstal dengan nama yang sama dengan arahan AddSoftware dari paket driver apa pun. Sebaiknya prefacing SoftwareName dengan nama vendor, misalnya ContosoControlPanel
.
Bendera
Menentukan satu atau beberapa bendera (ORed).
0x00000000
Direktif AddSoftware hanya diproses sekali.
0x00000001
Direktif AddSoftware diproses sekali untuk setiap perangkat komponen yang menentukan AddSoftware dengan SoftwareName unik yang sama.
Misalnya, pertimbangkan konfigurasi di mana tiga perangkat diinstal menggunakan file INF yang sama. Proses penginstalan perangkat lunak hanya berjalan sekali untuk bendera 0x00000000 tetapi tiga kali untuk bendera 0x00000001.
bagian penginstalan perangkat lunak
Mereferensikan bagian yang ditentukan penulis INF yang berisi informasi untuk menginstal perangkat lunak.
Keterangan
Setiap nama bagian yang dibuat penulis INF harus unik dalam file INF dan harus mengikuti aturan umum untuk menentukan nama bagian. Untuk informasi selengkapnya tentang aturan ini, lihat Aturan Sintaks Umum untuk File INF.
Direktif AddSoftware harus mereferensikan bagian penginstalan perangkat lunak bernama di tempat lain dalam file INF. Setiap bagian tersebut memiliki formulir berikut:
[software-install-section]
SoftwareType=type-code
[SoftwareBinary=path-to-binary]
[SoftwareArguments=argument[, argument] …]
[SoftwareVersion=w.x.y.z]
[SoftwareID=pfn://x.y.z]
Catatan
Lihat SoftwareType untuk informasi tentang batasan pada entri dan nilai bagian.
Perangkat lunak apa pun yang diinstal menggunakan AddSoftware harus diinstal secara diam-diam (atau diam-diam). Dengan kata lain, tidak ada antarmuka pengguna yang dapat ditampilkan kepada pengguna selama penginstalan.
Perangkat lunak apa pun yang diinstal menggunakan AddSoftwaretidak akan dihapus instalasinya jika perangkat komponen perangkat lunak virtual atau perangkat induknya dihapus instalasinya. Jika perangkat lunak Anda bukan aplikasi UWP (yaitu Anda menggunakan AddSoftware dengan SoftwareType 1), pastikan pengguna dapat dengan mudah menghapus instalannya tanpa meninggalkan jejak di registri. Untuk melakukannya:
Jika Anda menggunakan alat penginstal MSI, siapkan entri Tambahkan/Hapus Program di paket Pemasang Windows aplikasi.
Jika Anda menggunakan EXE kustom yang menginstal status registri/file global (alih-alih melengkapi pengaturan perangkat lokal), gunakan Hapus Instalan Kunci Registri.
Entri dan nilai bagian penginstalan perangkat lunak
SoftwareType={type-code}
SoftwareType menentukan jenis penginstalan perangkat lunak dan merupakan entri yang diperlukan.
Nilai 1 menunjukkan bahwa perangkat lunak terkait adalah biner MSI atau EXE. Ketika nilai ini ditetapkan, entri SoftwareBinary juga diperlukan. Nilai 1 tidak didukung pada Windows 10 S.
Jika SoftwareType diatur ke 1, SoftwareBinary dan SoftwareVersion juga diperlukan, tetapi SoftwareArguments dan bendera (dalam direktif AddSoftware ) bersifat opsional.
Mulai Windows 10 versi 1709, nilai 2 menunjukkan bahwa perangkat lunak terkait adalah tautan Microsoft Store. Gunakan nilai 1 hanya untuk perangkat lunak khusus perangkat yang tidak memiliki antarmuka pengguna grafis. Jika Anda memiliki aplikasi khusus perangkat dengan elemen grafis, aplikasi tersebut harus berasal dari Microsoft Store, dan driver harus mereferensikannya menggunakan nilai SoftwareType 2.
Jika SoftwareType diatur ke 2, SoftwareID diperlukan, dan bendera (dalam direktif AddSoftware ) bersifat opsional. Jika SoftwareType diatur ke 2, SoftwareBinary dan SoftwareVersion tidak digunakan.
Catatan
Saat menggunakan SoftwareType 2 dari direktif AddSoftware, tidak diperlukan untuk menggunakan INF Komponen. Arahan dapat digunakan dalam INF apa pun dengan sukses. Direktif AddSoftware Tipe 1, bagaimanapun, harus digunakan dari INF Komponen.
Jangan gunakan AddSoftware untuk mendistribusikan perangkat lunak yang tidak terkait dengan perangkat. Misalnya, program utilitas PC khusus OEM tidak boleh diinstal dengan AddSoftware. Sebagai gantinya, gunakan salah satu opsi berikut untuk menginstal aplikasi sebelumnya dalam gambar OEM Windows 10:
Untuk menginstal aplikasi Win32 sebelumnya, boot ke mode audit dan instal aplikasi. Untuk detailnya, lihat Gambaran Umum Mode Audit.
Untuk menginstal aplikasi Microsoft Store (UWP) sebelumnya, lihat Aplikasi yang sudah dapat dihapus sebelumnya untuk perangkat desktop
Untuk informasi tentang memasangkan driver dengan aplikasi Platform Windows Universal (UWP), lihat Memasangkan driver dengan aplikasi Platform Windows Universal (UWP) dan Aplikasi Dukungan Perangkat Keras (HSA): Langkah-langkah untuk Pengembang Driver.
SoftwareBinary={filename}
Menentukan jalur ke executable. Sistem menghasilkan baris perintah seperti berikut ini:
MSI: msiexec /i "<SoftwareBinary>" ALLUSERS=1 /quiet /qn /promptrestart [<SoftwareArguments>]
EXE: <SoftwareBinary> [<SoftwareArguments>]
Jika Anda menggunakan entri ini, Anda harus menambahkan executable ke DriverStore dengan menentukan Petunjuk CopyFiles INF dengan nilai DestinationDirs 13.
Catatan
Lihat SoftwareType untuk informasi tentang batasan entri dan nilai SoftwareBinary .
SoftwareArguments={argument1[, argument2[, ... argumenN]]}
Menentukan argumen khusus ekstensi untuk ditambahkan ke baris perintah. Anda dapat menentukan argumen baris perintah yang hanya diteruskan sistem ke baris perintah yang dihasilkan. Anda juga dapat menentukan string khusus yang disebut variabel konteks runtime. Saat Anda menentukan variabel konteks runtime, sistem mengonversinya menjadi nilai khusus perangkat sebelum menambahkannya ke baris perintah yang dihasilkan. Anda dapat mencampur dan mencocokkan argumen string literal dengan variabel konteks runtime. Variabel konteks runtime yang didukung adalah:
<<DeviceInstanceID>>
Sistem mengganti string di atas dengan ID instans perangkat dari komponen perangkat lunak.
Contohnya:
[DDInstall.Software]
AddSoftware=ContosoControlPanel,,Contoso_ControlPanel_Software
[Contoso_ControlPanel_Software]
SoftwareType=1
SoftwareBinary=ContosoControlPanel.exe
SoftwareArguments=<<DeviceInstanceID>>
SoftwareVersion=1.0.0.0
Contoh di atas menghasilkan baris perintah seperti ini:
<DriverStorePath>\ContosoControlPanel.exe PCI\VEN_0000&DEV_0001&SUBSYS_00000000&REV_00\0123
Jika SoftwareArguments berisi beberapa argumen:
SoftwareArguments=arg1,<<DeviceInstanceID>>,arg2
Hal di atas menghasilkan:
<DriverStorePath>\ContosoControlPanel.exe arg1 PCI\VEN_0000&DEV_0001&SUBSYS_00000000&REV_00\0123 arg2
Catatan
Lihat SoftwareType untuk informasi tentang batasan pada entri dan nilai SoftwareArguments .
SoftwareVersion={w.x.y.z}
Menentukan versi perangkat lunak. Setiap nilai tidak boleh melebihi 65535. Ketika sistem menemukan SoftwareName duplikat, sistem memeriksa SoftwareVersion terhadap SoftwareVersion sebelumnya. Jika lebih besar, Windows menjalankan perangkat lunak.
Catatan
Lihat SoftwareType untuk informasi tentang batasan entri dan nilai SoftwareVersion .
SoftwareID={x.y.z}
Menentukan pengidentifikasi dan jenis pengidentifikasi Microsoft Store. Saat ini, hanya Nama Keluarga Paket (PFN) yang didukung. Gunakan PFN untuk mereferensikan aplikasi Platform Windows Universal (UWP) menggunakan formulir pfn://<x.y.z>
.
Catatan
Lihat SoftwareType untuk informasi tentang batasan entri dan nilai SoftwareID .
Lihat juga
Memasangkan driver dengan aplikasi Platform Windows Universal (UWP)
Aplikasi Dukungan Perangkat Keras (HSA): Langkah-langkah untuk Pengembang Driver