อ่าน 5 นาที
โปรแกรมติดตั้ง Windows
Windows Installer ( msiexec.exe เดิมชื่อ Microsoft Installer [ 3 ] รหัส ชื่อ Darwin ) [ 4 ] [ 5 ] เป็น ส่วนประกอบซอฟต์แวร์ และ อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน (API) ของ...
โปรแกรมติดตั้ง Windows
| โปรแกรมติดตั้ง Windows | |
|---|---|
หน้าจอช่วยเหลือของ Windows Installer 5.0 ที่ทำงานบนWindows 11 | |
| นักพัฒนา | ไมโครซอฟต์ |
| ปล่อย | 31 สิงหาคม 2542 |
| เวอร์ชันสุดท้าย | |
| ระบบปฏิบัติการ | ระบบปฏิบัติการ Windows 95หรือเวอร์ชันที่ใหม่กว่า |
| แพลตฟอร์ม | IA-32 , x86-64 , ARM32 , ARM64 , Itanium |
| รวมอยู่กับ | ระบบปฏิบัติการ Windows 2000หรือเวอร์ชันที่ใหม่กว่า |
| ผู้มาก่อน | การตั้งค่า Microsoft ACME |
| พิมพ์ | ผู้ติดตั้ง |
| ใบอนุญาต | ซอฟต์แวร์ฟรี |
| เว็บไซต์ | เรียนรู้ |
| แพ็คเกจตัวติดตั้ง Windows [ 2 ] | |
|---|---|
| นามสกุลไฟล์ | .msi, .msp |
| สื่อประเภทอินเทอร์เน็ต | แอปพลิเคชัน/x-ole-storage |
| พัฒนาโดย | ไมโครซอฟต์ |
| ประเภทของรูปแบบ | คลังเก็บเอกสารสำคัญ |
| ภาชนะสำหรับ | ข้อมูลการติดตั้งและ ไฟล์ข้อมูลเสริม(.cab) |
| ขยายจาก | พื้นที่จัดเก็บข้อมูลแบบมีโครงสร้าง COM |
| รูปแบบเปิด ? | เลขที่ |
Windows Installer ( msiexec.exeเดิมชื่อMicrosoft Installer [ 3 ] รหัสชื่อDarwin ) [ 4 ] [ 5 ]เป็นส่วนประกอบซอฟต์แวร์และอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน (API) ของMicrosoft Windowsที่ใช้ในการติดตั้งบำรุงรักษา และถอนการติดตั้งซอฟต์แวร์ ข้อมูลการติดตั้ง และไฟล์ที่เกี่ยวข้อง (ถ้ามี) จะถูกบรรจุอยู่ในแพ็คเกจการติดตั้ง ซึ่ง เป็นฐานข้อมูลเชิงสัมพันธ์แบบหลวมๆที่มีโครงสร้างเป็นCOM Structured Storagesและโดยทั่วไปเรียกว่า "ไฟล์ MSI" จากนามสกุลไฟล์ เริ่มต้น แพ็คเกจที่มีนามสกุลไฟล์mstประกอบด้วย "สคริปต์การแปลง" ของ Windows Installer แพ็คเกจที่มีนามสกุลmsmไฟล์ ประกอบด้วย "โมดูลผสาน" และนามสกุลไฟล์pcpใช้สำหรับ "คุณสมบัติการสร้างแพทช์" [ 6 ] Windows Installer มีการเปลี่ยนแปลงที่สำคัญจาก Setup API ซึ่งเป็นรุ่นก่อนหน้า คุณสมบัติใหม่ๆ ได้แก่เฟรมเวิร์กอินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI) และการสร้างลำดับ การถอน การติดตั้ง โดยอัตโนมัติ Windows Installer ถูกวางตำแหน่งให้เป็นทางเลือกแทนเฟรมเวิร์กตัวติดตั้งแบบสแตนด์อะโลน เช่นInstallShield เวอร์ชันเก่า และNullsoft Scriptable Install System (NSIS)
ก่อนการเปิดตัว Windows Installer นั้น Windows Setup API สามารถใช้งานได้ในWindows 3.xและWindows 9x Setup API สามารถคัดลอกไฟล์ รวมถึง อัปเดต ไฟล์ INIหรือWindows Registryได้ ตั้งแต่ Windows 2000 เป็นต้นมา แนะนำให้ใช้ Windows Installer ในการติดตั้งแอปพลิเคชัน และยังคงใช้ Setup API ในการติดตั้งไดรเวอร์อุปกรณ์[ 7 ]
ก่อนการเปิดตัวMicrosoft Store (ซึ่งในขณะนั้นเรียกว่า Windows Store) ไมโครซอฟต์สนับสนุนให้บุคคลที่สามใช้ Windows Installer เป็นพื้นฐานสำหรับเฟรมเวิร์กการติดตั้ง เพื่อให้สามารถซิงโครไนซ์กับตัวติดตั้งอื่นๆ ได้อย่างถูกต้อง และรักษาความสอดคล้องของฐานข้อมูลภายในของผลิตภัณฑ์ที่ติดตั้ง คุณสมบัติที่สำคัญ เช่นการย้อนกลับและการกำหนดเวอร์ชันขึ้นอยู่กับฐานข้อมูลภายในที่สอดคล้องกันเพื่อให้การทำงานน่าเชื่อถือ นอกจากนี้ Windows Installer ยังอำนวยความสะดวกในหลักการของสิทธิ์ขั้นต่ำสุดโดยการติดตั้งซอฟต์แวร์ผ่านพร็อกซีสำหรับผู้ใช้ที่ไม่มีสิทธิ์
โครงสร้างเชิงตรรกะของแพ็กเกจ
แพ็กเกจหมายถึงการติดตั้งผลิตภัณฑ์ แบบเต็มรูปแบบอย่างน้อยหนึ่งรายการ และโดยทั่วไปจะระบุด้วยGUIDผลิตภัณฑ์ประกอบด้วยส่วนประกอบต่างๆซึ่งจัดกลุ่มเป็นฟีเจอร์ต่างๆ Windows Installer ไม่จัดการความสัมพันธ์ระหว่างผลิตภัณฑ์ต่างๆ
สินค้า
โปรแกรมที่ติดตั้งและใช้งานได้จริงเพียงโปรแกรมเดียว (หรือชุดของโปรแกรม) ถือเป็นผลิตภัณฑ์ผลิตภัณฑ์จะถูกระบุด้วย GUID ที่ไม่ซ้ำกัน (คุณสมบัติ ProductCode) ซึ่งให้ข้อมูลระบุตัวตนที่เชื่อถือได้ทั่วโลก GUID เมื่อรวมกับหมายเลขเวอร์ชัน (คุณสมบัติ ProductVersion) จะช่วยให้สามารถจัดการการเผยแพร่ไฟล์และคีย์รีจิสทรีของผลิตภัณฑ์ได้
แพ็กเกจประกอบด้วยตรรกะของแพ็กเกจและข้อมูลเมตา อื่นๆ ที่เกี่ยวข้องกับวิธีการทำงานของแพ็กเกจเมื่อรัน ตัวอย่างเช่น การเปลี่ยนแปลงไฟล์ EXEในผลิตภัณฑ์อาจต้องเปลี่ยน ProductCode หรือ ProductVersion สำหรับการจัดการการเผยแพร่ อย่างไรก็ตาม การเปลี่ยนแปลงหรือเพิ่มเงื่อนไขการเปิดใช้งาน (โดยที่ผลิตภัณฑ์ยังคงเหมือนกับเวอร์ชันก่อนหน้าทุกประการ) ก็ยังคงต้องเปลี่ยน PackageCode สำหรับการจัดการการเผยแพร่ไฟล์ MSI อยู่ดี
คุณสมบัติ
ฟีเจอร์ คือกลุ่มของส่วนประกอบที่มีลำดับชั้น ฟีเจอร์ หนึ่งอาจประกอบด้วยส่วนประกอบและฟีเจอร์ย่อยอื่นๆ ได้มากมาย แพ็กเกจขนาดเล็กอาจประกอบด้วยฟีเจอร์เดียวเท่านั้น โปรแกรมติดตั้งที่ซับซ้อนกว่าอาจแสดงกล่องโต้ตอบ "การตั้งค่าแบบกำหนดเอง" ซึ่งผู้ใช้สามารถเลือกฟีเจอร์ที่จะติดตั้งหรือลบออกได้
ผู้พัฒนาโปรแกรมจะเป็นผู้กำหนดคุณสมบัติของผลิตภัณฑ์ ตัวอย่างเช่น โปรแกรมประมวลผลคำอาจจัดไฟล์หลักของโปรแกรมไว้ในคุณสมบัติหนึ่ง และไฟล์ช่วยเหลือ โปรแกรมตรวจสอบการสะกดคำ (ถ้ามี) และโมดูลเครื่องเขียนไว้ในคุณสมบัติเพิ่มเติม
ส่วนประกอบ
ส่วนประกอบคือหน่วยพื้นฐานของผลิตภัณฑ์ Windows Installer จะถือว่าแต่ละส่วนประกอบเป็นหน่วยหนึ่ง ตัวติดตั้งไม่สามารถติดตั้งเพียงบางส่วนของส่วนประกอบได้[ 8 ] ส่วนประกอบสามารถประกอบด้วยไฟล์โปรแกรมโฟลเดอร์ส่วนประกอบCOM คีย์ รีจิสทรีและทางลัดผู้ใช้ไม่ได้โต้ตอบกับส่วนประกอบ โดยตรง
ส่วนประกอบต่างๆ จะถูกระบุทั่วโลกด้วย GUID ดังนั้นส่วนประกอบเดียวกันจึงสามารถใช้ร่วมกันได้ในหลายฟีเจอร์ของแพ็กเกจเดียวกันหรือหลายแพ็กเกจ โดยในอุดมคติแล้วจะใช้ผ่านการใช้Merge Modules
เส้นทางหลัก
เส้นทางคีย์ (Key path)คือไฟล์ รีจิสทรีคีย์ หรือ แหล่งข้อมูล ODBC เฉพาะ ที่ผู้เขียนแพ็กเกจระบุว่าเป็นสิ่งสำคัญสำหรับส่วนประกอบนั้นๆ เนื่องจากไฟล์เป็นประเภทของเส้นทางคีย์ที่พบได้บ่อยที่สุด จึงมักใช้คำว่า ไฟล์คีย์ส่วนประกอบหนึ่งๆ สามารถมีเส้นทางคีย์ได้มากที่สุดหนึ่งเส้นทาง หากส่วนประกอบไม่มีเส้นทางคีย์ที่ระบุไว้อย่างชัดเจน โฟลเดอร์ปลายทางของส่วนประกอบนั้นจะถือเป็นเส้นทางคีย์ เมื่อโปรแกรมที่ใช้ MSI ถูกเรียกใช้งาน Windows Installer จะตรวจสอบการมีอยู่ของเส้นทางคีย์ หากมีความคลาดเคลื่อนระหว่างสถานะระบบปัจจุบันกับค่าที่ระบุไว้ในแพ็กเกจ MSI (เช่น ไฟล์คีย์หายไป) ฟีเจอร์ที่เกี่ยวข้องจะถูกติดตั้งใหม่ กระบวนการนี้เรียกว่าการแก้ไขตัวเองหรือการซ่อมแซมตัวเองส่วนประกอบสองส่วนไม่ควรใช้เส้นทางคีย์เดียวกัน
การพัฒนาแพ็กเกจติดตั้ง
การสร้างแพ็กเกจตัวติดตั้งสำหรับแอปพลิเคชันใหม่นั้นไม่ใช่เรื่องง่าย จำเป็นต้องระบุว่าไฟล์ใดบ้างที่จะต้องติดตั้ง ไปยังตำแหน่งใด และใช้คีย์รีจิสทรีใดบ้าง การดำเนินการที่ไม่เป็นไปตามมาตรฐานใดๆ สามารถทำได้โดยใช้ Custom Actions ซึ่งโดยทั่วไปจะพัฒนาในDLLsมีผลิตภัณฑ์เชิงพาณิชย์และฟรีแวร์จำนวนมากที่ช่วยในการสร้างแพ็กเกจ MSI รวมถึงVisual Studio (ใช้งานได้กับ VS 2010 โดยตรง พร้อมส่วนขยายสำหรับ VS เวอร์ชันใหม่กว่า), InstallShield (พัฒนาโดย Revenera), [ 9 ] WiX , InnoSetup , InstallSimple และ Advanced Installer อินเทอร์เฟซผู้ใช้และพฤติกรรมอาจได้รับการกำหนดค่าในระดับต่างๆ เพื่อใช้ในสถานการณ์ที่ไม่ค่อยพบเห็น เช่น การติดตั้งแบบอัตโนมัติ เมื่อเตรียมเสร็จแล้ว แพ็กเกจตัวติดตั้งจะถูก "คอมไพล์" โดยการอ่านคำแนะนำและไฟล์จากเครื่องโลคัลของนักพัฒนา และสร้างไฟล์ .msi
Windows Installer อาจช้ากว่าเทคโนโลยีการติดตั้งโค้ดดั้งเดิม เช่นInstallAware [ 10 ]เนื่องจากภาระในการลงทะเบียนส่วนประกอบและการสนับสนุนการย้อนกลับ ซึ่งมักเกี่ยวข้องกับการสร้างคีย์รีจิสทรีและไฟล์ชั่วคราวหลายหมื่น รายการ
ส่วนติดต่อผู้ใช้ (กล่องโต้ตอบ) ที่แสดงขึ้นในตอนเริ่มต้นการติดตั้ง สามารถเปลี่ยนแปลงหรือกำหนดค่าได้โดยวิศวกรผู้พัฒนาโปรแกรมติดตั้งใหม่ มีภาษาที่จำกัดสำหรับปุ่ม ช่องข้อความ และป้ายกำกับ ซึ่งสามารถจัดเรียงตามลำดับของกล่องโต้ตอบได้ แพ็คเกจโปรแกรมติดตั้งควรสามารถทำงานได้โดยไม่ต้องมีส่วนติดต่อผู้ใช้ใดๆ สำหรับสิ่งที่เรียกว่า "การติดตั้งแบบอัตโนมัติ"
การตรวจสอบความถูกต้องของ ICE
Microsoft มีชุดประเมินความสอดคล้องภายใน (ICE) ที่สามารถใช้ตรวจจับปัญหาที่อาจเกิดขึ้นกับฐานข้อมูล MSI ได้[ 11 ]กฎ ICE จะถูกรวมเข้าไว้ในไฟล์ CUB ซึ่งเป็นไฟล์ MSI ที่ถูกตัดทอนซึ่งมีแอ็กชันแบบกำหนดเองที่ทดสอบเนื้อหาของฐานข้อมูล MSI เป้าหมายสำหรับคำเตือนและข้อผิดพลาดในการตรวจสอบความถูกต้อง การตรวจสอบความถูกต้องของ ICE สามารถทำได้ด้วยเครื่องมือ Platform SDK อย่าง Orca และ msival2 หรือด้วยเครื่องมือตรวจสอบความถูกต้องที่มาพร้อมกับสภาพแวดล้อมการเขียนต่างๆ
ตัวอย่างเช่น กฎ ICE บางข้อมีดังนี้:
- ICE09: ตรวจสอบว่าส่วนประกอบใดๆ ที่มีไว้สำหรับโฟลเดอร์ระบบนั้นถูกทำเครื่องหมายว่าเป็นแบบถาวรแล้ว
- ICE24: ตรวจสอบว่ารหัสผลิตภัณฑ์ เวอร์ชันผลิตภัณฑ์ และภาษาของผลิตภัณฑ์มีรูปแบบที่เหมาะสม
- ICE33: ตรวจสอบว่าตาราง Registry ไม่ได้ถูกใช้สำหรับข้อมูลที่เหมาะสมกับตารางอื่นมากกว่า (เช่น Class, Extension, Verb เป็นต้น)
การจัดการกับคำเตือนและข้อผิดพลาดในการตรวจสอบความถูกต้องของ ICE เป็นขั้นตอนสำคัญในกระบวนการเผยแพร่ซอฟต์แวร์
เวอร์ชัน
| เวอร์ชั่น | รวมอยู่กับ[ 1 ] | มีจำหน่ายสำหรับ |
|---|---|---|
| 1.0 | สำนักงาน 2000 | ไม่มีข้อมูล |
| 1.1 | Windows 2000 (RTM, SP1 และ SP2) | Windows 95 Windows NT 4.0 Windows 98 |
| 1.2 | วินโดวส์ มี | ไม่มีข้อมูล |
| 2.0 | Windows 2000 (SP3+) Windows XP (RTM & SP1) Windows Server 2003 (RTM) | Windows 95 Windows NT 4.0 Windows 98 Windows 2000 Windows Me |
| 3.0 | ระบบปฏิบัติการ Windows XP (SP2) | Windows 2000 (SP3+) Windows XP Windows Server 2003 |
| 3.1 | Windows XP (SP3) Windows Server 2003 (SP1+) Windows XP รุ่น 64 บิต | |
| 4.0 | Windows Vista (RTM & SP1) Windows Server 2008 (RTM) | ไม่มีข้อมูล |
| 4.5 [ 13 ] | ระบบ ปฏิบัติการ Windows Vista (SP2) และWindows Server 2008 (SP2) | Windows XP (SP2+) Windows Server 2003 (SP1+) Windows XP x64 Edition Windows Vista Windows Server 2008 [ 14 ] |
| 5.0 | Windows 7หรือเวอร์ชันที่ใหม่กว่าWindows Server 2008 R2หรือเวอร์ชันที่ใหม่กว่า | ไม่มีข้อมูล |
ดูเพิ่มเติม
- APPX – รูปแบบแพ็กเกจซอฟต์แวร์ที่ใช้ใน Windows Store ของ Microsoft
- App-V – รูปแบบแพ็กเกจซอฟต์แวร์ที่ใช้สำหรับการจำลองเสมือนและการสตรีมมิ่ง
- .exe
- รายชื่อซอฟต์แวร์สำหรับการติดตั้ง
- ระบบจัดการพัสดุ
- ตัวจัดการแพ็กเกจ Windows
- ไฟล์ ZAP – วิธีการติดตั้งแอปพลิเคชันในกรณีที่ไม่มีไฟล์ MSI