Apa perbedaan utama antara file instalasi MSI dan EXE?

13

Kita tentu melihat bahwa beberapa .exefile akan dieksekusi, tetapi apa fungsi yang berbeda dari file MSI?

Dhaiwat budh
sumber
Lihat jawaban di bawah ini, atau mungkin baca tentang manfaat korporat dari msi di serverfault.com. Artikel ini menjelaskan secara rinci manfaat apa yang seharusnya dihasilkan file MSI ..
Stein Åsmul

Jawaban:

7

MSI adalah singkatan untuk Microsoft Silent Installer, ini menjalankan .exe installer di latar belakang.

Ini digunakan dalam GPO, misalnya jika Anda ingin menggunakan aplikasi pada Windows Infrastructure yang Anda kelola, Anda harus membuat aturan GPO baru dengan MSI dan MSI akan diinstal pada setiap mesin tanpa campur tangan pengguna.

GPO menjadi "Objek Kebijakan Grup" yang "menyediakan manajemen terpusat dan konfigurasi sistem operasi, aplikasi, dan pengaturan pengguna di lingkungan Direktori Aktif."

Clem
sumber
1
GPO menjadi "Objek Kebijakan Grup" yang "menyediakan manajemen terpusat dan konfigurasi sistem operasi, aplikasi, dan pengaturan pengguna di lingkungan Direktori Aktif."
RedGrittyBrick
5
... lebih seperti [M] icro [s] seringkali [I] nstaller. Di mana sih "kamu" diam? Tidak, MSI tidak menjalankan PE exes di latar belakang (mereka mampu melakukannya, tapi itu bukan satu-satunya atau bahkan fungsi utama mereka).
Bob
3
The Windows Installer (previously known as Microsoft Installer) is a software component...- Wikipedia . Ya, MSI adalah Penginstal MicroSoft, dan bukan penginstal diam.
Jet
3
Sebagian besar jawaban ini sebenarnya salah. Silakan baca jawaban lain di utas ini.
Stein Åsmul
Saya mendengar bentuk lengkap ini Microsoft Silent Installeruntuk pertama kalinya. Saya selalu tahu bahwa MSI singkatan M ICRO s sering saya nstaller`. Apakah Anda memiliki kutipan resmi yang mengatakan demikian?
RBT
11

Apa itu penginstal? Nah, penginstal menyiapkan sistem agar program dapat berjalan: ia menginstal program itu. Selama proses ini, penginstal (pada Windows) dapat menyalin file ke lokasi sistem, menempatkan pintasan untuk meluncurkannya, memperbarui perpustakaan, menghapus versi yang lebih lama, dll. Tidak ada standar atau format pemasang universal; program apa pun yang melakukan tindakan ini ("menginstal" program lain) dapat disebut installer.

File "exe" di Windows dikenal sebagai file Portable Executable , dan berisi instruksi sewenang-wenang, baik kode mesin asli atau .NET bytecode. Tidak ada apa pun tentang format PE yang akan mengidentifikasinya sebagai pemasang. Tentu saja, dengan kode mesin sewenang-wenang Anda dapat menulis installer - dan installer "exe" yang Anda lihat mengambil pendekatan itu.

Beberapa orang menulis installer khusus mereka sendiri. Yang lain menggunakan generator pemasang untuk menghemat waktu dan usaha; ini termasuk NSIS, InnoSetup, InstallShield, dan lainnya.

MSI adalah format khusus yang digunakan untuk menyimpan informasi tentang instalasi, database langkah apa yang harus diambil dan file mana yang akan diletakkan. Dengan sendirinya, itu tidak dapat dieksekusi; sebenarnya ditafsirkan oleh msiexec.exepada sistem Windows. Penerjemah ini kemudian akan mengikuti langkah-langkah yang ditetapkan dalam file MSI. Secara teori Anda dapat membuat exe apa pun yang menggunakan database yang mirip dengan MSI (dan NSIS, InnoSetup, dll., Melakukan sesuatu yang serupa).

Apa yang membuat MSI istimewa adalah bahwa MSI disertakan dan diinterpretasikan oleh alat bawaan, dan juga terintegrasi ke dalam Direktori Aktif untuk penyebaran yang lebih mudah di banyak mesin di lingkungan perusahaan, dan jawaban Clem mencakup hal itu secara lebih rinci.

Bob
sumber
6

File MSI adalah file database (khususnya database MS-SQL) yang menggambarkan instalasi melalui tabel database dan menginstal melalui serangkaian urutan instalasi yang kompleks yang didefinisikan dalam file MSI itu sendiri.

File MSI tidak menginstal sebagai file EXE di latar belakang sebagai "Clem" menulis - mereka dikonsumsi oleh Windows Installer Engine yang dapat diakses melalui antarmuka baris perintah msiexec.exe . Atau mungkin coba contoh baris perintah msiexec.exe beranotasi Installer Lanjutan . Kemudian instal itu sendiri dijalankan melalui dua urutan yang berbeda: urutan antarmuka pengguna dan urutan instalasi yang sebenarnya - yang terakhir berjalan dalam konteks sistem menggunakan akun LocalSystem . Pengaturan ini diperlukan untuk memungkinkan hak admin sementara pemasang, atau hak tinggi yang merupakan istilah yang tepat.

Pemasang EXE dapat berupa apa saja. Paling sering mereka adalah installer berbasis script gaya lama yang tidak didasarkan pada database, tetapi file EXE juga bisa menjadi pembungkus yang berisi file MSI dan komponen runtime terkait. Itu semua tergantung dan harus diselidiki dalam setiap kasus tertentu.

Stein Åsmul
sumber