Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Mendaftar DLL CPP dengan Amanah dalam COM Semasa Pemasangan MSI Menggunakan WiX?

Bagaimanakah Saya Boleh Mendaftar DLL CPP dengan Amanah dalam COM Semasa Pemasangan MSI Menggunakan WiX?

Patricia Arquette
Patricia Arquetteasal
2024-11-19 08:02:02704semak imbas

How Can I Reliably Register a CPP DLL in COM During MSI Installation Using WiX?

Mendaftarkan CPP DLL ke dalam COM selepas Pemasangan Menggunakan Wix Msi Installer

Masalah: Pustaka CPP tidak didaftarkan ke COM semasa pemasangan MSI , walaupun percubaan dengan pendekatan berbeza.

Penyelesaian:

Berhenti Menggunakan Fail Kelompok dan Tindakan Tersuai:

Sekumpulan yang dijalankan secara manual fail dan tindakan tersuai untuk pendaftaran COM tidak boleh dipercayai.

Ekstrak Maklumat Pendaftaran COM Menggunakan heat.exe

  1. Gunakan alat heat.exe daripada kit alat WiX untuk ekstrak maklumat pendaftaran COM daripada CPP dll.
  2. Data pendaftaran yang diekstrak akan digunakan untuk mengisi pangkalan data MSI pada masa penyusunan, memastikan pendaftaran COM yang boleh dipercayai semasa pemasangan.

Mengatasi Ketergantungan yang Hilang

Ketidakupayaan fail COM untuk memuatkan selalunya disebabkan oleh kebergantungan yang hilang.

  1. Gunakan Dependency Walker untuk mengimbas fail COM untuk mencari kebergantungan yang hilang.
  2. Letakkan fail pergantungan yang hilang dalam direktori pemasangan bersama-sama dengan COM dll untuk menjadikannya boleh diakses semasa pendaftaran.

Proses Pengekstrakan COM dengan heat.exe

  1. Untuk fail COM 32-bit dengan kebergantungan dalam folder atau laluan setempat, gunakan arahan ini:

    heat.exe file YourFileName.ocx -o YourFileName.wxs
  2. Untuk memasukkan data pendaftaran WiX yang dieksport ke dalam sumber WiX utama , rujuk artikel ini: Cara Rujuk Output Haba(wxs) dalam Wix (Barisan Perintah).

Perduaan 64-bit

heat.exe tidak memproses perduaan COM 64-bit dengan betul. Pertimbangkan untuk menggunakan Pek Pengembangan WiX (komersial) atau pendaftaran sendiri (tidak disyorkan).

Petua Tambahan

  • Pastikan pendaftaran dicuba dengan keistimewaan yang tinggi.
  • Sahkan bahawa arahan heat.exe dijalankan pada fail COM selepas penggunaan, apabila semua kebergantungan tersedia.
  • Gunakan alat Dependency Walker untuk memahami sebarang kebergantungan yang hilang atau positif palsu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendaftar DLL CPP dengan Amanah dalam COM Semasa Pemasangan MSI Menggunakan WiX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn