หากคุณเป็นผู้ที่ใช้งาน ระบบปฏิบัติการ Windows คุณน่าจะคุ้นเคยกับไฟล์ที่เป็นนามสกุล .MSI หรือ .EXE กันเป็นอย่างดี เพราะเป็นไฟล์ที่เราใช้ในการติดดั้งซอฟต์แวร์ใหม่เพิ่มเข้าไปในระบบ เวลาที่เราซื้อ หรือดาวน์โหลดซอฟต์แวร์มา ก็จะได้ไฟล์ .MSI หรือ .EXE มาใช้ในการติดตั้ง แต่เคยสงสัยบ้างไหมว่า ทำไมมันถึงมีไฟล์ 2 ประเภท สองมาตรฐานนี้มีความแตกต่างกันอย่างไร ? มาหาคำตอบกัน
ข้อมูลเพิ่มเติม : ซอฟต์แวร์ (Software) แอปพลิเคชัน (Application) และ โปรแกรม (Program) ต่างกันอย่างไร ?
ไฟล์นามสกุล .EXE ย่อมาจากคำว่า "Executable File" อาจจะเป็นไฟล์ที่ทุกคนเคยกันมากที่สุดในระบบคอมพิวเตอร์ เพราะซอฟต์แวร์ส่วนใหญ่จะเปิดใช้งานด้วยการดับเบิลคลิกที่ไฟล์ .EXE
นอกเหนือจากการที่ไฟล์ .EXE เป็นนามสกุลไฟล์มาตรฐานของระบบปฏิบัติการ Windows แล้ว มันยังมีคุณสมบัติในการเป็นตัวติดตั้งโปรแกรม หรือ ไฟล์ ZIP ที่สามารถแตกตัวเองได้โดยอัตโนมัติ ตามความหมายของชื่อมันเลยนั่นก็คือ Executable มันเป็นไฟล์สำหรับใช้ในการติดตั้งซอฟต์แวร์ที่มีมาก่อน .MSI จะถูกพัฒนาขึ้นมา
การทำงานของไฟล์ติดตั้งที่เป็น .EXE จะไม่ต้องอาศัย "เอนจิน" หรือ "ดาต้าเบส" เข้ามาช่วยในการติดตั้งซอฟต์แวร์เลย ในส่วนของโครงสร้างในการติดตั้งก็ขึ้นอยู่กับเครื่องมือที่ผู้พัฒนาใช้ในการสร้างไฟล์ติดตั้ง .EXE ขึ้นมา
ในการติดตั้งโปรแกรม มันจะมีเทคนิคที่เรียกว่า "Silent Install" โดยเป็นการติดตั้งซอฟต์แวร์โดยที่ไม่ต้องยุ่งกับ ส่วนประสานงานกับผู้ใช้ (User Interface - UI) ซึ่งมีประโยชน์ต่อการติดตั้งซอฟต์แวร์ที่ต้องการกำหนดขั้นตอนการติดตั้งอย่างพวกชื่อ, ตำแหน่งที่ติดตั้ง ฯลฯ เอาไว้ล่วงหน้า ซึ่งถ้าเป็นไฟล์ติดตั้งแบบ .MSI ค่าพารามิเตอร์ต่าง ๆ จะมีมาตรฐานตายตัวที่ถูกกำหนดเอาไว้แล้ว ในขณะที่ไฟล์ติดตั้ง .EXE พวกค่าพารามิเตอร์จะขึ้นอยู่กับซอฟต์แวร์ที่ผู้พัฒนาใช้แทน
ไฟล์นามสกุล .MSI นั้นย่อมาจากคำว่า "Microsoft Silent Installer" นั่นเอง มันเป็นนามสกุลไฟล์ ที่ได้รับความนิยม และเป็นตัวเลือกที่ดีในการสร้างไฟล์สำหรับติดตั้งซอฟต์แวร์ของ ระบบปฏิบัติการ Windows กันเลย
ซึ่งภายในไฟล์ .MSI จะบรรจุข้อมูลของซอฟต์แวร์ รวมไปถึงส่วนประกอบอย่างชอร์ทคัท และไฟล์ที่ต้องใช้ในการงาน และติดตั้งเอาไว้ให้อย่างเรียบร้อย จุดที่ทำให้ .MSI แตกต่างจาก .EXE คืออย่างที่เราได้ระบุไปแล้วว่า .EXE สามารถทำงานได้อย่างอิสระไม่ต้องใช้เอนจินใด ๆ เข้ามาช่วย แต่ว่า .MSI จะทำงานได้โดยอาศัย MSIEXEC.EXE ที่มีในระบบปฏิบัติการ Windows
.MSI ยังมีหน้าที่อื่นนอกเหนือจากการติดตั้งซอฟต์แวร์อีกด้วย นั่นคือ ถอนการติดตั้ง, แก้ไขการติดตั้ง และอัปเดตตัวซอฟต์แวร์
แน่นอนว่า .MSI ก็รองรับการทำ "Silent Install" ด้วยเช่นกัน โดยถูกกำหนดมาเป็นค่าเริ่มต้นตั้งแต่แรกเลย เราสามารถตรวจสอบการทำงานของมันผ่าน Command Prompt ด้วยคำสั่ง "msiexec /?"
ภาพจาก : https://www.advancedinstaller.com/exe-vs-msi-installer.html
ไฟล์ | .EXE | .MSI |
ลักษณะ | ช่วยในการเข้าถึงไฟล์ที่ติดตั้งในอุปกรณ์ | ไฟล์ดาต้าเบสที่รวบรวมข้อมูลเกี่ยวกับไฟล์ที่ใช้ในการติดตั้ง |
การใช้งาน | ใช้งานได้หลากหลายไม่จำกัดแค่ในการพัฒนาซอฟต์แวร์ | เพื่อการพัฒนาซอฟต์แวร์โดยเฉพาะ |
อินเทอร์เฟซ | มีหลายอินเทอร์เฟซ ขึ้นอยู่กับเครื่องมือที่นักพัฒนาใช้ | มีมาตรฐานที่ทาง Microsoft กำหนดเอาไว้ให้แล้ว |
มาพร้อมกับการติดตั้ง | ไม่มีการติดตั้งภายหลัง ไฟล์ทั้งหมดต้องติตดั้งในครั้งเดียว | MSI มีระบบติดตั้งฟีเจอร์เพิ่มเติมหลังจากซอฟต์แวร์ติดตั้งเสร็จเรียบร้อย |
ตัวเลือกภาษา | มี | ไม่มี |
อิสระ | มาก | น้อย |
Windows Installer | ไม่ต้องใช้ | ต้องใช้ |
หากผู้พัฒนาซอฟต์แวร์มีทางเลือกให้ติดตั้งซอฟต์แวร์ได้ทั้ง .EXE และ .MSI จะเลือกดาวน์โหลดตัวไหนมาติดตั้งก็ได้ ผลลัพธ์มันไม่ต่างกัน แต่มันก็อาจมีเหตุการณ์ หรือเหตุผลที่ควรเลือกเกิดขึ้นได้เหมือนกัน
บ่อยครั้งที่ ผู้พัฒนาจะให้รายละเอียดเอาไว้ว่า เวอร์ชันนี้เหมาะกับผู้ใช้แบบไหน เช่น มือใหม่ให้ใช้ .MSI หากต้องการปรับแต่งในขั้นตอนติดตั้งให้ใช้ .EXE เป็นต้น
แต่หากคุณเป็นผู้ดูแลระบบ คุณก็อาจจะชื่นชอบ .MSI มากกว่า เพราะมันเป็นมิตรต่อการติดตั้งแบบรีโมตได้ง่ายกว่า และมีระบบเก็บ การจัดเก็บบันทึกข้อมูล (Log File) และถอนการติดตั้งที่ควบคุมได้ง่ายกว่าด้วย
สรุปสั้น ๆ ว่า .EXE จะให้อิสระผู้ใช้ในการปรับแต่งขั้นตอนติดตั้ง ในขณะที่ .MSI มีมาตรฐานที่ชัดเจน ใช้งานง่าย จะเลือกใช้งานมาตรฐานไหน ? ไม่มีคำตอบที่ผิด หรือถูก มันขึ้นอยู่กับความต้องการของผู้ใช้งานมากกว่า
|
แอดมินสายเปื่อย ชอบลองอะไรใหม่ไปเรื่อยๆ รักแมว และเสียงเพลงเป็นพิเศษ |