نحوه ساخت وب ستاپ در برنامه های ASP.NET
توسعه وب, مقاله

نحوه ساخت وب ستاپ در برنامه های ASP.NET

۲ 306

برنامه های تحت وب عموماً در اینترنت میزبانی میشن ولی ممکن هست که شما بخواین یک وب اپلیکیشن تجاری رو در محیط مشتری نصب کنید. مسلماً اولین چیزی که بواسطه معماری برنامه های وب ِمایکروسافت به ذهن میرسه استفاده از IIS هست. از طریق ایجاد یک ویرچوال دایرکتوری و باقی قضایا … بدیهی است که در این حالت نصب دیتابیس SQL می بایست در سرور انجام شه و تنظیمات کانکشن استرینگ رو هم اعمال کنید. اما با توجه به شیوه متداول نصب برنامه های ویندوزی شاید این سوال به ذهن برسه آیا میشه برای وب اپلیکیشن هم ستاپ ساخت؟ جواب این سوال مثبت هست بطوریکه ابزارهای زیادی هم تولید شده که این کار رو با امکانات بیشتری فراهم می کنه. اما در این پست من روشی رو می گم که با استفاده از امکانات ویژوال استادیو این کار قابل انجام هست. اصطلاحاً به این روش MSI Installer هم گفته میشه. روش کار ساده هست به این ترتیب که یک وب سایت ایجاد می کنیم، از طریق Microsoft Web Deployment برنامه رو precompile می کنیم و در آخر با استفاده ازWeb Setup خروجی MSI رو که همون ستاپ برنامه هست می گیریم. مراحل باختصار:

  • در ابتدا نیاز هست تا add-in مربوط به Web Deployment رو برای VS2010 از اینجا دانلود و نصب کنید. بعد یک وب سایت یا وب اپلیکیشن ایجاد کنید. به دلیل مزایایی که در merge فایل های dll در وب اپلیکیشن هست شاید انتخاب مناسب تری باشه.
  • سپس در Solution Explorer روی نام وب سایت کلیک راست و گزینه Add Web Deployment Project رو انتخاب کنید.  نام و مسیر رو وارد کنید.
  • در این مرحله می بایست Web Setup رو اضافه کنیم. برای این کار روی سولوشن پروژه در Solution Exp کلیک راست و Add New Project کنید سپس از قسمت سمت چپ از طریق Other Project Type/Setup and Deployment و انتخاب VS Installer می تونید به Web Setup Project برسید. اون رو انتخاب و OK کنید.
  • در Solution Explorer سه پروژه خواهید داشت: Web Site+ Web Deploy + Web Setup. روی Web Stup کلیک راست کرده و از طریق گزینه Add یک Project Output ایجاد کنید. دقت کنید در پنجره ای که باز می شود باید پروژه Web Deployment را انتخاب کنید. در واقع با این انتخاب خروجی Deployment محتوای Web Setup خواهد بود.
  • در مرحله بعد از سولوشن پروژه Properties بگیرید و گزینه Project Dependency رو انتخاب کنید. برای پروژه Setup باید هر دو چک رو بزنید. برای Deploy فقط پروژه Website و برای Website هیچ کدوم از چک ها نیازی نیست. فکر کنیم دلیلش هم واضح باشه. در واقع ترتیب build با توجه به وابستگی پروژه ها بهم مشخص میشه.
  • در مرحله بعد می رسیم به Configuration Manager. مجدداً از سولوشن پروژه پراپرتی بگیرید و کانفیگویشن رو انتخاب کنید. در حالت Release تمام پروژه ها باید Build شود و در حالت Debug فقط Website.
  • حالا پروژه رو Build کنید. در خروجی Build فایل exe رو مشاهده می کنید.

هدفم صرفاً آشنایی خوانندگان با این روش بود. مطالعه جزئی تر بعهده خودتون. اما ممکن است قبل از نصب، نیاز باشه بررسی کنه که ببینه دات نت فریم ورک یا حتی SQL Express نصب هست یا نه. برای این کار میتونید از پروژه Setup در سولوشن بار Property بگیرید و در قسمت Prerequisite تنظیمات لازم رو انجام بدید. اگر از این آیتم استفاده کردید حتماً Windows Installer رو هم  انتخاب کنید.

Share

در باره نویسنده / 

حمیدرضا متقیان

مدیر محصول نرم افزار. علاقه مند به دنیای وب و ارزش آفرینی در کسب و کار.

۲ دیدگاه

  1. skmr_ae ۱۳۹۱-۰۵-۲۳ در ۴:۵۶ ق.ظ - 

    سلام
    ممنون از لطفتون
    فقط برا مطالعه بیشتر نمیدونم باید در چه موردی سرچ کنم؟؟
    و اینکه این روشی که شما گفتید در سیستم مقصد ویرچوال دایرکتوری ایجاد میکنه؟؟(من سایتم بانک اس کیو ال داره)
    ممنونم

  2. حمیدرضا ۱۳۹۱-۰۵-۲۳ در ۵:۲۲ ق.ظ - 

    سلام
    بله IIS باید نصب باشه. اگر از نسخه SQL Express استفاده می کنید میتونید دیتابیس رو در پوشه App_Data قرار بدید و تنظیمات کانکشن استرینگ رو هم انجام بدید. فایل نصب اکسپرس رو هم در هنگامی که دارید وب ستاپ برنامه رو می سازید در قسمت پیش نیازهای نصب وارد کنید(در این قسمت بهتره دات نت فریم ورک و Windows Installer رو هم انتخاب کنید) تا بطور پیش فرض در صورت نصب نبودن SQL Express اول اونو نصب کنه و بعد برنامه رو. در این حالت نیاز به تنظیمات دیتابیس دیگه ندارید. فقط به پوشه ای که به نام برنامه در wwwroot می سازه باید مجوز Full Access برای اون یوزری که در ویندوز لاگین کرده بدید تا بتونه با دیتابیس کار کنه.
    اگر از نسخه غیر Express نیاز هست که استفاده کنید باید SQL رو مجزا نصب کنید و این روش برای نصب خود SQL کاربردی نداره. طبیعتاً در این حالت باید دیتابیس رو هم Attach کنید یا اسکریپت Run کنید و باقی قضایا.
    این لینک مقاله اصلی هست. و اینها + + + میتونه مفید باشه.

ارسال پاسخ

ایمیل شما نمایش داده نمی‌شود. موارد مورد نیاز علامتگذاری شده است *

نوشته های تصادفی

  • جایگاه نقشه مسیر در تولید یک محصول نرم افزاری

    جایگاه نقشه مسیر در تولید یک محصول نرم افزاری

    اگر از شما بپرسن در توسعه و تولید یک محصول نرم افزاری چه کارهایی باید انجام شه چه جوابی میدید؟ آیا میگید محصول با محصول متفاوت هست منظور شما از محصول چیه؟ یا میگید خوب اول قرارداد می بندیم بعد طبق توافقات قراردادی مرحله به مرحله کدنویسی می کنیم، تست می کنیم و تحویل مشتری…

  • یوزر اینترفیس به سبک اجایل

    یوزر اینترفیس(رابط کاربری) به سبک اجایل #۳

    و اما قسمت آخر؛ در دو پست قبلی کلیاتی درباره UI Development مطرح شد. در این قسمت بصورت کاربردی تر به این موضوع خواهم پرداخت.  همونطور که می دونید Iterative(تکرارشونده) و Incremental(تدریجی)  بودن توسعه، دو اصل حیاتی در بطن Agile هستن. بعضی ها فکر می کنن که این دو مورد فقط باید در توسعه Back-End…

پربازدید ترین ها

  • بندهای حیاتی یک قرارداد تولید نرم افزار

    بندهای حیاتی یک قرارداد تولید نرم افزار

    یک قرارداد محکم از اساسی ترین ملزومات موفق انجام شدن یک پروژه نرم افزاری هست. خیلی از اختلافات بین کارفرما و مجری با استناد به قرارداد رفع میشه و مهمتر از هر چیز بحث ضرر و زیان پروژه هست که برای طرفین مهم هست. بعنوان یک اصل کلی، کلیات و جزئیات قرارداد رو جدی بگیرین…

  • بایدها و نبایدها در ارائه پروپوزال

    بایدها و نبایدها در ارائه پروپوزال

    در اسفند ۸۸ در وب سایت بزرگ برنامه نویس به موجب سوال یکی از دوستان در مورد “شیوه ارائه طرح پیشنهادی نرم افزار”  توضیحاتی هر چند مجمل دادم که خوندنش خالی از لطف نیست: Proposal رو باید بر اساس RFP یا Request For Proposal ای که از مشتری میگیرین تهیه کنید. RFP از اهمیت زیادی…

  • the-internet-of-things

    آینده در دستان اینترنت اشیاء (IoT)

    Internet Of Things تحولی در آینده اینترنت است که مسلماً کسب و کار نرم افزار رو بسیار پر رونق تر و در عین حال فراگیرتر می کنه.  فرض کنید به خرید رفتید و خیلی راحت از یخچال خونتون استعلام میکنید که چه چیزهایی رو باید خریداری کنید؛ نیم ساعت قبل از اومدنتون میتونید سیستم تهویه…

عضویت در خبرنامه

بایگانی