Fungsi MsiJoinTransaction (msi.h)

Fungsi MsiJoinTransaction meminta agar Pemasang Windows menjadikan proses saat ini sebagai pemilik transaksi yang menginstal penginstalan beberapa paket.

Windows Installer 4.0 dan yang lebih lama: Tidak didukung. Fungsi ini tersedia dimulai dengan Pemasang Windows 4.5.

Sintaks

UINT MsiJoinTransaction(
  [in]  MSIHANDLE hTransactionHandle,
  [in]  DWORD     dwTransactionAttributes,
  [out] HANDLE    *phChangeOfOwnerEvent
);

Parameter

[in] hTransactionHandle

ID transaksi, yang mengidentifikasi transaksi dan merupakan pengidentifikasi yang dikembalikan oleh fungsi MsiBeginTransaction .

[in] dwTransactionAttributes

Atribut penginstalan beberapa paket.

Nilai Makna
0
Ketika 0 atau tidak ada nilai yang diatur, Pemasang Windows menutup UI dari penginstalan sebelumnya.
MSITRANSACTION_CHAIN_EMBEDDEDUI
Atur atribut ini untuk meminta agar Pemasang Windows tidak mematikan UI yang disematkan hingga transaksi selesai.
MSITRANSACTION_JOIN_EXISTING_EMBEDDEDUI
Atur atribut ini untuk meminta agar Pemasang Windows mentransfer UI yang disematkan dari penginstalan asli. Jika penginstalan asli tidak memiliki UI yang disematkan, pengaturan atribut ini tidak melakukan apa pun.

[out] phChangeOfOwnerEvent

Parameter ini mengembalikan handel ke peristiwa yang diatur ketika fungsi MsiJoinTransaction mengubah pemilik transaksi ke pemilik baru. Pemilik saat ini dapat menggunakan ini untuk menentukan kapan kepemilikan transaksi telah berubah. Meninggalkan transaksi tanpa pemilik akan mengembalikan transaksi.

Mengembalikan nilai

Fungsi MsiJoinTransaction dapat mengembalikan nilai berikut.

Nilai Makna
ERROR_ACCESS_DENIED
Pengguna yang memiliki transaksi dan pengguna yang bergabung dengan transaksi tidak sama.
ERROR_INVALID_PARAMETER
Parameter yang tidak valid diteruskan ke fungsi .
ERROR_INSTALL_ALREADY_RUNNING
Pemilik tidak dapat diubah saat penginstalan aktif sedang berlangsung.
ERROR_INVALID_HANDLE_STATE
ID transaksi yang diberikan tidak valid.

Keterangan

Karena transaksi dapat dimiliki oleh tidak lebih dari satu proses pada satu waktu, fungsi yang ditulis ke dalam tabel MsiEmbeddedChainer dapat menggunakan MsiJoinTransaction untuk meminta kepemilikan transaksi sebelum menggunakan WINDOWS Installer API untuk mengonfigurasi atau menginstal aplikasi. Alat penginstal memverifikasi bahwa tidak ada penginstalan yang sedang berlangsung. Alat penginstal memverifikasi bahwa proses yang meminta kepemilikan dan proses yang saat ini memiliki transaksi berbagi proses induk di pohon proses yang sama. Jika fungsi berhasil, proses yang memanggil MsiJoinTransaction menjadi pemilik transaksi saat ini.

MsiJoinTransaction menetapkan UI internal penginstalan baru ke tingkat UI penginstalan asli. Setelah penginstalan baru memiliki transaksi, ia dapat memanggil MsiSetInternalUI untuk mengubah tingkat UI. Ini memungkinkan penginstalan baru berjalan pada tingkat UI yang lebih tinggi daripada penginstalan asli.

Persyaratan

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

Lihat juga

Beberapa Penginstalan Paket