چگونه برنامه setup بسازیم (قسمت 2)
مقدمه
Custom Actions Editor
شكل 1
1- Install
2- Commit
3- RollBack
4- Uninstall
با كلیك راست روی هر كدام از این پوشهها منویی باز میشود كه در آن دو گزینه به نامهای Add Custom Action و Paste وجود دارد. با انتخاب گزینه Add Custom Action، یك پنجره باز میشود كه در داخل آن فولدرهای اصلی دستگاه مقصد كه فایلهای برنامه ما در هنگام نصب در داخل آنها قرار داده میشوند، نمایش داده خواهند شد. مثلا User’s Desktop نشاندهنده دسکتاپ کامپیوتر کاربر است. با ورود به هر كدام و كلیك روی دكمه Add File كه در كنار این پنجره قرار دارد، میتوانید فایل دلخواه خود را در آن فولدر قرار دهید. این فایل در هنگام نصب در فولدر تعیین شده قرار خواهد گرفت. همچنین از طریق گزینه Paste میتوان فایلی را كه از روی هارددیسك كپی كردهایم، در فولدر مورد نظر قرار دهیم (شکل 2).
شكل 2
در بخش RollBack اعمالی را تعریف میكنیم كه اگر عملیات نصب با اشكال روبهرو شد و برنامه ما به درستی روی دستگاه مقصد نصب نشد، باید اجرا شوند.
همچنین در قسمت Uninstall نیز میتوانیم اعمالی یا برنامههایی را مشخص كنیم كه در هنگامی كه كاربر برنامه را عزل كرد انجام و اجرا شوند.
$Launch Conditions Editors
آخرین نمایی که بررسی میکنیم Launch Conditions Editor است. در این نما شرایط قبل از نصب تعیین میشود، به این ترتیب که مشخص میكنیم پیش از شروع نصب برنامه روی دستگاه كاربر، باید چه شرایطی مهیا باشد و چه پیشنیازهایی فراهم شده باشد تا برنامه بتواند نصب شود. برای مثال میتوان تعیین کرد كه اگر داتنت روی دستگاه كاربر نباشد، برنامه ما نصب نشود. هر چیزی كه در این قسمت قرار بگیرد، پیش از عملیات اصلی نصب كنترل میشود و در صورتی که رعایت نشده باشد، عملیات برنامه نصب متوقف خواهد شد. اگر روی این نما كلیك کنید، شكل 3 را مشاهده خواهید كرد.
شكل 3
گزینه دوم كلیك راست، Add Registry Search نام دارد و با آن میتوان وجود یك بخش در رجیستری ویندوز را كنترل كرد. در این قسمت میتوان یك آیتم اضافه کرد و Property آن را تنظیم نمود كه این خصیصهها به آدرس آیتم در رجیستری، كلید مورد نظر در آن ریشه و مقدار كلید اشاره میکنند. در مقاله رجیستری که در شماره 49 چاپ شد، به تفصیل به این موضوع پرداختهایم.
گزینه آخر در كلیك راست Add Windows Installer Search است و توسط آن میتوان وجود یك نسخه خاص از Windows Installer را برای شروع عملیات نصب كنترل کرد. در این مورد نیز میتوان با استفاده از خصیصهها شماره نسخه مورد نظر را تعیین كرد.
با كلیك راست روی زیرشاخه دوم (Launch Condition) یك گزینه با نام
Add Launch Condition نمایان خواهد شد كه توسط آن میتوانیم شرط جدیدی را تعریف كنیم كه وجود یك برنامه یا نسخهای از یك برنامه را در آدرسی اینترنتی كنترل كند. آدرس را توسط خصیصه InstallUrl مشخص میكنیم.
اگر روی ریشه درخت كلیك راست كنیم، علاوه بر مشاهده تمامی گزینهها در یك منو میتوانیم با استفاده از گزینه Add .Net Framework Launch Condition وجود نسخه خاصی از داتنت را روی دستگاه مقصد جستجو كنیم. با انتخاب این گزینه به طور اتوماتیك یك شرط به زیرشاخه Launch Conditions با نام .Net Framework اضافه میشود. با استفاده از خصیصه InstallUrl آن میشود آدرس سایتی را كه میتوان داتنت را از آن دریافت و نصب كرد، تعیین نمود. اگر داتنت روی دستگاه مقصد وجود نداشته باشد، برنامه نصب میتواند به این آدرس رجوع کرده و داتنت را دریافت و نصب کند و سپس به نصب برنامه اصلی ادامه دهد. همچنین در شبكههای محلی میتوان یك آدرس از شبكه را كه داتنت در آن محل موجود است، در این خصیصه قرار داد.
توسط خصیصه Message نیز میتوانید پیغامی را مشخص کنید که برای کاربر نمایش داده شود. در این خصیصه، پیامهای از پیش تعریف شدهای وجود دارد كه هر کدام کد مخصوص خود را دارند. برای مثال، برای عدم وجود داتنت پیغام از پیش تعریف شدهای در خصیصه Message به صورت كد [VSDNETMSG] نمایش داده میشود كه میتوان آن را تغییر داده و پیغام مورد نظر خود را به جای آن قرار داد. در پایان با استفاده از خصیصه Version میتوانید نسخه مورد نظر داتنت را نیز مشخص كنید.
بعد از اتمام ساخت و ایجاد برنامه نصب میتوانید جلوه بهتری به برنامه نصب بدهید. اگر روی پروژه برنامه نصب كلیك كنید، در پنجره Properties خصیصههایی را مشاهده خواهید كرد که برخی از آنها در این جا توضیح داده میشود:
خصیصه AddRemoveProgramIcon مشخصكننده آیكون برنامه ما در پنجره Add/Remove Prorams در Control Panel است. در خصیصه Author نیز معمولا نام برنامهنویس را مینویسند. در خصیصه Deion نیز توضیحاتی در مورد برنامه قرار میدهند. خصیصه DetectNewInstalledVersion به این منظور است كه قبل از شروع عملیات نصب، نسخه برنامه را كنترل كند و ببیند كه آیا نسخه جدیدتری از نسخه در حال نصب روی دستگاه قبلا نصب شده است یا خیر و اگر چنین است و نسخه برنامهای كه در حال نصب است از نسخه برنامهای كه قبلا نصب شده قدیمیتر است، عملیات نصب متوقف شود. بنابراین بهتر است مقدار این خصیصه همیشه برابر با True باشد.
اگر خصیصه InstallAllUsers برابر با True باشد، تمامی تنظیمات انجام شده در هنگام نصب برای تمامی كاربران دستگاه اعمال خواهد شد.
خصیصه Localization برای آن است كه برنامه نصب با زبان تنظیم شده برای کامپیوتر مقصد اجرا شود که توضیح آن از حوصله این مقاله خارج است.
خصیصههای Manufacturer و ManufacturerUrl نام و آدرس سایت شركت تولیدكننده نرمافزار را نشان میدهند. خصیصه ProductCode یك كد از نوع GUID است كه توسط پروژه Setup تولید میشود و نباید آن را تغییر داد. كد GUID یك كد منحصر به فرد است كه با الگوریتمهای خاصی كه به زمان و مكان وابستهاند، تولید میشود. این كد نشانگر نسخه برنامه است و با هر بار تغییر در برنامه و Build كردن آن تغییر میكند و با این كد است كه برنامه متوجه میشود نسخه جدیدی از برنامه برای نصب موجود است. خصیصه ProductName نام پروژه Setup است كه باید یك نام مناسب برای آن انتخاب شود.
خصیصه RemovePreviousVersion نیز بهتر است برابر با True باشد، چرا كه در این صورت در هنگام نصب اگر نسخه قدیمیتری از برنامه قبلا روی دستگاه نصب شده باشد، برنامه نصب ابتدا آن را پاك كرده و سپس نسخه جدید را نصب میكند. هر عنوانی كه در خصیصه Title ذكر كنیم، در بالای پنجرههای نصب در هنگام عملیات نصب نمایش داده میشود.
خصیصه Version نیز برای تعیین نسخه برنامه است كه با هر بار تغییر در برنامه بسته به میزان تغییرات خودمان به مقدار این خصیصه به میزان یك واحد یا یكصدم واحد اضافه میكنیم که این با ProductCode که توسط خود برنامه تولید میشود، تفاوت دارد.
در اینجا شرح بخشهای پروژه نصب با استفاده از فناوری MSI به پایان رسید. در انتها باید بگوییم که با اتمام یك پروژه نصب باید روی پروژه در پنجره Solution Explorer كلیك راست كرده و آن را Build کنیم. با این كار یك فایل EXE در فولدری از هارددیسك كه برنامه ما در آن ایجاد و ذخیره شده است و فولدر مربوط به پروژه نصب و فولدر Bin داخل آن ایجاد میشود كه با ارایه این فایل به كاربر، وی میتواند فایل را روی دستگاه خود كپی كند و با اجرای آن برنامه ما را روی دستگاه خود نصب كند.
منبع:تبيان زنجان
ارسال توسط کاربر محترم سایت : mohamadaminsh
/ج