فایل MSI چیست؟
یک فایل MSI که برای نصب و راه اندازی برنامه های ویندوز استفاده می شود. یک بسته کامل برای مایکروسافت ویندوز که حاوی اطلاعات نصب برای یک نرم افزار معمولی، شامل فایل های ضروری برای نصب و اطلاعات مربوط به محل نصب است. فایلهای MSI ممکن است حاوی بستهای برای بهروزرسانی نرمافزار باشند. فایلهای MSI شبیه EXE هستند، اما گاهی اوقات EXE ممکن است شامل اطلاعات نصبکننده نباشد و برنامه نرمافزار ممکن است مستقیماً هنگام اجرای فایل EXE اجرا شود.
فرمت فایل MSI
Windows Installer در واقع یک API (Application Programming Interface) و جزء نرم افزاری Microsoft Windows است که برای نصب، حذف و نگهداری یک برنامه نرم افزاری استفاده می شود. اطلاعات نصب و فایلهای اختیاری بهعنوان بستههای نصب بستهبندی میشوند و پایگاهدادههای رابطهای ضعیفی که بهعنوان Storages ساختار یافته COM ساختار یافتهاند. معروف به فایل های MSI، دارای پسوند فایل msi. بستههای با پسوند فایل .mst حاوی اسکریپتهای تبدیل Windows Installer، فایلهای با پسوند .msm حاوی Merge Modules و پسوند فایل .pcp هستند. برای ویژگی های ایجاد پچ استفاده می شود. Windows Installer بعد از تغییرات قابل توجهی نسبت به نسخه های قبلی خود یعنی Setup API پیشرفته تر می شود. یک چارچوب رابط کاربری گرافیکی و تولید خودکار توالی un-installation از ویژگی های جدید Windows Installer هستند. اکنون به عنوان جایگزینی برای فریمورک های نصب کننده اجرایی مستقل در نظر گرفته شده است.
ساختار منطقی بسته های MSI
یک بسته نصب یک یا چند محصول کامل را مشخص می کند و به طور کلی توسط GUID شناسایی می شود. یک محصول از یک یا چند جزء تشکیل شده و به ویژگی های مختلف گروه بندی می شود. Windows Installer وابستگی بین محصولات مختلف را به طور همزمان مدیریت نمی کند. ساختار منطقی بسته ها از عناصر زیر تشکیل شده است:
- محصولات: یک برنامه واحد، نصب شده، در حال کار یا مجموعه ای از چندین برنامه که با هم ترکیب شده اند یک محصول است. یک محصول توسط یک GUID منحصر به فرد شناسایی می شود.
- ویژگی ها: ممکن است حاوی هر تعداد مؤلفه و سایر ویژگی های فرعی باشد. بسته های کوچکتر می توانند از یک ویژگی واحد تشکیل شوند.
- کامپوننت: کامپوننت توسط Windows Installer به عنوان یک واحد در نظر گرفته می شود. می تواند شامل فایل های برنامه، پوشه ها، کلیدهای رجیستری، اجزای COM و میانبرها باشد.
- Key Paths: A key path is a specific file, ODBC data source, or registry key that the package author specifies as critical for a given component.