Bagikan melalui


Direktif INF AddSoftware

Setiap addSoftware direktif 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 EXE.

Nota

Tipe 2 didukung di Driver Universal, Tipe 1 hanya untuk desktop.

Ketika file INF komponen perangkat lunak menentukan AddSoftware, sistem mengantrekan 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 INFDDInstall . 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 NAMA INF atau bagian. Pemrosesan direktif AddSoftware memeriksa versi terhadap perangkat lunak sebelumnya yang diinstal dengan nama yang sama dengan AddSoftware direktif dari paket driver apa pun. Sebaiknya awali 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 SoftwareNameunik 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 inf-writer yang berisi informasi untuk menginstal perangkat lunak.

Komentar

Setiap nama bagian yang dibuat inf-writer 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 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]

Nota

Lihat SoftwareType untuk informasi tentang batasan 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 AddSoftware akan tidak dihapus instalasinya jika perangkat komponen perangkat lunak virtual atau perangkat induknya dihapus instalannya. Jika perangkat lunak Anda bukan aplikasi UWP (yaitu Anda menggunakan AddSoftware dengan SoftwareType 1), pastikan pengguna dapat dengan mudah menghapusnya tanpa meninggalkan jejak di registri. Untuk melakukannya:

  • Jika Anda menggunakan penginstal MSI, siapkan entri Tambahkan/Hapus Program dalam paket Windows Installer aplikasi.

  • Jika Anda menggunakan EXE kustom yang menginstal status registri/file global (alih-alih melengkapi pengaturan perangkat lokal), gunakan Kunci Registri Hapus Instalan.

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 diatur, 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 (di 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 (di direktif AddSoftware) bersifat opsional. Jika SoftwareType diatur ke 2, SoftwareBinary dan SoftwareVersion tidak digunakan.

Nota

Saat menggunakan SoftwareType 2 dari direktif AddSoftware, tidak diperlukan untuk menggunakan INF Komponen. Direktif dapat berhasil digunakan dalam INF apa pun. Direktif AddSoftware dari 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 informasi tentang memasangkan driver dengan aplikasi Universal Windows Platform (UWP), lihat Memasangkan driver dengan aplikasi Universal Windows Platform (UWP) dan Hardware Support App (HSA): Langkah-langkah untuk Pengembang Driver.

SoftwareBinary={filename}
Menentukan jalur ke executable. Sistem menghasilkan baris perintah seperti berikut:

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.

Nota

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

Nota

Lihat SoftwareType untuk informasi tentang batasan entri dan nilai SoftwareArguments.

SoftwareVersion={w.x.y.z}
Menentukan versi perangkat lunak. Setiap nilai tidak boleh melebihi 65535. Ketika sistem menemukan SoftwareNameduplikat , sistem memeriksa SoftwareVersion terhadap SoftwareVersionsebelumnya. Jika lebih besar, Windows menjalankan perangkat lunak.

Nota

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 Universal Windows Platform (UWP) menggunakan formulir pfn://<x.y.z>.

Nota

Lihat SoftwareType untuk informasi tentang batasan entri dan nilai SoftwareID.

Lihat Juga

Menggunakan File INF Komponen

bagian INF DDInstall.Software

Inf AddComponent Directive

Memasangkan driver dengan aplikasi Universal Windows Platform (UWP)

Aplikasi Dukungan Perangkat Keras (HSA): Langkah-langkah untuk Pengembang Driver