سلام
امکانش هست ultra iso طوری تنظیم بشه که با اجرای اون یه درایو مجازی جدید ایجاد کنه؟ فکر کنم تو رجیستری بشه؟!
Printable View
سلام
امکانش هست ultra iso طوری تنظیم بشه که با اجرای اون یه درایو مجازی جدید ایجاد کنه؟ فکر کنم تو رجیستری بشه؟!
درود
با تشکر از دوستان عزیز بویژه استاد عزیز
یک اموزش فارسی هم در این رابطه یعنی اسکریپت nsis بود که مطالعه اش خالی از لطف نیست!
خدمت دوستان
سلام
در این نمونه ایکه آپلود کردم ، سعی کردم ساده ترین گزینه ها را بکار ببرم. چون در غیر اینصودت مسایلی پیش
می آمد که مجبور بودم بیشتر توضیح دهم و آموزش خیلی طولانی تر میشد و کاربران را فراری میداد.
موقع نصب UltaISO میتوانی تمام گزینه ها را انتخاب و نصب کنی و سپس تغییرات رجستری در حین نصب را
بغیر از محل نصب ذخیره کرده و بعد در NSIS این مشخصه ها را هم همراه مشخصات کرک اجرا کنی.
ولی با این کار پاک کردن رجستری بعد از بسته شدن برنامه یک مقدار سخت تر میشود
درود
جناب شیرین زبان یک سوالی داشتم!! داشتم یک نسخه کرک شده از Total Uninstall Pro می ساختم. وقتی اسکریپت رو کامپایل کردم، فقط اسکریپت کامپایل شد!! یعنی برای استفاده از این اسکریپت باید از همون روش قدیمی یعنی Winrar برای ساخت یک فایل واحد استفاده کنیم؟!
مرشی:d:
سلام
نیما جان اول نوع کرک شده را برای ما هم آپلود کن
و اما بعد.
اگر زنده باشم چند روز بعد مختصری در مورد ساخت نصب کننده با NSIS صحبت خواهم کرد.
البته من این برنامه را 30 درصد حالیمه نه بیشتر؟!
اما یک نکته را فراموش نکن که کلمه Install در NSIS را همواره در ذهنت عمل کپی در محل نصب فکر کن.
لذا در حین نصب تمام فایل ها به محل نصب کپی خواهند شد.
پس در NSIS از چند Section استفاده کن و برای هر Section آرایش دیگر مورد نظرت را اعمال کن
و فراموش نکن که دستورات فایل اسکریپت داده شده مثل برنامه Batch سطور را بترتیب و یکی پس از دیگری اجرا میکند.
سعی میکنم چند روز بعد بیشتر و واضحتر و با مثال مطلب را عرض کنم. بازهم تکرار میکنم که بنده از برنامهNSIS فقط به
اندازه رفع نیاز هایم بلد هستم.
درود
ممنون!!
نه مشکل من با پک کردن هست!! چون که خوب WinRar اگر پک کنم سرعت کار را پایین می اورد.
به هرحال این نسخه را پابلیش کردم!!
شما هم یک نگاهی بیاندازید.
مرسی
نرم افزار قدرت مند و کاربردی Total Uninstall Pro 5.10.0
درود
برنامه UltraISO اطلاعات مربوط به درایو مجازی ساخته شده را در قسمت [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servic es\ISODrive] نگهداری میکنه!
فرضا اطلاعات مربوط به نام درایو مجازی ساخته شده :
که در اینجا X نام درایو مجازی است! ولی گذاشتن اطلاعات به طریق بالا کامل نیست؟ چون با تغییر نام درایو چیزی تغییر نمیکنه! شاید باید درایور مربوطه را هم قبلش نصب بشه کرد در مسیر Appdata\drivers قرار داره : ISODrv64.sys برای ویندوز 64 بیتی و ISODrv.sys برای ویندوز 32 بیتی!کد:
نقل قول:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ISODrive\Parameters\Device0]
"DRIVE"="X"
کنار این دو فایل فایلی به نام IsoCmd.exe قرار داره که به نظر می رسه کارها توسط اون انجام میشه!!؟ باید بیشتر بررسی کرد!!
بنابراین برای ساخت UltraISO پرتابل طوری که درایو مجازی اش کار کنه لازمه که دستورات بالا را نیز وارد اسکریپت نویسی Nsis کرد! که یکم پیچیده تر میشه! باید نوع ویندوز 32 و 64 بیتی تشخیص داده بشه و از دستورات شرطی استفاده کرد و ...کد:
نقل قول:
Usage: isocmd <-command> <parameter>
-mount drive: file_spec <password> (mount file_spec to drive:
password is optional for ISZ images)
-eject drive: (unmount drive:)
-number (set number of devices)
-change device_no new_drive_letter: (change drive letter)
مثال برای استفاده از IsoCmd.exe:
باید موارد بالا کامل بررسی بشه تا بشه یه UltraISO پرتابل کامل ساخت! در غیر اینصورت بخش درایو مجازی غیرفعال هستش:کد:
نقل قول:
Example: isocmd -mount L: "d:\isos\mycd.iso"
- Unmount command
isocmd -eject drive:
Example: isocmd -eject L:
- Change drive letter of ISODrive
isocmd -change device# driveLetter:
Example: isocmd -change 1 F:
یه سوال دارم: توی Nsis چجوری میشه مسیر فایل اجرایی رو استخراج کرد؟ مثلا بشه فایل اجرایی برنامه پرتابل شده UltraISOportale.exe توی مسیر D:\My Portable App\Ultra ISO\UltraISOportale.exe اجرا میشه چطوری میشه مسیر D:\My Portable App\Ultra ISO رو تو Nsis پیدا کرد و توی حافظه کلیپ بورد قرار داد!!؟
درود بر شما :d:
در این موارد بهتره گاهی اوقات از فایل Batch کمک گرفت و به اسکریپتمان گفت که این فایل Batch را بصورت مخفی اجرا کند.نقل قول:
درود
برنامه UltraISO اطلاعات مربوط به درایو مجازی ساخته شده را در قسمت [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servic es\ISODrive] نگهداری میکنه!
فرضا اطلاعات مربوط به نام درایو مجازی ساخته شده :
که در اینجا X نام درایو مجازی است! ولی گذاشتن اطلاعات به طریق بالا کامل نیست؟ چون با تغییر نام درایو چیزی تغییر نمیکنه! شاید باید درایور مربوطه را هم قبلش نصب بشه کرد در مسیر Appdata\drivers قرار داره : ISODrv64.sys برای ویندوز 64 بیتی و ISODrv.sys برای ویندوز 32 بیتی!
کنار این دو فایل فایلی به نام IsoCmd.exe قرار داره که به نظر می رسه کارها توسط اون انجام میشه!!؟ باید بیشتر بررسی کرد!!
بنابراین برای ساخت UltraISO پرتابل طوری که درایو مجازی اش کار کنه لازمه که دستورات بالا را نیز وارد اسکریپت نویسی Nsis کرد! که یکم پیچیده تر میشه! باید نوع ویندوز 32 و 64 بیتی تشخیص داده بشه و از دستورات شرطی استفاده کرد و ...
برای تشخیص 32/64 در بت باید به این شکل عمل کرد:
و دستورات IsoCMD را هم در بت می توان به این شکل صادر کرد :کد:@echo off
echo.
IF defined ProgramFiles(x86) (
Echo It's 64 Bit.
) else (
Echo It's 32 Bit.
)
pause>nul
کد:@IsoCMD.exe parameters
نقل قول:
یه سوال دارم: توی Nsis چجوری میشه مسیر فایل اجرایی رو استخراج کرد؟ مثلا بشه فایل اجرایی برنامه پرتابل شده UltraISOportale.exe توی مسیر D:\My Portable App\Ultra ISO\UltraISOportale.exe اجرا میشه چطوری میشه مسیر D:\My Portable App\Ultra ISO رو تو Nsis پیدا کرد و توی حافظه کلیپ بورد قرار داد!!؟
به این شکل می توان دایرکتوری فایل اجرا شده را بدست اورد :
به این شکل ادرس دایرکتوری در 0$ قرار می گیرد.کد:System::Call "kernel32::GetCurrentDirectory(i ${NSIS_MAX_STRLEN}, t .r0)"
روز خوش
:^:
درود
نیما جان برای تشخیص 32 یا 64 بیتی بودن با خود nsis میشه ! با دستورات زیر:خود دستورات IsoCmd.exe رو هم میشه مستقیم با nsis با دستور ExecWait یا Exec وارد کرد موردی نداره!نقل قول:
!include "x64.nsh"
.
.
.
{If} ${RunningX64}$
اگه 64 بیتی بود دستورات اینجا بشه
{Else}$
اگه 32 بیتی بود دستورات اینجا اجرا بشه
{EndIf}$
فعلا مشکل اینجاست باید پروسه رو پیدا کرد! که طی چه پروسه ای یا دستوراتی درایو مجازی ساخته میشه چون همون طور تو شکل دیدین تو حالت معمولی غیر فعال هستش و عملا مهم ترین قابلیت این برنامه تو پرتابل کردن از دست رفته!
اون مورد دایرکتوری هم ممنون جالب بود! :merc567:
بنام دوست
برهان جان من هنوز متوجه قضیه نشده ام ! شما چه چیزی میخواهید انجام بگیرد؟
اگر میخواهید قابلیت بار کردن ایزو را در یک درایو مجازی داشته باشد که دارد.
اگر قصدتان فقط ساخت درایو مجازی در سیستم است و کاری با Ultraiso ندارید که این هم به روش های مختلف شدنی است.
و یا منظورتان چیست من نتوانستم متوجه بشوم.