[Cơ bản] File cài đặt dạng .exe và .msi khác nhau chỗ nào?

bk9sw
23/1/2019 19:18Phản hồi: 55
[Cơ bản] File cài đặt dạng .exe và .msi khác nhau chỗ nào?
.exe và .msi - 2 định dạng file này khác nhau chỗ nào? Khi anh em tải phần mềm về cài đặt thì sẽ gặp 1 trong 2 định dạng file này. Việc hiểu đúng chức năng của chúng sẽ giúp anh em dễ cài đặt và sử dụng phần mềm trên Windows hơn.

.exe viết tắt của executable và cái tên nói lên tất cả, đây là dạng file thực thi, để chạy một thứ gì đó. Định dạng này có từ rất lâu rồi, kể từ thời MS-DOS nhưng cần phải lưu ý rằng định dạng .exe không chỉ là file cài đặt mà còn là file khởi chạy của một ứng dụng nào đó. Anh em hẳn đã từng bắt gặp file cài đặt kiểu như setup.exe nhưng cũng thường gặp những file khởi chạy ứng dụng khiểu Photoshop.exe.

Setup exe.jpg
Tất cả các phần mềm trên Windows đều phải cần đến một file .exe tương ứng chứa thông tin về các tiến trình cần thực thi để phần mềm có thể được cài đặt và khởi chạy sau đó. File .exe có thể cài đặt một ứng dụng vào máy - dữ liệu ứng dụng được đóng gói, khi chạy thì giải nén ra một thư mục tạm thời và tiến trình cài đặt được thực hiện. Tuy nhiên, file .exe cũng có thể là file khởi chạy ứng dụng đã cài hay thậm chí là toàn bộ ứng dụng được đóng gói thành .exe để nhấp vào là chạy không cần cài (dạng portable). Nói chung file .exe cực kỳ đa năng và nó là một thành phần không thể thiếu trong cấu trúc tập tin của Windows.

Setup msi.jpg
.msi trong khi đó là một file cơ sở dữ liệu được chạy bởi Windows Installer (MSI viết tắt của Microsoft Installer và giờ là Windows Installer - một dịch vụ hỗ trợ cài đặt ứng dụng có sẵn trên Windows). Nó là dạng file nén chứa rất nhiều thứ như dữ liệu phần mềm, các chỉ thị, tiến trình, add-on, khoá registry cần thiết để phần mềm có thể được cài dặt vào Windows và giúp phần mềm có thể hoạt động bình thường sau khi cài đặt.
Khi nhấp vào file .msi thì Windows Installer (msiexec.exe) sẽ đọc và chạy nó, file .msi sẽ tìm các điều kiện tiên quyết, chẳng hạn như yêu cầu quyền admin để cài đặt phần mềm, các tác vụ cần được thực thi cái nào trước cái nào sau sao cho phần mềm được cài đặt theo đúng thủ tục, trình tự. So với .exe thì .msi chỉ có một chức năng duy nhất là hỗ trợ cài đặt phần mềm vào Windows. File cài đặt dạng .msi được Microsoft phát triển nhằm mang lại cho giới phát triển phần mềm một giải pháp cài đặt tốt hơn, thuần nhất bởi trước đây mỗi nhà phát triển lại dùng một phần mềm cài đặt riêng, không theo tiêu chuẩn.

Windows Installer.jpg
Đôi khi, anh em tải về một phần mềm có dạng một thư mục được nén lại .zip hay .rar, anh em giải nén ra thì thấy có một file cài đặt dạng .exe (chẳng hạn như setup.exe) và nhiều file .msi khác cùng các thư mục dữ liệu. Lúc này setup.exe có vai trò như một bootstrapper và nó sẽ gọi Windows Installer để cài đặt các file .msi cũng như kiểm tra xem hệ thống đủ điều kiện để cài đặt hay không.

msi wizard.jpg
File cài đặt dạng .msi cũng hỗ trợ giao diện cài đặt với những nút Next, Finish quen thuộc, thường là trình thuật sĩ InstallShield Wizard (một công cụ của hãng Flexera). Giao diện này sẽ hiện các bước với các cửa sổ thông tin, cho phép tuỳ biến đường dẫn, chọn cái nào cài cái nào không.
Tính năng đặc biệt nhất của file cài đặt .msi là chế độ "silent" - tức cài đặt trong im lặng. Khi anh em tải về một file cài đặt .msi, nhấp đúp để cài đặt thì nhiều tình huống anh em sẽ thấy chỉ có cửa sổ cài đặt hiện lên với 1 nút Cancel, không cho phép chỉnh đường dẫn lẫn các bước để cài đặt. Như vậy file cài đặt dạng .msi này đã có những keystroke và lập trình sẵn các tiến trình, thậm chí khi cài xong tự đóng cửa sổ luôn. Người dùng có thể cài đặt nhanh gọn không cần phải nhấn Next rồi Finish, đặc biệt là các nhân viên IT sẽ có thể triển khai đồng loạt phần mềm trên hàng trăm ngàn máy tính nhờ tính năng này. Chẳng hạn như phần mềm Slack đã vừa có bản cài đặt dạng .msi dành cho hoạt động triển khai hàng loạt của doanh nghiệp.

Tuy nhiên, file cài đặt .msi có một hạn chế lớn đó là: Windows Installer chỉ có thể cài một file .msi mỗi lần, điều này có nghĩa khi một file .msi đang chạy thì các file .msi khác chẳng hạn như các phần phụ thuộc như .NET framework, C++ runtime …. phải đợi xong mới được cài. Anh em có thể mở nhiều file cài đặt .msi lên, cửa sổ InstallShield vẫn hiện nhưng khi anh em nhấp tới bước Install thì Windows sẽ báo bận 😕.

Game install.jpg
Trong khi đó .exe ngược lại có thể chạy nhiều file cùng lúc, chắc anh em đã từng cài 2 phần mềm cùng lúc hoặc 2 game cùng lúc mà vẫn thành công 😁. Thành ra các nhà phát triển ứng dụng, đặc biệt là game, họ tự thiết kế giao diện hướng dẫn cài đặt sao cho trực quan và ấn tượng hơn.

Cả 2 dạng file cài đặt .exe và .msi đều hỗ trợ tính năng modify tức thay đổi ứng dụng đã cài, chẳng hạn như cài thêm tính năng, cài vào đường dẫn khác và uninstall tức gỡ bỏ ứng dụng.

Còn nói về việc nên chọn .exe hay .msi thì chúng ta tải file dạng nào về cài cũng được và điều này còn tuỳ thuộc vào nhà phát triển ứng dụng, riêng .msi thì sẽ lý tưởng hơn với các chuyên viên IT khi muốn triển khai đồng loạt.
55 bình luận
Chia sẻ

Xu hướng

msi hỗ trợ rất tốt việc deployment phần mềm từ AD. giúp việc quản trị mạng trở nên đơn giản hơn. chỉ cần IT ngồi trên AD và áp GPO xuống cho client là tư động cài phần mềm (chỉ phần mền đuôi MSI).
@daot096 Chuẩn
huyhoangjo
TÍCH CỰC
5 năm
@asterix0108 Như IT mình khoái nhất GPO này thật nhưng thực sự file mis quá ít nhất là còn cài lậu vì cty mình dùng hết mọi phần mềm thiết kế như AI,PS,Design,CAD,Rhi,3DMax,KeyShot,SoliWork,Sheep,sketchup,Vray,corona,atium,...đã thế còn phải phiên bản mới khổ thân phận IT ăn rồi cài rồi fix lỗi vì dùng lậu.Dùng lậu sếp còn đòi không để phát hiện haha mệt vl
@huyhoangjo Vãi sếp, dùng lậu còn đòi hỏi 😁
climax
TÍCH CỰC
5 năm
@huyhoangjo Cty bạn làm bên mảng nào mà cài phần mềm design nhiều dữ vậy :v
huyhoangjo
TÍCH CỰC
5 năm
@climax Thiết kế và sản xuất đèn led .nên có cả lập trình lun làm kiêm cả bên mảng cơ khi cnc lun nên hầu như dùng hết cả ba mảng.nên cài toàn phần mêm lậu mua ko hết hi
Cài appx mới chuẩn nhất, cài nhanh gọn nhẹ, không cần thao tác gì, tự động cập nhật, có MS Store không sợ tải nhầm, chạy sandbox không lo bị virus malware, gỡ sạch không để lại rác. Còn Msi và exe nên chỉ để cài driver và một số phần mềm chuyên dụng thôi.

Bên macOS toàn app portable không phải cài, copy nhanh gọn nhưng muốn xóa thì phải dùng app thứ 3 mới xóa được dữ liệu app. Còn theo kiểu install pkg mà không có file uninstall kèm theo thì cài xong khỏi xóa luôn. Mà app macOS là dạng folder chứa đống dữ liệu nên ưu điểm các app được tách biệt với nhau. Còn Win mỗi app được tách riêng ra file exe và thư viện động DLL ưu điểm có thể xài chung với nhau và các app có thể tương tác với nhau làm việc.
@centernc App rác window, mình chỉ nói mấy app từ win 10 thôi, ví dụ: một đống game cài sẵn (hoặc shortcut) như alphast8, crushcandy, Soda Saga, Disney Magic Kingdoms, Spotify, msn news....

Đó là những cái app MS cài vào vì hợp tác với bên này bên kia về việc làm ăn. Không hề vì nhu cầu người dùng.

Hoàn toàn nhảm shit và không ít than phiền về nó
@Pnmr560 Tương lai còn chả rõ còn xu hướng hiện tại vẫn là web. Facebook có cái app nào cho desktop, app universal hả, không rõ bao nhiêu người đang dùng, web vẫn sống tốt đó thôi.

Mình là dân dev .net nên mình thấy rõ, giờ chả ai quan tâm làm app window đâu. Mọi thứ đều có thể thực hiện trên web, vừa nhanh, vừa tiện. Ngoại trừ một số trường hợp đặc biệt mới phải làm app window
@spamspam "Trường hợp đặc biệt mới phải làm app Windows" thì đấy đủ nhiều để làm, mà giờ app Win đủ nhiều để dùng rồi. Bộ công cụ Adobe web có làm được không, hay Office web có thay thế được bộ công cụ Office không. Căn bản trình không đủ thôi, thử làm game nào đỉnh như pubg thử xem, giàu ngày. Dân dev .net thì nó rộng lắm web, mobile, desktop app, game. App universal à đợi tablet Snapdragon 8cx nếu ngon thì cứ chuẩn bị sẵn đi.

Web thì tiện dụng, ngon hơn, nhưng không phải là thay thế hẳn được desktop app và mobile app. Việt Nam thì làm web nhiều nhu cầu hơn bởi vì tính nội địa, và đơn giản kiểu như app ticktok, uber, grab, instagram hay snapchat thì không đủ sức phát triển và cạnh tranh. Một thanh niên coder gà từ android ios app chuyển sang web asp.net cho hay, mà nhiều lúc nghĩ làm youtuber mấy cái clip nhảm đôi khi còn giàu hơn, nhẹ nhàng hơn.
@centernc Mình quên nhắc tới vụ game, mà chắc thôi đi. Như tầm 10 năm trước, dân tình còn hot với mấy game mini kiểu như đào vàng, plant vs zoombie, picachu, thậm chí là hứng bia... nhưng giờ thì làm gì còn. Mấy game kiểu đó giờ chủ yếu chơi trên trình duyệt hoặc điện thoại.

Game tồn tại được trên desktop chắc giờ chỉ còn lại kiểu game hardcore với yêu cầu đồ hoạ mạnh, dung lượng cả ram, cpu, ổ cứng đều khủng ---> những thứ không thích hợp lắm với trình duyệt.

Về office, nói thật là như ở công ty mình, chỉ có vài thằng dev .net như mình (+ thêm con bé Admin dùng win xp) là còn dùng ms office, còn lại, từ sếp lớn đến thằng fresher toàn dùng google docs. Google docs về chức năng đã quá đủ chức năng mà lại còn tốt hơn ở việc đồng bộ.

.net rộng lớn, ờ lý thuyết là vậy. Nhưng web giờ toàn dùng open source, destop app ít đất diễn, game (ko phải là mảng của mình nên bỏ qua), mobile (mình có code xamarin nhưng rồi cũng chán khi mà bên android giờ có Kotlin).
Vẫn không hiểu! Kk
Nói chung là lâu lắm rồi ko chạy file cài ứng dụng, toàn chạy ứng dụng dạng webbased 😁
ngắn gọn cho ae là ae dùng thì có cái gì cài cái đó, ưu tiên exe vì có thể cài nhiều cái cùng lúc. Còn msi sẽ phù hợp triển khai hàng loạt cho các bác quản trị hệ thống
Vẫn chỉ biết đến file cài đặt đuôi exe, chưa biết nhiều về msi.
Thanks mod chia sẻ thông tin.
Từ chiều qua đến giờ cái Firefox trên lap win7 64 bit của mình nó trở chứng không truy cập được các trang https:
Như google, face, amazon, tinhte...
Có bác nào có cách khắc phục không vậy?
@Nguyễn Huy Chiến Nó thông báo như này
Kết nối của bạn không an toàn

Người chủ của www.google.com.vn đã cấu hình trang của họ không đúng. Để tránh mất cắp thông tin của bạn, Firefox đã không kết nối tới trang này.

Trang này dùng HTTP Strict Transport Security (HSTS) để chỉ định Firefox chỉ được kết nối với nó một cách bảo mật. Cho nên, không khả thi để thêm ngoại lệ cho chứng chỉ này.

Tìm hiểu thêm…

Báo cáo những lỗi như thế này để giúp Mozilla nhận diện và chặn những trang độc hại
@congthinh Ặc, mình phát hiện ra là tắt kis đi lại vào được, bật lên lại bị :oops:
Trước nó tự cập nhật lên phiên bản kis 2018, mình không thích gỡ ra bị lỗi không bật được firefox, gỡ firefox cài lại vẫn bị :mad:
Mình gỡ kis 2018 ra cài kis 2017 thì nó còn không bật nổi firefox :eek:
Lại cài kis 2016, vào được firefox thì bị lỗi https: 😕
fuyin
TÍCH CỰC
5 năm
@traithanhnam90 Có thể do trình antivirus. Vào https://muassl.com hình như có bài về cái này. Bên quantrimang.com cũng có
@fuyin Mình mầy mò tắt cái chứng thực ssl của kis thì ổn rồi.
Mình đọc họ giải thích là do Firefox cập nhật chứng chỉ mới hơn phần mềm diệt virus đang dùng nên gây lỗi.
Dùng kis 2018 thì không sao hết.
Vậy có nghĩa là microsoft đã thất bại trong việc chuẩn hóa ?!? :v
Cơ mà unistall thì sao? Thấy nó chạy trình gỡ cài đặt riêng, nhưng gỡ cái khác thì vẫn báo bận
Viết bài compare dễ hiểu ghê. Chữ không là chữ, không có highlight hay cái gì để tập trung vô những điểm cần compare cả.
XBlue
CAO CẤP
5 năm
Ai hiểu rồi thì đọc sẽ hiểu thôi 😁
😁 wannacry.exe
@narutoxboy Con này thì dùng búa.exe :D
Thông não
vấn đề nhỏ này cũng lên diễn đàn sao. Ai quan tâm msi hay exe nữa chứ, 5 năm trước diễn đàn phần cứng còn nhộn nhịp.
Rất hay
mình thì cứ tải về thấy .exe là múc
TonyWu
CAO CẤP
5 năm
Mấy cái app viết bằng Universal Windows Platform hay React Native có cơ chế cài đặt khác
Giờ mới rõ lý do vì sao nhiều lúc ko cài đc 2 file cùng lúc 😁
phanjantho
TÍCH CỰC
5 năm
Cảm ơn vì bài viết hữu ích.

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019