PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نصب اتوماتیک درایور های کامپیوترمان در حین نصب ویندوز xp



Magsoud
05-24-2012, 06:04 PM
بنام دوست

اولین بار که سال ها پیش تصمیم به اینکار گرفتم ، مطالب سایت MSFN را واقعا" روان و قابل درک دیدم .و نکاتی که
ذیلا" به عرض میرسانم ، چکیده ای از یادداشت های آن زمان است.

چند تا مسئله هستند که باعث میشوند که زمان زیادی برای نصب کامل یک سیستم عامل مصرف شود. یکی نصب
درایور های سیستم است و دیگری نصب برنامه های مورد نیاز و در مرحله آخر دادن تغییرات لازم در ظاهر سیستم.

میشود به راحتی کاری کرد که نه تنها ویندوز بدون درخواست سریال و غیره ، اتومات نصب شود ،بلکه میتوان کاری
کرد که در حین نصب ، بطور اتوماتیک درایور ها و نیز برنامه های مورد نیازمان هم نصب شده ،و حتی تنظیمات مورد
علاقه ما هم اعمال شده باشد.

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

توضیح:
---------
اینکه که درایور ها را توسط سی دی ویندوز و بطور اتومات نصب کنیم دو حالت دارد
1. یک وقت میخواهیم سی دی ما اختصاصی خودمان باشد و در حین نصب ،فقط درایور های سیستم خودمان بطور
اتوماتیک نصب شوند.
2. گاهی کاربر میخواهد ویندوزش تمام درایور های همه نوع سخت افزار ها را داشته باشد و در هر سیستمی که
استقاده می شود، بطور اتومات درایور های آن سیستم را شناسائی و اتوماتیک نصب نماید.

هر دو خواست بالا شدنی هستند ولی در این تاپیک صرفا" در مورد نوع اول صحبت خواهد شد.

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

مراحل کار
------------
1. محتوای سی دی یا ایزوی ویندوز XP را به داخل پوشه C:\XPCD کپی کنید.
2. در داخل پوشه C:\XPCD ، پوشه ای دیگر بنام Drivers درست کنید.
3. حال وقت آن است که درایور های سیستم خود را با ترتیب خاصی داخل پوشه C:\XPCD\Drivers قرار دهید.توجه
داشته باشید که نمیشود فایل های نصب درایور های سیستمتان را مستقیما" داخل پوشه مذکور قرار دهید. لذا در
این مرحله لازم است که با استفاده از نرم افزار های مخصوص اینکار ،درایور های سیستمتان را شناسایی نموده و
بعد بترتیبی که عرض خواهم کرد در پوشه Drivers قرار دهید.

برای اینکار از نرم افزار های مختلفی میتوانید استفاده نمایید از جمله برنامه های زیر:
Driver Genius ، Driver Magician ، DriverForge ، DriverMax ، Double Driver و وو....

با هرکدام از برنامه های فوق یا دیگر برنامه های مورد علاقه خود که کار کنید، در انتها خواهید دید که این برنامه ها
درایور های شما را در پوشه های مختلف با نام های مختلف ذخیره کرده اند.فرضا" خواهید دید که یکی از پوشه ها
نامش NVIDIA GeForce 9400 GT بوده و داخلش تعدادی فایل درست شده این بدان معنی است که این پوشه دارای
درایور های کارت گرافیک شما (در این مثال مدل GeForce 9400 ) است.

4. حالا که تمام درایور های سیستمتان را استخراج کردید بصورت زیر عمل کنید:
نام پوشه ها را عوض کنید طوری که نام تمام پوشه ها با عدد شروع شود.برای مثال نام پوشه های درایور های مختلف
شما باید چیزی شبیه نام های زیر باشد:


000_chipset
001_network
002_graphics
003_tv_out
004_sound
005_monitor
006_keyboard
007_mouse
رعایت ترتیب بالا مهم است. برای اینکه سیستم نیاز دارد و درست این است که همیشه که اول درایور های CPU و
بعد درایور های شبکه و بعد گرافیک و.....نصب شوند. لذا نام پوشه CPU را که میخواهیم اول نصب شود با 000 شروع
میکنیم و الی آخر. با اینکار موقع نصب درایور ها بترتیبی که درست است نصب خواهند شد.

بعد از انجام نامگذاری بروشی که توضیح داده شد تمام پوشه ها را داخل پوشه C:\XPCD\Drivers قرار دهید.

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

در فرصت بعدی در این مورد و مراحل دیگر انجام این پروژه صحبت خواهیم کرد.

Magsoud
05-25-2012, 05:04 PM
بنام دوست

بخش دوم
------------
یکی از اولین کار هائیکه ویندوز ایکس پی در شروع نصب انجام میدهد اینه که فایل _setup.ex را از داخل پوشه
i386 از فشردگی در آورده و فایل حاصل یعنی setup.exe را در هارد قرار داده و اجرایش میکند.

میشود گفت که این فایل چگونگی روند شروع و ادامه برنامه نصب را مشخص میکند. خوب ما اگر اجازه بدهیم که روند
عادی نصب اجرا شود که نخواهیم توانست به منظورمان برسیم . پس باید کاری کنیم که برنامه نصب اول کار مورد نظر
ما را انجام داده و سپس فایل بالا یعنی setup.exe را اجرا کند.

از طرف دیگر ترکیب سی دی نصب ویندوز طوری هست که ما با دو تا مشکل زیر روبرو هستیم:
__ اول اینکه در این مرحله از نصب ،سیستم قادر به اجرای هر نوع فایلی نیست و امکانات شناسایی و اجرائی کمی
دارد. یعنی در این مرحله از نصب اگر به برنامه نصب گفته شود فایل فلان را اجرا کن ، برنامه نصب فقط در صورتی خواهد
توانست آن فایل را اجرا کند که آن فایل ویژگی های منحصری داشته باشد.

__ دوم اینکه ما هر کاری بکنیم سیستم دنبال فایلی بنام setup.exe خواهد گشت تا اجرا نماید. لذا اگر ما از نام
دیگری غیر از این نام هم استفاده کنیم ، برنامه نصب اصلا" نخواهد فهمید.

پس چکار باید کرد؟

تا فرصتی دیگر و ادامه بحث (چون الان کاری برایم پیش آمد).

ncbabak
05-31-2012, 12:44 AM
با تشکر از آموزش استاد لطفا در صورت امکان ادامه آموزش را شروع بفرمایید.
پیشاپیش ممنون

Magsoud
05-31-2012, 12:54 AM
بنام دوست

چشم ، از فردا ادامه میدهم
علت رها کردن موضوع این بود که این تاپیک کمتر به چشم آمد و من با خودم فکر کردم
طالب ندارد. ولی الان که یک طالب وجود دارد برای من حجت کافی است و اگر عمری
مانده باشد از فردا ادامه میدهم.

Magsoud
05-31-2012, 04:02 PM
بنام دوست

دوستان در بخش قبلی دیدیم که مجبوریم یکنوعی به برنامه نصب ویندوز ایکس پی کلک بزنیم تا بتوانیم به خواست
خود برسیم.
برای اینکار :
1. در خط فرمان ویندوز دستور زیر را اجرا می کنیم (توجه داشته باشید که این دستور براساس مثالی است که توضیح
داده ام و اگر شما محتویات ویندوز را در در درایو دیگر و یا پوشه ای با نام دیگر قرار داده اید ،بهمان نسبت باید دستور زیر
را تغییر دهید):

expand C:XPCD\I386\SETUP.EX_ C:XPCD\I386\SETUPORG.EXE

با این دستور ، فایل _SETUP.EX از داخل پوشه I386 اول از فشردگی در آمده و بعد نام فایل حاصل یعنی SETUP.EXE
به SETUPORG.EXE تغییر نام داده شده و بعد مجددا" در داخل پوشه I386 قرار داده میشود.
فایل SETUPORG.EXE در حقیقت همان SETUP.EXE اصلی هست که وجودش ضروری است و چگونگی روند نصب را
تعیین میکند.

2. حال فایل _SETUP.EX را از داخل پوشه I386 دیلیت میکنیم. در بحث های قبلی گفتم که برنامه نصب در اول کار
فایل _SETUP.EX را از داخل پوشه I386 از فشردگی درآورده و بعد فایل بدست آمده یعنی SETUP.EXE را اجرا میکند.
تا این جا با این کاری که ما انجام دادیم ، دیگر همچنین فایلی وجود ندارد که برنامه نصب بتواند کارش را اجرا نماید!!
چون ما فایل اصلی و حیاتی را دیلیت کردیم!!
ولی نگران نباشید ،ما قبلا"یک فایل تقلبی با همین نام ( _SETUP.EX) درست کرده ایم . این فایل تقلبی را میتوانید
از بین فایل هاییکه بپیوست ضمیمه کرده ام ، به داخل پوشه C:XPCD\I386 کپی کنید.
این فایل تقلبی با همکاری یک فایل دیگر بنام presetup.cmd کار کرده و ما را به مقصودمان میرساند ، لذا این فایل را
هم به داخل پوشه C:XPCD\I386 کپی کنید.
چند نکته:
------------
__ برنامه نصب که دنبال اجرای فایل SETUP.EXE است ، اشتباها" بجای فایل اصلی ، فایل تقلبی ما را اجرا خواهد
کرد و فایل تقلبی ما اول اقدامات اصلی مربوط به درایور های ما را انجام داده و وقتی که کارش تمام شد ، بقیه کار را
به فایل همکارش (یعنی presetup.cmd ) خواهد سپرد.
__ فایل presetup.cmd یکی دو تا کار ساده انجام دهد.یک مختصری کار در رابطه با درایور ها انجام میدهد ولی قسمت
اصلی کارش با شرح زیر مشخص میشود:
قبلا" گفتیم که برنامه نصب دنبال فایلی بنام SETUP.EXE میگردد تا اجرایش کند و نیز عرض کردم که این فایل ضروری
بوده و چگونگی روند نصب ویندوز را تعیین میکند.
ولی الان که ما فایل تقلبی را بجای این فایل راه انداختیم، و فایل تقلبی بلد نیست که کار های ادامه نصب را انجام
بدهد . در اینجاست که فایل presetup.cmd بصورت زیر کمک کرده و مشکل را حل میکند:

دوباره اگر یادتان باشد ما فایل اصلی (SETUP.EXE ) را به SETUPORG.EXE تغییر نام داده و نگه داشتیم. در این زمان
فایل presetup.cmd اول می آید فایل موجود و تقلبی SETUP.EXE را به setupold.exe تغییر نام داده و بعد نام فایل
SETUPORG.EXE را که همان فایل اصلی است، دوباره به SETUP.EXE تغییر نام میدهد و آن را اجرا میکند. در حقیقت
برنامه نصب خود ویندوز از این لحظه ببعد شروع میشود.

3. در رابطه با کار درست پروژه لازم است که فایل های SetDevicePath.exe و WatchDriverSigningPolicy.exe را که
در پیوست موجود است به داخل پوشه C:XPCD\Drivers کپی کنید.

نکته پایانی بحث امروز:
با بحثی که در بالا داشتیم ، دیگر مشکلمان باید برطرف شده باشد و کار تمام است .ولی هنوز نه!!؟
ببینید بحث های بالا در صورتی جواب خواهند داد که فایل های SETUPORG.EXE و presetup.cmd وجود داشته باشند.
بله این دو تا فایل را داخل پوشه C:XPCD\I386 داریم . ولی ویندوز که هر فایلی را که اینجا باشد را به سیستم کپی
نخواهد کرد.
ویندوز طبق یک لیستی که دارد فایل های موجود در آن لیست را به محل نصب کپی و اجرا میکند . و هر فایلی که
نامش در این لیست نباشد، هرچند موجود باشند را بی خیالی طی خواهد کرد.

پس چکار باید کرد؟
تا فرصت بعدی و ادامه بحث .

turk
05-31-2012, 07:01 PM
سلام و خسته نباشید خدمت استاد

ایکاش برای ویندوز 7 را آموزش می دادید xp دیگر به تاریخ پیوسته و جزء خاطرات ماست ( بماند که در نوع خود خوب و کارامد بود )

یه سوالی هم دارم :
- آیا این فقط برای درایور های معدود قطعات cpu ، گرافیک و .. است راهی ندارد درایور های ریز و درشت دیگه رو هم نصب کنه ؟
- اگه برای درایور های دیگه هم ممکنه ، پس لطفا ترتیبی که باید برای اینها هم رعایت شود رو بفرمایید


یه پیشنهاد هم دارم :
- استاد خواهشا اینقدر ملت رو تو کف نزار ، یکمی می نویسی تا موتور می خاد گرم شه خاموشمون می کنی :d: عزیز به فکر پلاتین و سوپاپ های ما هم باش:d:

Magsoud
05-31-2012, 07:30 PM
بنام دوست

موافق خیلی از مطالبی که فرمودی هستم اما:

1. تعدادی از دوستان چندین بار در پست های مختلف انجمن ایراد گرفتند که چرا فقط در مورد ویندوز 7 مطلب می نویسم
و ایکس پی را فراموش کرده ام . پس نیاز این گروه از دوستان نیز باید برآورده شود.

2. نه تنها ویندوز ایکس پی بلکه حتی dos هم هنوز به بایگانی تاریخ سپرده نشده اند. بنده اکثریت موارد ویندوز 7 را میدانم
ولی کلا" و در جمع با اینکه این سیستم عامل مدت مدیدی است که در یکی از درایو هایم نصب است ولی در جمع تا حالا
حتی یک ماه هم باهاش کار نکرده ام ( ولی درش مسلطم) . دلیلی وجود ندارد که سیستم عامل جدیدتر بهتر از نوع قدیمی باشد.

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

4. تصمیم دارم اگر عمری باشد مطلب را برای ویندوز 7 هم توضیح دهم (چه درایور ها - اتومات کردن نصب - اتومات نصب شدن
برنامه ها در حین نصب - تغییر کلی ظاهر و تم های ویندوز 7 - اتومات اکتیو شدن در حین نصب ووو)

5. اگر می بینی تکه تکه می نویسم یا بقول شما اذیت میکنم ، حقیقتش قصدی نیست. دوستانی که بنده را بیشتر می شناسند
میدانند و بعضی علل را ذیلا" عرض میکنم:
__ من تک انگشتی تایپ میکنم و باید دنبال تک تک حروف بگردم ، لذا اگر شما در 5 دقیقه مطلبی را تایپ میکنید ولی برای من
حدود دو ساعت طول میکشد.
__ من بعلت داشتن مریضی نوع صعب العلاج ، نمیتوانم زیاد در مطلبی متمرکز شوم.
__ دوست ندارم مطلبی بنویسم که فقط حرف باشد . درست در حین نوشتن آموزش ها عملا" نیز کار ها را آزمایش و بعد از اطمینان
مطلب می نویسم.

__ من که خسته شدم از دلیل آوردن. ولی باز هم لازم است؟

Magsoud
06-01-2012, 06:55 PM
بنام دوست

برای اینکه سی دی نصب ایکس پی در حین نصب فایل های setupORG.exe و presetup.cmd را یشناسد. بایستی
تغییراتی در فایل TXTSETUP.SIF که داخل پوشه I386 قرار دارد بدهیم.
این فایل فایلی است که داخلش اطلاعات خیلی زیادی قرار دارد. در این فایل نام تک تک فایل هاییکه باید در حین نصب
از سی دی به هارد کپی شوند نوشته شده است.
حتی مشخص شده که هر فایل باید داخل کدام پوشه گذاشته شود ووو........

1. این فایل را با برنامه notepad باز کنید (اگر با برنامه ++ notepad باز کنید ،معقول تر و بهتر است).
2. دنبال عبارت زیر بگردید:

setup.exe = 100,,,,,,,2,0,0,,1,2
3.بعد از سطر فوق عبارت زیر را اضافه نمایید:

setupORG.exe = 1,,,,,,,2,0,0
presetup.cmd = 1,,,,,,,2,0,0
اکنون فقط یک کار دیگر مانده است که لازم است انجامش بدهیم:

با کار هائیکه تا حالا انجام دادیم همه کار ها بنا به خواست ما انجام خواهد شد مگر یک کار.
برنامه نصب ویندوز ایکس پی برای نصب درایور ها ، بصورت پیشفرض سراغ فایل Driver.cab (داخل پوشه I386 )
میرود. با کار هاییکه ما تا اینجا انجام دادیم ، برنامه نصب کار هاییکه ما گفتیم انجام خواهد داد ولی سراغ فایل
های درایور های ما درون سی دی نصب نخواهد رفت.و ما باید در این آخرین مرحله به ویندوز بفهمانیم که برای
نصب درایور ها باید به پوشه C:\XPCD\Drivers برود که بصورت زیر عمل میکنیم:

یک فایلی داخل پوشه I386 وجود دارد که نامش WINNT.SIF است ( اگر نبود باید خودتان بسازید ولی در 99% موارد
وجود دارد).این فایل ، فایلی است که ویندوز موقع نصب به آن نگاه کرده و دستورات داخل آن را اجرا میکند. چون شرح
این فایل مربوط به این تاپیک نمیشود لذا بحثی در مورد آن نمیکنم. فقط همینقدر بدانید که در پروژه فعلی ما ، در فایل
مورد بحث ، در زیر قسمت [Unattended] باید عباراتی شبیه مثال زیر اضافه کنیم:

[Unattended]
OemPreinstall=Yes
OemPnPDriversPath="Drivers\000_intel;Drivers\001_gigabit_LAN;Drivers\ 002_monitor"
DriverSigningPolicy=Ignore

یک نکته مهم
--------------
همانطوریکه در مثال بالا می بینید برای اینکه ویندوز جای درایور های شما را بداند بایستی در جلوی عبارت OemPnPDriversPath
بعد از مساوی نام تک تک پوشه ها را وارد کرده و بین نام ها از علامت ; استفاده نمائید.
هر تعداد نام پوشه میتوانید اضافه کنید ولی یک چیز را فراموش نکنید:

اشکال ویندوز این است که تعداد حروفی که در این قسمت میشود وارد کرد محدود است.
در کل مجموع کاراکتر های وارد شده در این قسمت (که هر فاصله هم یک کاراکتر حساب میشود)، نباید از 4096 کاراکتر
بیشتر شود.
اگر بیشتر هم بنویسید اشکالی ندارد ولی ویندوز نخواهد دید.
شاید یک راه خوب برای رفع این مشکل این باشد که نام های پوشه ها را خیلی کوچک تعیین کنید مثلا" نام پوشه
درایور chipset را چیزی مثل 0CH بگذارید.

آموزش ما تمام است فقط چند نکته:
__ بعضی از درایور های کارت گرافیک با این روش نمیتوانند درست نصب شوند که روش کار با آن ها متفاوت است.

__ بهتر است بجای این همه زحمت که کاربر برای اینکار متحمل میشود ، تمام درایور های تمام سخت افزار ها را
به ویندوزش اضافه کند که با هر کامپیوتری قابل استفاده بوده ، مشکلات عدم نصب صحیح بعضی درایور ها را ندارد،
و ساختش هم راحت تر است.

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

موفق باشید