چگونه برنامه setup بسازیم (قسمت اول)
در مقاله بعد به توضیح بقیه موارد و همچنین نحوه ایجاد برنامه نصب با استفاده از ClickOnce خواهیم پرداخت.
برنامه نصب امكانات زیادی از قبیل ثبت مواردی در رجیستری در هنگام نصب و قرار دادن آیكون برنامه در منوی استارت و غیره را برای استقرار پروژه روی دیگر کامپیوترها فراهم میآورد و بخشهای مختلف برنامه را به صورت منظم در جایگاههای خاصی كه ما تعیین میكنیم، قرار میدهد. بدون آنكه نیاز باشد ما به عنوان تولید كننده پروژه، كوچكترین كاری روی كامپیوتر كاربر انجام دهیم.
تصور كنید بدون امكان ایجاد برنامههای نصب چه اتفاقی میافتاد؟ آن گاه برای اجرای پروژه روی دستگاه كاربر، برنامهنویس مجبور بود فایل EXE برنامه را به همراه كلیه فایلهای مورد نیاز آن در یك فولدر قرار داده و آن را در اختیار كاربر قرار دهد و از او بخواهد تغییرات لازم را در رجیستری انجام دهد و فایلهای مورد نظر را در مکانهای خاص کپی کند. همچنین عزل برنامه (Uninstall) نیز به کاری زمانبر و طاقتفرسا تبدیل میشد.
در این حالت بسیاری از اختیارات برنامهنویس از او سلب میشد. چرا كه دیگر برنامهنویس قادر نبود فایلهای اجرایی برنامه را به طور اتوماتیك جزو پوشههای برنامه موجود در ProgramFiles و یا هر جای مهم دیگر در دستگاه مقصد قرار دهد. در برخی موارد نیز مجبور میشد به طور دستی فونتهایی را در كامپیوتر کاربر نصب كند. اما با وجود برنامههای نصب، كار برنامهنویس و تولیدكنندگان نرمافزار در انتقال پروژه به كاربر بسیار آسان شده و دست آنها نیز در ترتیب نصب در دستگاه کاربران بسیار بازتر است.
اما ویژوال استودیو یك نوع پروژه به نام SetupProject در اختیار برنامهنویسان میگذارد كه توسط آن میتوان برنامه نصب ایجاد كرد. این نوع پروژه از جنس MSI است و تنها از بخشی از امکانات آن برای ایجاد برنامههای نصب استفاده میکند. با استفاده از آن، میتوان برنامههای نصب ساده و با امكانات كم را در مدت زمان كوتاه و به سهولت ساخت. این نوع پروژه امكانات ابتدایی مورد نیاز یك برنامهنویس را در اختیار او قرار میدهد، اما برای كسانی كه میخواهند یك برنامه نصب پیشرفته بسازند، توصیه میشود از برنامه معروف InstallShield استفاده كنند.
پروژه Setup موجود در ویژوال استودیو نیز راه حلی مناسب برای برخی برنامهنویسان است. از امكانات جالب آن میتوان به این موضوع اشاره کرد که نسبت به نسخه برنامه هوشمند عمل میكند. به این معنی كه اگر كاربر قبلا یك نسخه قدیمیتر از برنامه را روی سیستم خود نصب كرده باشد، هنگام نصب نسخه جدید، برنامه نصب آن را تشخیص داده و به كاربر پیغام میدهد تا ابتدا نسخه قدیمی را حذف نماید و سپس نسخه جدید را نصب کند. اما این پروژه نقاط ضعفی نیز دارد؛ مثلا قبل از اجرای نصب برنامه حتما باید داتنت روی دستگاه کاربر نصب شده باشد و در غیر این صورت برنامه نصب عمل نخواهد كرد. عیب بزرگ دیگر آن این است كه اگر به طور مثال پروژه ما برای یك سازمان بزرگ با تعداد زیادی كاربر نوشته شده باشد، با هر تغییر در كد، باید برنامه تغییر یافته روی تكتك كامپیوترهای سازمان مجددا نصب شود که این كاری زمانبر و طاقتفرساست.
مهمتر آنكه اگر به هر دلیل فراموش شود برنامه جدید روی كامپیوتر اشخاص نصب شود، این افراد با نسخه قدیمی كار خواهند كرد و برنامه آنها هیچگاه از وجود نسخه جدید مطلع نخواهد شد.
این بود كه شركت مایكروسافت در سال 2005 فناوری جدید برنامههای نصب خود را با نام ClickOnce ارایه كرد. همانطور كه از نام این فناوری پیداست، نحوه كار با آن بسیار آسان است و یكی از دلایل استقبال کاربران نیز همین سهولت استفاده از آن است. البته Click Once بسیاری از قابلیتهای MSI را ندارد، اما به دلیل برخورداری از امكاناتی جدید و سهولت كار، در مدت زمان كوتاهی كه به دنیای كامپیوتر راه پیدا كرده توجه بسیاری را به خود جلب كرده است و به نظر میرسد سرانجام جانشین MSI خواهد شد.
ClickOnce این امكان را برای برنامهنویس فراهم میآورد كه در هنگام نصب ابتدا ارتباط با اینترنت و یا اینترانت کنترل شود، سپس برنامه اجرا شود و در غیر این صورت مانع از نصب برنامه شود. این حالت در زمانی مفید است كه برنامه ما از یك XML Web Service در اینترنت یا شبكه محلی استفاده کند.
از دیگر امكانات بسیار مفید این فناوری آن است كه میتوان یك آدرس فیزیكی روی دستگاه محلی و یا آدرس FTP یا آدرس اینترنتی را مشخص كرد تا برنامه قبل از هر بار اجرا، ابتدا به آن جا مراجعه كرده و اگر نسخه جدیدی موجود بود، به طور خودکار آن را دریافت و نصب کند.
Solution Explorer دکمههایی ظاهر میشود (شكل 3). با كلیك روی هر یك از این دکمهها یك پنجره باز میشود كه كار خاصی را به عهده دارد. به این پنجرهها View یا نما گفته میشود. در داخل هر View تنظیمات مربوط به یكی از مراحل Setup انجام میگیرد. نماهای موجود در ویژوال استودیو عبارتند از موارد زیر كه به ترتیب به آنها میپردازیم.
File System Editor
Registry Editor
File Types Editor
User Interface Editor
Custom Actions Editor
Launch Conditions Editor
Application Folder
User’s Desktop
User’s Programs Menu
هر یک از این زیرشاخهها به یكی از پوشههای دستگاه كاربر اشاره دارد. Application Folder فولدری است كه برنامهنویس میخواهد برنامه اصلی در كامپیوتر كاربر در آن جای بگیرد كه به طور پیشفرض C:\Program Files است. User’s Desktop اشاره به دسکتاپ كاربر دارد كه آدرس آن در Profile كاربر قرار دارد. معمولا' یك Shortcut از فایل اجرایی برنامه روی دسکتاپ كاربر گذاشته میشود. User’s Program Menu نیز به فولدر Programs در منوی Start اشاره میكند.
به طور معمول فایل اجرایی برنامهامان (كه پس از Build كردن پروژه در فولدر برنامه و در فولدر Debug داخل فولدر Bin قرار میگیرد) را به Application Folder افزوده و یك Shortcut از آن را در User’s Desktop اضافه میكنیم كه در مقاله شماره بعدی به توضیح كامل آن خواهیم پرداخت.
با انتخاب این نما تمامی ساختار رجیستری به شما نشان داده خواهند شد. میتوان با كلیك راست روی هر یك و انتخاب گزینه New زیرشاخه مورد نظر را در آن ایجاد کرد. تمامی این تغییرات در هنگام نصب در رجیستری كامپیوتر كاربر و در محلهای تعیین شده اعمال میشوند.
با انتخاب این نما یك ریشه با نام File Types On Target Machine ایجاد خواهد شد. با كلیك راست روی آن و انتخاب گزینه Add File Type میتوان یك پسوند به آن اضافه کرد (شکل 5). ابتدا باید پسوند را به همراه علامت '.' وارد کنید (مثلا .xyz یا .abc). سپس میتوان با كلیك روی این پسوند و مراجعه به پنجره Properties برای پسوند مورد نظر آیكون تعیین كرده و از طریق مشخصه Command و با انتخاب فایل اجرایی برنامه از داخل Application Folder تعیین کنید كه با اجرای هر فایل با این پسوند، چه برنامهای اجرا شود.
پنجرههای موجود در برنامه ایجاد Setup در داتنت محدود و ثابت بوده و قدرت چندانی ندارند. اما توسط برنامه Install Shield خودمان میتوانیم پنجرههای دلخواه و با خصیصههای زیاد بسازیم.
پس از اتمام عملیات مورد نظر روی پروژه نصب، در پنجره Solution Explorer كلیك راست كرده و آن را Build میكنیم. با این كار 2 فایل در آدرس برنامه روی هارددیسك در داخل پوشه مربوط به پروژه نصب و در پوشه Debug درون پوشه Bin ایجاد میشوند. یكی با پسوند MSI است كه همان فایل نصب برنامه بوده و فایل دیگر نیز با پسوند EXE است كه آن هم فایل MSI را اجرا میكند. این دو همان فایلهایی هستند كه در اختیار كاربر قرار میدهیم تا توسط آنها بتواند برنامه ما را روی كامپیوتر خود نصب كند.
منبع:تبيان زنجان
ارسال توسط کاربر محترم سایت : mohamadaminsh
مقدمه
برنامه Setup چیست؟
برنامه نصب امكانات زیادی از قبیل ثبت مواردی در رجیستری در هنگام نصب و قرار دادن آیكون برنامه در منوی استارت و غیره را برای استقرار پروژه روی دیگر کامپیوترها فراهم میآورد و بخشهای مختلف برنامه را به صورت منظم در جایگاههای خاصی كه ما تعیین میكنیم، قرار میدهد. بدون آنكه نیاز باشد ما به عنوان تولید كننده پروژه، كوچكترین كاری روی كامپیوتر كاربر انجام دهیم.
تصور كنید بدون امكان ایجاد برنامههای نصب چه اتفاقی میافتاد؟ آن گاه برای اجرای پروژه روی دستگاه كاربر، برنامهنویس مجبور بود فایل EXE برنامه را به همراه كلیه فایلهای مورد نیاز آن در یك فولدر قرار داده و آن را در اختیار كاربر قرار دهد و از او بخواهد تغییرات لازم را در رجیستری انجام دهد و فایلهای مورد نظر را در مکانهای خاص کپی کند. همچنین عزل برنامه (Uninstall) نیز به کاری زمانبر و طاقتفرسا تبدیل میشد.
در این حالت بسیاری از اختیارات برنامهنویس از او سلب میشد. چرا كه دیگر برنامهنویس قادر نبود فایلهای اجرایی برنامه را به طور اتوماتیك جزو پوشههای برنامه موجود در ProgramFiles و یا هر جای مهم دیگر در دستگاه مقصد قرار دهد. در برخی موارد نیز مجبور میشد به طور دستی فونتهایی را در كامپیوتر کاربر نصب كند. اما با وجود برنامههای نصب، كار برنامهنویس و تولیدكنندگان نرمافزار در انتقال پروژه به كاربر بسیار آسان شده و دست آنها نیز در ترتیب نصب در دستگاه کاربران بسیار بازتر است.
فناوریهای Setup
اما ویژوال استودیو یك نوع پروژه به نام SetupProject در اختیار برنامهنویسان میگذارد كه توسط آن میتوان برنامه نصب ایجاد كرد. این نوع پروژه از جنس MSI است و تنها از بخشی از امکانات آن برای ایجاد برنامههای نصب استفاده میکند. با استفاده از آن، میتوان برنامههای نصب ساده و با امكانات كم را در مدت زمان كوتاه و به سهولت ساخت. این نوع پروژه امكانات ابتدایی مورد نیاز یك برنامهنویس را در اختیار او قرار میدهد، اما برای كسانی كه میخواهند یك برنامه نصب پیشرفته بسازند، توصیه میشود از برنامه معروف InstallShield استفاده كنند.
پروژه Setup موجود در ویژوال استودیو نیز راه حلی مناسب برای برخی برنامهنویسان است. از امكانات جالب آن میتوان به این موضوع اشاره کرد که نسبت به نسخه برنامه هوشمند عمل میكند. به این معنی كه اگر كاربر قبلا یك نسخه قدیمیتر از برنامه را روی سیستم خود نصب كرده باشد، هنگام نصب نسخه جدید، برنامه نصب آن را تشخیص داده و به كاربر پیغام میدهد تا ابتدا نسخه قدیمی را حذف نماید و سپس نسخه جدید را نصب کند. اما این پروژه نقاط ضعفی نیز دارد؛ مثلا قبل از اجرای نصب برنامه حتما باید داتنت روی دستگاه کاربر نصب شده باشد و در غیر این صورت برنامه نصب عمل نخواهد كرد. عیب بزرگ دیگر آن این است كه اگر به طور مثال پروژه ما برای یك سازمان بزرگ با تعداد زیادی كاربر نوشته شده باشد، با هر تغییر در كد، باید برنامه تغییر یافته روی تكتك كامپیوترهای سازمان مجددا نصب شود که این كاری زمانبر و طاقتفرساست.
مهمتر آنكه اگر به هر دلیل فراموش شود برنامه جدید روی كامپیوتر اشخاص نصب شود، این افراد با نسخه قدیمی كار خواهند كرد و برنامه آنها هیچگاه از وجود نسخه جدید مطلع نخواهد شد.
این بود كه شركت مایكروسافت در سال 2005 فناوری جدید برنامههای نصب خود را با نام ClickOnce ارایه كرد. همانطور كه از نام این فناوری پیداست، نحوه كار با آن بسیار آسان است و یكی از دلایل استقبال کاربران نیز همین سهولت استفاده از آن است. البته Click Once بسیاری از قابلیتهای MSI را ندارد، اما به دلیل برخورداری از امكاناتی جدید و سهولت كار، در مدت زمان كوتاهی كه به دنیای كامپیوتر راه پیدا كرده توجه بسیاری را به خود جلب كرده است و به نظر میرسد سرانجام جانشین MSI خواهد شد.
ClickOnce این امكان را برای برنامهنویس فراهم میآورد كه در هنگام نصب ابتدا ارتباط با اینترنت و یا اینترانت کنترل شود، سپس برنامه اجرا شود و در غیر این صورت مانع از نصب برنامه شود. این حالت در زمانی مفید است كه برنامه ما از یك XML Web Service در اینترنت یا شبكه محلی استفاده کند.
از دیگر امكانات بسیار مفید این فناوری آن است كه میتوان یك آدرس فیزیكی روی دستگاه محلی و یا آدرس FTP یا آدرس اینترنتی را مشخص كرد تا برنامه قبل از هر بار اجرا، ابتدا به آن جا مراجعه كرده و اگر نسخه جدیدی موجود بود، به طور خودکار آن را دریافت و نصب کند.
از كجا باید شروع كرد؟
Solution Explorer دکمههایی ظاهر میشود (شكل 3). با كلیك روی هر یك از این دکمهها یك پنجره باز میشود كه كار خاصی را به عهده دارد. به این پنجرهها View یا نما گفته میشود. در داخل هر View تنظیمات مربوط به یكی از مراحل Setup انجام میگیرد. نماهای موجود در ویژوال استودیو عبارتند از موارد زیر كه به ترتیب به آنها میپردازیم.
File System Editor
Registry Editor
File Types Editor
User Interface Editor
Custom Actions Editor
Launch Conditions Editor
شکل 1
شکل 2
شکل 3
File System Editor
Application Folder
User’s Desktop
User’s Programs Menu
هر یک از این زیرشاخهها به یكی از پوشههای دستگاه كاربر اشاره دارد. Application Folder فولدری است كه برنامهنویس میخواهد برنامه اصلی در كامپیوتر كاربر در آن جای بگیرد كه به طور پیشفرض C:\Program Files است. User’s Desktop اشاره به دسکتاپ كاربر دارد كه آدرس آن در Profile كاربر قرار دارد. معمولا' یك Shortcut از فایل اجرایی برنامه روی دسکتاپ كاربر گذاشته میشود. User’s Program Menu نیز به فولدر Programs در منوی Start اشاره میكند.
شکل 4
به طور معمول فایل اجرایی برنامهامان (كه پس از Build كردن پروژه در فولدر برنامه و در فولدر Debug داخل فولدر Bin قرار میگیرد) را به Application Folder افزوده و یك Shortcut از آن را در User’s Desktop اضافه میكنیم كه در مقاله شماره بعدی به توضیح كامل آن خواهیم پرداخت.
Registry Editor
با انتخاب این نما تمامی ساختار رجیستری به شما نشان داده خواهند شد. میتوان با كلیك راست روی هر یك و انتخاب گزینه New زیرشاخه مورد نظر را در آن ایجاد کرد. تمامی این تغییرات در هنگام نصب در رجیستری كامپیوتر كاربر و در محلهای تعیین شده اعمال میشوند.
File Types Editor
با انتخاب این نما یك ریشه با نام File Types On Target Machine ایجاد خواهد شد. با كلیك راست روی آن و انتخاب گزینه Add File Type میتوان یك پسوند به آن اضافه کرد (شکل 5). ابتدا باید پسوند را به همراه علامت '.' وارد کنید (مثلا .xyz یا .abc). سپس میتوان با كلیك روی این پسوند و مراجعه به پنجره Properties برای پسوند مورد نظر آیكون تعیین كرده و از طریق مشخصه Command و با انتخاب فایل اجرایی برنامه از داخل Application Folder تعیین کنید كه با اجرای هر فایل با این پسوند، چه برنامهای اجرا شود.
شکل 5
User Interface Editor
پنجرههای موجود در برنامه ایجاد Setup در داتنت محدود و ثابت بوده و قدرت چندانی ندارند. اما توسط برنامه Install Shield خودمان میتوانیم پنجرههای دلخواه و با خصیصههای زیاد بسازیم.
پس از اتمام عملیات مورد نظر روی پروژه نصب، در پنجره Solution Explorer كلیك راست كرده و آن را Build میكنیم. با این كار 2 فایل در آدرس برنامه روی هارددیسك در داخل پوشه مربوط به پروژه نصب و در پوشه Debug درون پوشه Bin ایجاد میشوند. یكی با پسوند MSI است كه همان فایل نصب برنامه بوده و فایل دیگر نیز با پسوند EXE است كه آن هم فایل MSI را اجرا میكند. این دو همان فایلهایی هستند كه در اختیار كاربر قرار میدهیم تا توسط آنها بتواند برنامه ما را روی كامپیوتر خود نصب كند.
منبع:تبيان زنجان
ارسال توسط کاربر محترم سایت : mohamadaminsh
/ج