صفحه 4 از 4 نخستنخست 1234
نمایش نتایج: از شماره 31 تا 34 , از مجموع 34

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

  1. #31
    کاربر فعال
    یاد بگیریم وبه دیگران هم یاد بدیم
    تاریخ عضویت
    Nov 2013
    محل سکونت
    تبریز
    نوشته ها
    568
    سپاس
    1,519
    سپاس گذاری شده :1,865 بار در 574 پست
    حالت من : Bitafavot
    قدرت امتیاز دهی
    5202
    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 قبول نخواهد كرد.

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

    [Only registered and activated users can see links. ]

    اینم جایگزین
    کد 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. یک کاربر برای این پست سودمند از سهند عزیز سپاسگذاری کرده است:


  3. #32
    مدیر سایت
    دوستتان دارم
    تاریخ عضویت
    Jan 2012
    محل سکونت
    تهران
    نوشته ها
    2,219
    سپاس
    4,731
    سپاس گذاری شده :13,010 بار در 2,234 پست
    قدرت امتیاز دهی
    42196
    Array

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

    مسئله رجستری چیزی هست که در هر کامپیوتر طور دیگری عمل خواهد کرد. البته اشکال در اینجا این است
    که ظاهرا" پلاگ این رجستری که نصب کردی اشکال دارد.
    بهر حال روشی که بکار بردی روش خیلی خوبی هست.

    در رابطه با سوالی که کردی بعد از دستور ساخت شورت کات ها کد های زیر را اضافه کن:

    کد:
    CreateDirectory "$PROGRAMFILES\B"
    SetOutPath "$PROGRAMFILES\B"
    File /nonfatal /a /r "B\"

    با دستور فوق همه فایل ها و پوشه های موجود در پوشه B به پوشه Program Files\B کپی خواهند شد.



  4. یک کاربر برای این پست سودمند از Magsoud عزیز سپاسگذاری کرده است:


  5. #33
    کاربر فعال
    یاد بگیریم وبه دیگران هم یاد بدیم
    تاریخ عضویت
    Nov 2013
    محل سکونت
    تبریز
    نوشته ها
    568
    سپاس
    1,519
    سپاس گذاری شده :1,865 بار در 574 پست
    حالت من : Bitafavot
    قدرت امتیاز دهی
    5202
    Array

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

    با سلام
    استاد من یه اسکریپت دیگه نوشتم وکار هم میکنه میخواسم ببینم اسکریپت من با اسکریپتی که شما توضیح دادید چه فرقی داره


    کد HTML:
    !include registry.nsh
    SetCompressor ZLIB
    OutFile "Sahand.exe"
    Icon "mcs.ico"
    SilentInstall silent    
    CRCCheck off
    AutoCloseWindow true
    WindowIcon off
    XPStyle on
    ShowInstDetails hide
    ShowUninstDetails hide
    Section Main
      CreateDirectory "$PROGRAMFILES\Elaborate Bytes"
      SetOutPath "$PROGRAMFILES\Elaborate Bytes"
      SetOverwrite on
      File /nonfatal /a /r "Elaborate Bytes\" 
      CreateDirectory "$SMPROGRAMS\Virtual Clone Drive"
      CreateShortCut "$SMPROGRAMS\Virtual Clone Drive\Virtual CloneDrive.lnk" "$PROGRAMFILES\Elaborate Bytes\VirtualCloneDrive\VCDPrefs.exe"
      CreateShortCut "$SMPROGRAMS\Virtual Clone Drive\Uninstall.lnk" "$PROGRAMFILES\Elaborate Bytes\VirtualCloneDrive\vcd-uninst.exe"
      CreateShortCut "$SMPROGRAMS\Virtual Clone Drive\Revision History.lnk" "$PROGRAMFILES\Elaborate Bytes\VirtualCloneDrive\manual\changes_vcd.txt"
      
      CreateDirectory "$PROGRAMFILES\UltraISO"
      SetOutPath "$PROGRAMFILES\UltraISO"
      SetOverwrite on
      File /nonfatal /a /r "UltraISO\" 
      CreateDirectory "$SMPROGRAMS\UltraISO"
      CreateShortCut "$SMPROGRAMS\UltraISO\UltraISO.lnk" "$PROGRAMFILES\UltraISO\UltraISO.exe"
      CreateShortCut "$SMPROGRAMS\UltraISO\Uninstall.lnk" "$PROGRAMFILES\UltraISO\unins000.exe"
      CreateShortCut "$SMPROGRAMS\UltraISO\UltraISO Help.lnk" "$PROGRAMFILES\UltraISO\ultraiso.chm"
      CreateShortCut "$SMPROGRAMS\UltraISO\UltraISO Revision History.lnk" "$PROGRAMFILES\UltraISO\History.txt" 
      CreateDirectory "$COMMONFILES\EZB Systems"
      SetOutPath "$COMMONFILES\EZB Systems"
      SetOverwrite on
      File /nonfatal /a /r "EZB Systems\"
      SetOverwrite on
      InitPluginsDir
      File /oname=$PLUGINSDIR\setup.reg "setup.reg"
      Execwait 'regedit.exe /s "$PLUGINSDIR\setup.reg"'
    SectionEnd
    واینکه کدوم یکی بهتره

  6. یک کاربر برای این پست سودمند از سهند عزیز سپاسگذاری کرده است:


  7. #34
    مدیر سایت
    دوستتان دارم
    تاریخ عضویت
    Jan 2012
    محل سکونت
    تهران
    نوشته ها
    2,219
    سپاس
    4,731
    سپاس گذاری شده :13,010 بار در 2,234 پست
    قدرت امتیاز دهی
    42196
    Array

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

    در پست فبلی برای استفاده از دایرکتوری Program Files\B سه سطر کد توضیح دادم که
    عین همان روش در اسکریپتی که شما بکار برده اید استفاده شده است.
    هر دو روش خوبند فقط نوع استفاده از رجستری در کدهای بنده و شما با هم فرق دارند.



  8. یک کاربر برای این پست سودمند از Magsoud عزیز سپاسگذاری کرده است:


صفحه 4 از 4 نخستنخست 1234

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

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

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

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

http://www.worldup.ir/