Menginisialisasi Aplikasi

Untuk mengaktifkan fungsionalitas alat penginstal, aplikasi harus memanggil sejumlah fungsi saat menginisialisasi. Untuk informasi selengkapnya, lihat Mekanisme Penginstalan . Langkah-langkah berikut menjelaskan cara menggunakan alat penginstal untuk menginisialisasi aplikasi:

Untuk menginisialisasi aplikasi

  1. Panggil fungsiMsiGetProductCode sehingga aplikasi dapat mengidentifikasi dirinya ke alat penginstal.

    Kode produk adalah parameter yang diperlukan untuk banyak fungsi alat penginstal.

  2. Panggil fungsiMsiGetUserInfo untuk mengumpulkan informasi pengguna saat pertama kali aplikasi dimulai.

    Jika panggilan ke MsiGetUserInfo gagal, panggil fungsi MsiCollectUserInfo untuk mengumpulkan informasi pengguna.

  3. Tampilkan antarmuka pengguna default, jika perlu, dengan memanggil fungsiMsiSetInternalUI.

    Untuk membuat antarmuka pengguna Anda sendiri, daftarkan dengan penginstal dengan cara memanggil fungsi MsiSetExternalUI .

  4. Panggil fungsiMsiEnableLog untuk mengatur tingkat pengelogan.

  5. Sajikan pengguna dengan fitur yang tersedia dengan menghitung fitur aplikasi Anda. Anda dapat menghitung fitur dengan cara berikut:

    • Mengkueri fitur-demi-fitur penginstal. Misalnya, sebelum aplikasi menggambar tombol atau item menu, aplikasi memanggil fungsiMsiQueryFeatureState sehingga alat penginstal dapat memeriksa apakah fitur tersedia.
    • Sebutkan semua fitur yang tersedia sekaligus dengan memanggil fungsi MsiEnumFeatures. Untuk menggunakan fungsi ini, aplikasi harus memanggil MsiEnumFeatures berulang kali sambil menaikkan indeks.
  6. Dapatkan informasi terperinci tentang penginstalan saat ini dengan memanggil fungsi enumerasi berikut berulang kali, menambahkan variabel indeks untuk setiap panggilan:

    • Panggil fungsi MsiEnumProducts untuk mendata produk yang terdaftar dengan penginstal.
    • Panggil fungsiMsiEnumComponents untuk menghitung komponen.
    • Panggil fungsiMsiEnumComponentQualifiers untuk menghitung kualifikasi komponen.
    • Panggil fungsiMsiEnumClients untuk menghitung produk untuk komponen tertentu.

    Jika nilai yang dikembalikan pada fungsi enumerasi adalah ERROR_SUCCESS, masih ada lebih banyak item yang akan dienumerasi, dan fungsi harus dipanggil lagi dengan variabel indeks yang ditingkatkan. Jika nilai pengembalian ERROR_NO_MORE_ITEMS, maka semua item telah dijumlahkan, dan fungsi tidak boleh dipanggil lagi.