Menghapus dialog Default dari MSI

Sep 22 2018

Saya memiliki bootstrapper yang membungkus banyak msifile. Beberapa di antaranya memerlukan masukan pengguna untuk mengkonfigurasi beberapa fitur. msiFile - file ini yang memerlukan konfigurasi kustom menampilkan terlalu banyak dialog yang perlu saya hapus, seperti WelcomeDlg.

Saya telah membaca sekitar tetapi saya tidak menemukan solusi apa pun yang sesuai dengan kebutuhan saya yang sebenarnya, jadi saya bertanya-tanya apakah itu sebenarnya layak. Jadi, apakah mungkin untuk hanya menampilkan dialog yang membutuhkan interaksi pengguna, menghindari dialog Selamat Datang atau Selesai, misalnya?

Terima kasih sebelumnya!

Jawaban

1 SteinÅsmul Sep 24 2018 at 05:57

Alternatif WiX : Setelah menjelaskan fitur Pembakaran WiX , saya mulai berpikir bahwa itu mungkin bukan yang Anda butuhkan untuk menyelesaikan pekerjaan Anda. Ini adalah pengembang yang berat dan terlibat - meskipun itu harus dapat dikelola dengan sempurna bagi pengembang untuk menerapkan apa yang dibutuhkan tanpa terlalu banyak masalah. Fleksibilitas sangat tinggi.

Opsi alat penyebaran komersial Installshield dan Advanced Installer memiliki antarmuka GUI yang dapat Anda gunakan untuk membuat setup.exeyang akan memulai file MSI dengan parameter yang Anda kumpulkan.

Installshield

Di Installshield ada fitur yang agak baru di edisi terbaru yang disebut Proyek Installshield Suite . Saya tidak yakin dalam edisi apa ini tersedia (edisi yang lebih tinggi - misalnya "Premium"). Hal ini memungkinkan Anda untuk menginstal berbagai file "secara berurutan": MSI, MSP, EXE, MSU, etc....

Meskipun saya belum pernah sering menggunakannya, saya cukup yakin Anda dapat membuat GUI suite dengan cukup mudah, dan mengontrol dialog apa yang ditampilkan dari pengaturan apa. Saya akan menginstal semuanya secara diam-diam dengan baris perintah. Lihat setidaknya tautan pertama di bawah ini - tangkapan layar. Ini harus memberi Anda ide dasar tentang berbagai hal.

Beberapa Tautan :

Penginstal Lanjutan

Penginstal Lanjutan menampilkan opsi lanjutan untuk menyertakan prasyarat dan paket dengan penginstal MSI utama Anda, dan memungkinkan Anda membuat dialog baru seperti Installshield. Belum lagi saya belum sempat mengujinya sepenuhnya, tapi di bawah ini adalah beberapa petunjuk tentang penggunaannya.

Fitur untuk pusat ini berkisar pada tampilan " Prerequisites", " Build" dan " Dialogs". Dalam tampilan " Build" setel keluaran EXE. Dalam item " Prerequisites" pilih level teratas " Packages" untuk mendapatkan daftar prasyarat bawaan yang tersedia. Klik kanan " Pre-Install" untuk menambahkan paket Anda sendiri. Saya tidak paham dengan detail dialog, tapi Anda bisa mengerjakannya di tampilan " Dialogs". Bukan ilmu roket adalah kabar baik.

Beberapa Tautan :

Saya akan berhenti di situ. Terlalu banyak tautan.

1 SteinÅsmul Sep 22 2018 at 04:04

GUI yang disesuaikan : Untuk menjawab secara singkat di bagian atas di sini: Anda dapat menulis GUI Anda sendiri yang memberi Anda kendali atas "semuanya" di setup GUI, menekan GUI internal masing-masing MSI saat menginstal.

Anda mengumpulkan parameter melalui GUI Anda sendiri - dirancang dengan cara apa pun yang Anda pilih - dan menjalankan penginstalan setiap file MSI dalam mode diam - dengan parameter yang diberikan - menggunakan perintah untuk melakukannya dari dalam aplikasi bootstrapper khusus. Ini mungkin, tetapi tidak ada piknik. Silakan baca ringkasan di bawah ini - tidak cukup, tetapi itulah yang saya dapatkan untuk Anda.

Perhatikan bahwa penginstal WiX sendiri menggunakan Burn GUI kustom (dan karenanya berfungsi sebagai sampel langsung dari tampilan GUI kustom tersebut). Dan berikut ini adalah kode sumber penginstal WiX untuk Aplikasi Managed Bootstrapper-nya - untuk penginstal WiX 3 yang sebenarnya - dengan kata lain.


Membakar

Luka bakar adalah bootstrapper, downloader, chainer, dan engine. Setiap bundel Burn ( setup.exe) memiliki fitur " Bootstrapper Application" yang pada dasarnya merupakan GUI setup - ini menggerakkan mesin Burn. Ada aplikasi bootstrapper standar yang digunakan secara default, tetapi Anda dapat menulis GUI bootstrapper Anda sendiri seluruhnya. Aplikasi bootstrapper (BA) adalah DLL yang dimuat oleh mesin Burn.

The aplikasi bootstrapper standar disesuaikan dengan berbagai cara, sedangkan aplikasi bootstrapper kustom sepenuhnya disesuaikan - jelas. Aplikasi bootstrapper tersebut dapat ditulis dalam kode terkelola atau kode asli.

Baca dokumentasi Burn mulai dari sini: Membangun Bundel Paket Instalasi .

1 - Aplikasi Bootstrapper Standar

Berikut ini ekstrak dari dokumentasi resmi WiX untuk melihat markup dasar yang diperlukan untuk " memanggil " aplikasi bootstrapper standar yang akan dikompilasi ke setup.exe(nyanyikan " 668 - the neighbour of the beast " beberapa kali dan tekan "Build" jika Anda di Visual Studio):

<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Bundle>
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
    <Chain>
    </Chain>
  </Bundle>
</Wix>

Izinkan saya tidak menduplikasi konten lagi, tetapi mengirim Anda ke dokumentasi resmi tentang subjek sebagai gantinya: Bekerja dengan Aplikasi Bootstrapper Standar WiX .

Dan sebelum beralih ke bootstrappers khusus:

2 - Aplikasi Bootstrapper Kustom

Menulis aplikasi bootstrapper khusus sejauh yang saya mengerti tidak mudah, dan bukan sesuatu yang pernah saya lakukan. Dokumentasi tampak langka: Membangun Aplikasi Bootstrapper Kustom (dokumentasi resmi yang saya ketahui).

Saya telah menemukan sampel dunia nyata berikut di sana-sini, tetapi belum mencobanya untuk ukuran. Silakan bagikan pengamatan Anda jika Anda berani menempuh jalan ini:


Beberapa Lagi :