نمایش نتایج: از شماره 1 تا 10 , از مجموع 49

موضوع: اموزش نرم افزار کاربردی Nsis

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #22
    کاربر فعال
    یاد بگیریم وبه دیگران هم یاد بدیم
    تاریخ عضویت
    Nov 2013
    محل سکونت
    تبریز
    نوشته ها
    617
    تشکر تشکر کرده 
    1,591
    تشکر تشکر شده 
    1,930
    تشکر شده در
    617 پست
    قدرت امتیاز دهی
    6074
    Array

    پیش فرض پاسخ : اموزش نرم افزار کاربردی Nsis

    نقل قول نوشته اصلی توسط Magsoud نمایش پست ها
    سعي ميكنم كه با دو مثال چگونگي ساخت كلي فايل هاي Setup با استفاده از برنامه NSIS را شرح دهم كه
    شما ميتوانيد كد هاي گقته شده را بعنوان يك فرمول كلي در اكثر موارد استفاده نمائيد.

    كد ها را طوري نوشته ام كه شما براي ساخت هر نوع Setup فقط لارم داريد كه چند تا نام را در داخل كد ها
    تغيير دهيد.
    و يا در صورت نياز ميتوانيد دستوراتي را از داخل كد ها حذف كرده و يا دستوراتي را برابر نيازتان براي موارد مختلف
    چندين بار تكرار كنيد.

    مسلم است كه بايستي مطالبي كه شرح داده مي شود را با دقت كافي مطالعه كرده و وقت كافي جهت تمرين
    مطالب گفته شده بگذاريد.

    توضيح:
    ====
    با روشي كه توضيح داده ميشود، در انتهاي كار شما فرمولي را خواهيد داشت كه با استفاده از آن ميتوانيد انواع
    نصب هاي اتوماتيك عمومي را بسازيد.
    ولي در اين فرمول جائي براي Uninstall كردن و يا وارد كردن پاره اي از اطلاعات نيست. يعني با اين روش در حقيقت
    ما داريم يك Extractor اتوماتيك درست مي كنيم. بطور ديگر بگويم با اين روش ما داريم كپي شدن تعدادي فايل و پوشه
    را بجا هاي دلخواهمان و يا اجراي يك فايل رجستري را بصورت اتوماتيك انجام مي دهيم.

    براي داشتن يك Setup كامل بايد بطور ديگري عمل كرد مثلا" استفاده از يرنامه هاي مخصوص اين كار. ولي بهر حال
    اين روش هم در بسياري از موارد كاملا" كار ساز و كافي است.

    مثال (1)
    =========
    فرض مي كنيم كه:
    1. پوشه اي بنام A داريم كه در داخل آن تعدادي فايل و چند تا پوشه مختلف وجود دارند كه فايل اصلي قابل اجرا
    بنام AAA.exe هم داخل اين پوشه مي باشد.

    2. ميخواهيم بعد از ست آپ پوشه اي بنام AAA درون پوشه Program Files درست شده و تمام محتويات پوشه
    A درون آن كپي شوند.

    3. ميخواهيم پوشه اي بنام AAA درون منوي استارت درست شده و در داخل آن يك شورت كات براي فايل AAA.exe
    گذاشته شود.

    4. ميخواهيم كه يك شورت كات ديگر براي فايل AAA.exe در دسكتاپ درست شود.

    5. يك فايل رجستري بنام do.reg داريم كه ميخواهيم در پايان كار اين فايل اجرا شود.

    6. مي خواهيم كه فايلي بنام xxx.exe درست كنيم كه آيكن دلخواه ما را داشته باشد و بتواند تمام اعمال بالا را
    بطور اتوماتيك و محفيانه انجام دهد.

    براي ساخت فايل xxx.exe توسط NSIS به شرح زير عمل ميكنيم:

    1.در روت يكي از درايو ها پوشه اي بنام فرضا" Sahand درست كنيد (مثلا" D:\Sahand).

    2. پوشه A را با محتوياتش درون پوشه D:\Sahand كپي كنيد.

    3. فايل رجستري do.reg را هم درون پوشه D:\Sahand كپي كنيد.

    4. آيكني را كه ميخواهيد فايل نهائي داراي اين آيكن باشد را تهيه نموده و آن را با نام mcs.ico درون پوشه
    D:\Sahand كپي نمائيد.

    5. برنامه notepad را اجرا كرده و سپس متن زير را درون آن كپي نموده و سپس آن را با نام فرضا" xxx.nsi
    درون پوشه D:\Sahand در كنار بقيه فايل ها ذخيره كنيد:

    کد:
    !include registry.nsh
    SetCompressor ZLIB
    
    InstallDir "$PROGRAMFILES\AAA"
    OutFile "xxx.exe"
    Icon "mcs.ico"
    SilentInstall silent    
    CRCCheck off
    AutoCloseWindow true
    WindowIcon off
    XPStyle on
    
    ShowInstDetails hide
    ShowUninstDetails hide
    
    Section Main
    
      SetOutPath "$INSTDIR"
      File /nonfatal /a /r "A\"
      CreateDirectory "$SMPROGRAMS\AAA"
      CreateShortCut "$SMPROGRAMS\AAA\AAA.lnk" "$INSTDIR\AAA.exe"
      CreateShortCut "$DESKTOP\AAA.lnk" "$INSTDIR\AAA.exe"
    
      SetOutPath "$TEMP"
      File "do.reg"
      ${registry::RestoreKey} "$TEMP\do.reg" $R0
      Sleep 300
      Delete $TEMP\do.reg
    
    SectionEnd

    6. روي فايل xxx.nsi كليك راست كرده و روي گزينه Compile كليك كنيد. بعد از چند لحظه فايلي بنام xxx.exe
    درون پوشه D:\Sahand در كنار بقيه فايل ها درست خواهد شد كه اگر اجرايش كنيد تمام موارد گفته شده در
    بالا را انجام خواهد داد.

    توجه داشته باشيد كه آيكني كه انتحاب مي كنيد ساده باشد (فقط اندازه هاي 48 و 32 و 16 را داشته باشد)
    چون اگر حجم آيكن بالا باشد برنامه NSIS قبول نخواهد كرد.

    اگر عمري باشد، در جلسه بعد دستورات استفاده شده در كد هاي بالا را توضيح داده و با مثالي ديگر، امكاناتي
    ديگر به برنامه اضافه خواهيم كرد.
    استاد توی قسمت رجیتری ارور داد ممبه جای استفده از دستورات رجستری که نوشتید اینو جایگزین کردم واین درست کارکرد
    این اسکرین شات از ارور

    dophpimgfScreenshot 1 5a632

    اینم جایگزین
    کد HTML:
      SetOverwrite on
      InitPluginsDir
      File /oname=$PLUGINSDIR\TeraCopy.reg "TeraCopy.reg"
      Execwait 'regedit.exe /s "$PLUGINSDIR\TeraCopy.reg"'
    ویه سوال هم اینکه اگه بخواهیم توی PROGRAMFILES دوتا پوشه ایجاد بشه یکی بطور مثال پوشه A و دومی پوشه B
    دستور چجوری خواهد بود
    ویرایش توسط سهند : 07-25-2017 در ساعت 10:20 PM

  2. کاربر مقابل از سهند عزیز به خاطر این پست مفید تشکر کرده است:


علاقه مندی ها (بوک مارک ها)

علاقه مندی ها (بوک مارک ها)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

http://www.worldup.ir/