Fungsi MsiSetExternalUIA (msi.h)

Fungsi MsiSetExternalUI memungkinkan penangan antarmuka pengguna eksternal. Handler antarmuka pengguna eksternal ini dipanggil sebelum penangan antarmuka pengguna internal normal. Handler UI eksternal memiliki opsi untuk menekan UI internal dengan mengembalikan nilai bukan nol untuk menunjukkan bahwa ia telah menangani pesan. Untuk informasi selengkapnya, lihat Tentang Antarmuka Pengguna.

Sintaks

INSTALLUI_HANDLERA MsiSetExternalUIA(
  [in] INSTALLUI_HANDLERA puiHandler,
  [in] DWORD              dwMessageFilter,
  [in] LPVOID             pvContext
);

Parameter

[in] puiHandler

Menentukan fungsi panggilan balik yang sesuai dengan spesifikasi INSTALLUI_HANDLER .

[in] dwMessageFilter

Menentukan pesan mana yang akan ditangani menggunakan penangan pesan eksternal. Jika handler eksternal mengembalikan hasil bukan nol, maka pesan tersebut tidak akan dikirim ke UI, sebaliknya pesan akan dicatat jika pengelogan telah diaktifkan. Untuk informasi selengkapnya, lihat fungsi MsiEnableLog .

Nilai Makna
INSTALLLOGMODE_FILESINUSE
File yang digunakan informasi. Ketika pesan ini diterima, Dialog FilesInUse harus ditampilkan.
INSTALLLOGMODE_FATALEXIT
Penghentian penginstalan dini.
INSTALLLOGMODE_ERROR
Pesan kesalahan dicatat.
INSTALLLOGMODE_WARNING
Pesan peringatan dicatat.
INSTALLLOGMODE_USER
Permintaan pengguna dicatat.
INSTALLLOGMODE_INFO
Pesan status yang tidak ditampilkan dicatat.
INSTALLLOGMODE_RESOLVESOURCE
Permintaan untuk menentukan lokasi sumber yang valid.
INSTALLLOGMODE_RMFILESINUSE
File yang digunakan informasi. Ketika pesan ini diterima, Dialog MsiRMFilesInUse harus ditampilkan.
INSTALLLOGMODE_OUTOFDISKSPACE
Ruang disk tidak cukup.
INSTALLLOGMODE_ACTIONSTART
Awal tindakan penginstalan baru dicatat.
INSTALLLOGMODE_ACTIONDATA
Rekaman data dengan tindakan penginstalan dicatat.
INSTALLLOGMODE_COMMONDATA
Parameter untuk inisialisasi antarmuka pengguna dicatat.
INSTALLLOGMODE_PROGRESS
Informasi bilah kemajuan . Pesan ini mencakup informasi tentang unit sejauh ini dan jumlah total unit. Untuk penjelasan tentang format pesan, lihat fungsi MsiProcessMessage . Pesan ini hanya dikirim ke antarmuka pengguna eksternal dan tidak dicatat.
INSTALLLOGMODE_INITIALIZE
Jika ini bukan penginstalan yang tenang, maka UI dasar telah diinisialisasi. Jika ini adalah penginstalan UI penuh , UI lengkap belum diinisialisasi. Pesan ini hanya dikirim ke antarmuka pengguna eksternal dan tidak dicatat.
INSTALLLOGMODE_TERMINATE
Jika UI lengkap sedang digunakan, UI lengkap telah berakhir. Jika ini bukan penginstalan yang tenang, UI dasar belum berakhir. Pesan ini hanya dikirim ke antarmuka pengguna eksternal dan tidak dicatat.
INSTALLLOGMODE_SHOWDIALOG
Dikirim sebelum menampilkan dialog antarmuka pengguna lengkap . Pesan ini hanya dikirim ke antarmuka pengguna eksternal dan tidak dicatat.
INSTALLLOGMODE_INSTALLSTART
Penginstalan produk dimulai.

Pesan berisi ProductName dan ProductCode produk.

INSTALLLOGMODE_INSTALLEND
Penginstalan produk berakhir.

Pesan berisi ProductName, ProductCode, dan nilai pengembalian produk.

[in] pvContext

Arahkan ke konteks aplikasi yang diteruskan ke fungsi panggilan balik. Parameter ini dapat digunakan untuk pemeriksaan kesalahan.

Mengembalikan nilai

Nilai yang dikembalikan adalah handler eksternal yang ditetapkan sebelumnya, atau nol (0) jika tidak ada handler yang ditetapkan sebelumnya.

Keterangan

Untuk memulihkan handler UI sebelumnya, panggilan kedua dilakukan ke MsiSetExternalUI menggunakan INSTALLUI_HANDLER yang dikembalikan oleh panggilan pertama ke MsiSetExternalUI dan menentukan nol (0) untuk dwMessageFilter.

Handler antarmuka pengguna eksternal yang diarahkan oleh parameter puiHandler tidak memiliki kontrol penuh atas antarmuka pengguna eksternal kecuali MsiSetInternalUI dipanggil dengan parameter dwUILevel diatur ke INSTALLUILEVEL_NONE. Jika MsiSetInternalUI tidak dipanggil, tingkat antarmuka pengguna internal default ke INSTALLUILEVEL_BASIC. Akibatnya, pesan apa pun yang tidak ditangani oleh handler antarmuka pengguna eksternal ditangani oleh Pemasang Windows. Awal "Bersiap untuk menginstal. . ." dialog selalu muncul bahkan jika handler antarmuka pengguna eksternal menangani semua pesan.

MsiSetExternalUI hanya boleh dipanggil dari aplikasi Bootstrapping . Anda tidak dapat memanggil MsiSetExternalUI dari tindakan kustom.

Catatan

Header msi.h mendefinisikan MsiSetExternalUI sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

   
Klien minimum yang didukung Windows Installer 5.0 di Windows Server 2012, Windows 8, Windows Server 2008 R2 atau Windows 7. Windows Installer 4.0 atau Windows Installer 4.5 di Windows Server 2008 atau Windows Vista. Pemasang Windows pada Windows Server 2003 atau Windows XP. Lihat Persyaratan Run-Time Penginstal Windows untuk informasi tentang paket layanan Windows minimum yang diperlukan oleh versi Pemasang Windows.
Target Platform Windows
Header msi.h
Pustaka Msi.lib
DLL Msi.dll

Lihat juga

Fungsi Antarmuka dan Pengelogan