با کمی XML می توانید به طور خودکار ایجاد نصب کننده های ویندوز را برای کد خود، درست از خط لوله CI/CD خود انجام دهید.
همه برنامه های ویندوز باید نصب شوند. مطمئناً، شما فقط میتوانید باینریها و داراییهای خود را در یک فایل فشرده بپیچید و نصب را به عنوان تمرینی برای کاربران خود بگذارید، اما این بدان معناست که بعید به نظر میرسد که آنها هرگز بازگردند. اینجاست که ابزارهای مختلف بستهبندی و نصب ویندوز وارد میشوند و راهی برای ساخت فایلهای اجرایی به شما میدهند که تمام عناصر مختلف کد شما را در مکان مناسبی در نصب ویندوز قرار میدهند، و اطمینان حاصل میکنند که تمام وابستگیهای لازم و آیکونها و میانبرها نصب شدهاند. در منوی شروع، آماده رفتن هستند.
در مورد ساختن یک نصاب چگونه اقدام می کنید؟ بسیاری از ابزارهای موجود از ابزارهای استاندارد بستهبندی Windows Installer بهره میبرند، اما انجام درست آن پیکربندی میتواند سخت باشد، به خصوص زمانی که در حال بستهبندی قسمت نهایی فرآیند ساخت CI/CD (ادغام پیوسته و تحویل مداوم) هستید. هنگامی که کد، مصنوعات و وابستگیهای شما از ساختی به ساخت دیگر تغییر میکنند، به یک محیط پیکربندی قابل اسکریپت نیاز دارید که بتواند توسط ابزارهای ساخت شما مدیریت شود و در محیط توسعه و مخزن کد شما یکپارچه شود.
اولین ابزار منبع باز مایکروسافت برای توسعه دهندگان بود
در اینجاست که WiX، مجموعه ابزار Windows Installer XML وارد عمل میشود. این برای مدت طولانی در داخل مایکروسافت مورد استفاده قرار گرفته است و به عنوان اولین نسخه منبع باز آن در سال ۲۰۰۴ با استفاده از مجوز عمومی مشترک، تاریخ ساز شد، در نهایت توسط بنیاد Outercurve قبل از انتقال به بنیاد دات نت مدیریت شد. توسعه در طول آن دوره ادامه داشت، با راه اندازی پروژه FireGiant برای ارائه پشتیبانی تجاری و ابزارهای اضافی.
در قلب خود، WiX XML است که به عنوان کد اعلامی استفاده میشود که به عنوان منبع برای نصبکنندگان ساختمان در نظر گرفته میشود. میتوانید ابزارهای WiX را در ویژوال استودیو نصب کنید و یک نصبکننده در کنار برنامهتان بنویسید، با استفاده از همان ابزارهای کنترل منبع و ساخت برای ارسال یک بسته قابل نصب. با پشتیبانی از پیکربندی برنامه و ویندوز و قابلیت کار با ابزارهای سرور مانند IIS و SQL Server، میتواند بیشتر از Windows Installer اصلی انجام دهد. بهعلاوه، میتواند بستههای راهاندازی پیچیدهای ایجاد کند که وابستگیها و پیشنیازها را مدیریت میکند، و اطمینان حاصل میکند که کد شما پس از نصب همه چیزهایی را که برای اجرا نیاز دارد، دارد.
نسخه پایدار فعلی WiX نسخه ۳.۱۱.۲ است که از سال ۲۰۱۹ در دسترس است. این شکاف به دلیل تمرکز تیم توسعه بر روی نسخه جدید با معماری جدید است. پیشنمایش WiX 4.0 اکنون در دسترس است a> و ارزش بررسی را دارد. ساخته شده بر روی دات نت مدرن، برای استفاده در محیط مدرن CI/CD مناسب تر است. همه چیز از خط فرمان دات نت اجرا می شود و به شما این امکان را می دهد که به سرعت آن را در اسکریپت ها و اکشن ها بسازید. به عنوان بخشی از خط لوله Azure DevOps یا در یک GitHub Action کار می کند. یک درخواست کشش جدید را به شعبه ارسال کنید و یک نصب کننده آماده برای اجرا دریافت کنید.
دانلود و نصب WiX
میتوانید نسخه فعلی مجموعه ابزار WiX را از GitHub بارگیری کنید جایی که بیشتر توسعه رخ می دهد. مخازنی برای مجموعه ابزار، افزونه ویژوال استودیو و ابزارهای اصلی وجود دارد که به عنوان بخشی از پلتفرم ارسال می شوند. این مجموعه نسبتاً فعالی از مخازن است، با اکثر ابزارهای فعلی در حالت تعمیر و نگهداری در حالی که بیشتر کار به WiX 4 آینده میرود.
WiX یک برنامه دات نت است که به زبان C# نوشته شده است. در حال حاضر از .NET Framework استفاده می کند، با WiX 4 در حال توسعه که به پلتفرم جدید دات نت مهاجرت می کند، نیاز به حداقل NET Core نسخه ۳.۱. نسخه جدید همچنین ابزارهای مختلف WiX مانند شمع و نور را در یک ابزار خط فرمان واحد آورده است. اکنون از خط فرمان دات نت به عنوان ابزار دات نت نصب می شود.
ساخت توضیحات نصب کننده در WiX
در حال حاضر، احتمالاً از WiX 3.x استفاده میکنید. این یک راه خوب برای آشنایی با سینتکس اصلی XML است که برای ساختن نصب کننده ها استفاده می شود. اگرچه تغییراتی بین نسخهها وجود دارد، استفاده از نسخه پایدار به شما زمینه مناسب و مجموعهای از فایلهای نصبکننده را میدهد که میتوان با رسیدن نسخه جدید ارتقا داد.
WiX از XML برای تعریف ساختار یک برنامه نصب شده با استفاده از تعاریف مورد انتظار Windows Installer استفاده می کند. شما باید با تعریف دایرکتوریهایی که توسط برنامهتان استفاده میشوند شروع کنید، کار با ساختار فایل های برنامه پیش فرض ویندوز. میتوانید سلسله مراتبی از فهرستها را برای فایلهای بستهبندی شده با برنامه خود در اینجا ایجاد کنید، نامها را تنظیم کنید و همچنین نحوه ایجاد دایرکتوریها روی دیسک را نشان دهید.
هنگامی که دایرکتوری هدف خود را مشخص کردید، می توانید یک لیست XML از دارایی های برنامه خود ایجاد کنید. هر فایل به مرجع مؤلفه خود به همراه GUID نیاز دارد. GUID ها مهم هستند، زیرا WiX از آنها برای مدیریت به روز رسانی ها استفاده می کند. اجزای اجرایی را میتوان همراه با یک چکسوم ذخیره کرد که فایلها را در هنگام نصب تأیید میکند.
Windows Installer برای کار با بسیاری از فایلها طراحی شده است، بنابراین در نهایت باید فهرست طولانی از اجزا ایجاد کنید. در عمل، شما باید این کار را خودکار کنید، یا با استفاده از پسوند WiX در ویژوال استودیو یا داشتن یک برنامه رجیستری کامپوننت که می تواند XML مناسب را برای شما ایجاد کند. این می تواند به سادگی یک صفحه گسترده اکسل با ابزارهای XML داخلی آن باشد.
سایر عناصر XML برای تعریف و نوشتن کلیدهای رجیستری، تعریف ریشه و کلید، با مقادیر مناسب. ورودیهای رجیستری بهعنوان مؤلفهها در نظر گرفته میشوند، بنابراین به یک GUID همراه با محتوایشان نیاز دارند.
کار با افزونه WiX Visual Studio
استفاده از افزونه ویژوال استودیو می تواند در زمان زیادی صرفه جویی کند. می توانید یک پروژه جدید در راه حل خود برای نصب کننده XML ایجاد کنید. شما می توانید با چیزی به سادگی اضافه کردن یک مرجع به یک برنامه و یک خط کد در پروژه WiX خود شروع کنید. پس از ساخته شدن، نصب کننده شما را ایجاد می کند که آماده استفاده است. ابزار ویژوال استودیو WiX گزینه ای از متغیرهای مختلف را پشتیبانی می کند که می توانند از قبل پر شوند نصب کننده XML از طرف دیگر، میتوانید از آن برای ساخت ابزارهای سفارشی خود استفاده کنید.
یکی از ویژگی های مفید WiX کامپایلر آن است که می تواند با هر بسته Windows Installer استفاده شود. این برنامه نصب کننده شما را می گیرد و کد WiX را تولید می کند که می تواند کامپایل و آزمایش شود. این ابزار خوبی برای داشتن است زیرا میتواند نصبکنندههای موجود ساختهشده از ابزارهای دیگر را به محیط WiX شما بیاورد و آماده استفاده برای بهروزرسانیها و نسخههای جدید باشد.
ابزارهایی مانند WiX نشان میدهند که مایکروسافت و جامعه منبع باز میتوانند با هم کار کنند تا ابزارهایی بسازند که همه بتوانند از آن استفاده کنند. بدیهی است که هنوز نسخههای WiX داخلی برای مقابله با مقیاس پروژههای مایکروسافت مانند ویندوز وجود دارد، اما ابزارهای عمومی ساخت و مدیریت نصب کننده را بسیار ساده میکنند. ابزارهای جدید مبتنی بر خط فرمان در WiX 4 (و حرکت به سمت ابزارهای دات نت چند پلتفرمی و متقابل پردازشگر) باید خودکار کردن کار با نصب کننده ها را بسیار آسان تر کند و آنها را به انتهای پیش فرض خط لوله CI/CD برنامه ویندوز تبدیل کند. .
پست های مرتبط
استفاده از WiX برای ساخت نصب کننده های ویندوز
استفاده از WiX برای ساخت نصب کننده های ویندوز
استفاده از WiX برای ساخت نصب کننده های ویندوز