با سلام خدمت کاربران گرامی
مدتی بود پی این بودم که یک پکیج داشته باشم که پروژه هام به همراه sql server express 2008 r2 و پیش نیاز های لازم به صورت کاملا سایلنت نصب بشه و همینطور پایگاه اتوماتیک اتچ بشه. و از ان مهمتر اینکه روی تمامی ویندوز ها و تمامی نسخه هاشون (32 و 64 بیتی) نصب بشه.
توی تالارهای فارسی نتونستم موفق بشم و sql رو سایلنت بسازم و دریافتم که خیلی ها نیز مشکل من رو دارن.
تا این که با ور رفتن با اینستال شیلد و همینطور advanced installer و کمک گرفتن از دوستان بالاخره تونستم با این دو نرم افزار یه پکیج ستاپ کامل بسازم تا نیازهام رو رفع کنه. (در صورتی که دوستان تمایل داشته باشن ساخت با advanced installer رو هم میگم)
لازم دونستم که اون رو به اشتراک بزارم تا کاربران دیگه به راحتی بتونن این کار رو انجام بدن(چون خودم خیلی دردسر کشیدم و شاید بشه گفت جدای از ساخت برنامه ، بیش از 10 - 15 بار روی تمامی ویندوز های xp , 7, 8 , 8.1 و تمامی نسخه های 32 و 64 بیتی تست کردم)
خب میریم سراغ اجرا.
چهارتا فایل زمیمه رو کپی کنید و توی مسیر زیر کپی و جایگزین کنید.
C:\Program Files (x86)\InstallShield\2010\SetupPrerequisites
فایل ضمیمه : ضمیمه 135381
حالا install shield رو باز کرده و یه پروژه جدید ایجاد کنید.
به سربرگ سوم یعنی installation designer رفته و از سمت چپ وارد بخش redistributable بشید.
گزینه های زیر رو تیک بزنید.
Microsoft .NET Framework 2.0 SP2
Microsoft SQL Server 2008 R2 Express SP2 (x64)
Microsoft SQL Server 2008 R2 Express SP2 (x86)
Windows Installer 4.5 for Windows XP SP2 and later (x86)
حالا روی Microsoft SQL Server 2008 R2 Express SP2 (x64) کلیک راست کرده و Edit Prequisite رو بزنید.
اینجا باید آدرس فایل 64 بیتی sql رو وارد کنیم. همونطور که توی تصویر بالا میبینید با انتخاب تنها رشته موجود و زدن گزینه modify باید مسیر فایل ستاپ sql server express sp2 x64 رو وارد کنید. (اگر هیچی نبود با زدن add مسیر فایل رو بهش بدید)
نکته بسیار مهم : حتما نسخه r2 sp2 نرم افزار sql express 2008 رو باید بگیرید در غیر این صورت شاید ستاپ به صورت سایلنت نصب نشه و ارور بده.
خب ، حالا به سربرگ بعدی یعنی application to file برید.
از نوار کشویی مانند طبق تصویر زیر گزینه SQLEXPR_X64_ENU.exe رو انتخاب کنید.
در کادر اول (طبق تصویر) رشته زیر رو وارد کنید. (این رشته باعث میشه sql سایلنت نصب بشه)
/qs /ACTION="Install" /IACCEPTSQLSERVERLICENSETERMS /INSTANCENAME="MSSQLSERVER" /INSTANCEID="MSSQLSERVER" /FEATURES=SQLENGINE /AGTSVCACCOUNT="NT AUTHORITY\Network SERVICE" /AGTSVCSTARTUPTYPE="Disabled" /ISSVCSTARTUPTYPE="Automatic" /ISSVCACCOUNT="NT AUTHORITY\Local SERVICE" /ASSVCSTARTUPTYPE="Automatic" /SQLSVCSTARTUPTYPE="Automatic" /SQLCOLLATION="Arabic_CI_AS" /SQLSVCACCOUNT="NT AUTHORITY\Network SERVICE" /SQLSYSADMINACCOUNTS="BUILTIN\ADMINISTRATORS" "BUILTIN\Users"
بازم تاکید میکنم که رشته بالا فقط روی sql express 2008 r2 sp2 جواب میده و روی سایر نسخه ها باید تغییر پیدا کنه
البته اگر 4 تا فایل ضمیمه رو در مسیری که گفتم کپی کنید احتمالا تمامی این دستورات خودش وارد شده هست.
حالا به سربرگ conditions برید
خب حالا دوتا شرط نیاز داریم.
1- تشخیص بده که ویندوز 32 یا 64 بیتی هست و بنابر نوع سیستم یکی رو نصب کنه.
2- تا وقتی که Sql کاملا نصب نشده اجازه رد شدن و نصب نرم افزار اصلی رو نده.
این دوشرط رو باید اینجا ایجاد کنیم که البته اگر 4 تا فایل ضمیمه رو در مسیری که گفتم کپی کنید این دوشرط وارد شده هست.
اگر شرط ها وارد شده بودن که هیچی، وگر نه add رو بزنید و طبق تصویر زیر شرط ها رو وارد کنید.
شرط اول: تشخیص میده که ویندوز 32 بیتیه یا 64 بیتی و اگه 64 بیتی بود این ستاپ Microsoft SQL Server 2008 R2 Express SP2 x64 رو نصب میکنه.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\Environment
PROCESSOR_ARCHITECTURE
64
و اینم شرط دوم : تا وقتی که نسخه 64 بیتی sql روی سیستم نصب نباشه اجازه رد شدن از این مرحله رو نمیده.
[ProgramFiles64Folder]Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlservr. exe
2009.100.4000.0
خب بعد از انجام این کارها پنجره رو ببندید. هنگام بستن ازتون میپرسه آیا میخواید تغییرات ذخیره بشن و شما yes رو بزنید.
حالا روی Microsoft SQL Server 2008 R2 Express SP2 (x86) کلیک راست کرده و Edit Prequisite رو بزنید.
وتمامی مراحل قبل رو برای اون تکرار کنید. فقط توجه کنید که :
نسخه 32 بیتی ستاپ sql رو وارد کنید.
توی قسمت conditions دوشرط ، یه تفاوت کوچیک با قبلی دارن که طبق تصویر مشخصه. (به جای 64 باید 86 بنویسید)
بعد از اتمام کار پنجره رو ببندید. هنگام بستن ازتون میپرسه آیا میخواید تغییرات ذخیره بشن و شما yes رو بزنید.
خب ، تا اینجای کار نرم افزار sql express r2 sp2 2008 توی install shield قرار گرفت و تنظیمات مربوطه هم انجام شد.
منتها برای نصب شدن روی ویندوز xp باید دو پیش نیاز .net framework 2 و windows installer هم نصب بشن. این بخش و همچنین اتچ خودکار پایگاه و... رو در پست های بعدی میگم.
بازم تاکید میکنم که اگر 4 تا فایل زمیمه ای رو که قرار دادم در مسیر گفته شده کپی کنید تمامی تنظیمات و... انجام شده هست (یعنی هلو برو تو گلو) و فقط شما باید تیک sql رو بزنید و در نهایت مسیر فایل exe رو بهش بدید.
فایل ضمیمه : ضمیمه 135381