ورود

View Full Version : آموزش: طریقه ساخت setup با خود vs.net



MAHDIACTION
شنبه 12 دی 1388, 13:20 عصر
بسم الله الرحمن الرحيم

يه صحبت كوتاه
سلام به دوستان عزيزي كه از دور و نزديك اين متن رو دارند مي خونند اميدوارم در سايه حق تعالي اميدوار با پشتكار، سر بلند ، موفق و سر زنده باشند،‌تلاش اينجانب و دوستان بر اين هست كه مطالب و تجربيات و رفرنس هاي موجود را به بهترين و ساده ترين راه منتشر كنند.اميد وارم شما نيز به جمع ما بپيونديد. درانتها بيش از هرچيز منتظر سوالات ،انتقادات و تشكر شما از عزيزاني كه به عشق يگانه برنامه نويس عالم كارمي كنند هستيم.




شما هم مي تونيد در يك حركت خارق العاده با ما باشيد



تشكر ويژه از دوستاني كه اين بنده را در اين تايپيك ياري كرده اند:
Hossein-Khoshseyar و Sharif Lotfi و b.mahsa


مراحل ساختن setup توسط Vs.net

بعد از اینکه پروژه خودتون رو تو vs.net ساختید (برنامه کاربردی ) حالا نیاز دارید که یه setup برای همین برنامه بسازید . از منوی file->add->new Project کلیک کنید
Other Project type->setup Project
در فرم new project add بر روی setup project کلیک کنید
http://barnamenevis.org/attachment.php?attachmentid=41848&stc=1&d=1262196599

بعد از Ok کردن می بینید که به پروژه شما در بخش solution explorer پروژه setup اضافه می شود.


بر روی پروژه setup راست کلیک کنید می بینید که منوی باز شده گویای همه چیز است.
شما می تونید هر بخشی را که دوست دارید ویرایش ،اضافه یا حذف کنید .
من به مهمترین Item ها می پردازم که بعد از ساخت setup دچار مشکل نشید.

قراردادن خروجی برنامه کاربردی شما در setup

بعد از راست کلیک کردن بر روی پروژه setup از زیر منوی view بر روی File System کلیک کنید.
شما وارد بخش file system می شوید که حاوی سه پوشه هست روی پوشه Application Folder کلیک کنید تا وارد آن شوید

http://www.barnamenevis.org/attachment.php?attachmentid=41851&d=1262196599
برای آنکه خروجی پروژه تان در Setup قرار گیرد، در جایی خالی راست کلیک کرده از زیر منوی add-> Project Output کلیک کنید.
http://www.barnamenevis.org/attachment.php?attachmentid=41896&d=1262290119

در منوی Add Project Output بر روی Primery Output کلیک کنید ،حال بعد از تجزیه وتحلیل پروژه شما dllها و فایل اجرایی شما به صورت شکل زیر به پروژه اضافه می شود.

http://barnamenevis.org/attachment.php?attachmentid=41849&stc=1&d=1262196599

ساختن Shortcut برنامه بر روي Desktop و All Programs كاربر
براي اينكه Setup شما بتونه روي Desktop و All Programs كاربر ، Shortcut بسازه.مراحل زير رو بايد انجام بديد.
بر روي فايل Primery Output From داخل پوشه Application Folder راست كليك كنيد روي آيتم Create Shortcut From Primery Output كليك كنيد.
حال Shortcut ساخته شده رو وارد پوشه User's Desktop در پنجره سمت چپ نماييد.
همين مراحل رو براي Programs File تكرار كنيد.


نصب برنامه هاي مورد نياز پروژه
حالا دقت کنید مهمترین بخش در setup سازی بخش نصب برنامه های جانبی مورد نیاز برنامه شماست .
برای اضافه کردن برنامه های مورد نیاز برنامه کاربردی شما باید روی پروژه STUP کلیک راست کرده و بروی گزینه propertiesکلیک کنید.ودر فرم باز شده بر رویprerequisites دکمه کلیک کرده و در فرم بعدی موارد مورد نیازتان را تیک زده و بر روی prerequisites from the same location as my application download کلیک کنید.

http://barnamenevis.org/attachment.php?attachmentid=41897&stc=1&d=1262290951


تغيير متن فرم خوش آمد گويي

اول روي پروژه راست كليك كنيد از زير منوي Add روي User InterFace كليك كنيد.
http://barnamenevis.org/attachment.php?attachmentid=54709&stc=1&d=1282673671
در پنجره سمت راست روي فرم Welcome راست كليك كرده و روي Peropertis Windows كليك كنيد.
http://barnamenevis.org/attachment.php?attachmentid=54710&stc=1&d=1282673776
در پنجره Properties مي تونيد ايتم هاي مورد نظرتون رو عوض كنيد.

http://barnamenevis.org/attachment.php?attachmentid=54712&stc=1&d=1282673849

اضافه كردن يك فرم به Setup

قصد داريم فرم Customer Information‌رو به Setup خودمون اضافه كنيم براي اين كار اول در پنجره سمت راست در زير گره Install روي Start راست كليك كرده و روي ايتم Add Dialogكليك كنيد در پنجره باز شده روي فرم Customer Information كليك كنيد تا به اين گره اضافه شود.

http://barnamenevis.org/attachment.php?attachmentid=54714&stc=1&d=1282674151
http://barnamenevis.org/attachment.php?attachmentid=54713&stc=1&d=1282673964
حالا پرو‍ژه تون رو Bulid كنيد،بايد پروژه بدونه نقص Build بشه اگه Error داد مشكل از اين mergemod.dll هست كه بايد تو ويندوزتون رجستر كنيد.
مراحل رجستر كردن تو اين آدرس هست (راحته)
http://support.microsoft.com/kb/329214
دوست عزيز يه سري هم به اين سايت بزن
http://aspalliance.com/622_StepbyStep_Process_of_Creating_a_Setup_and_Dep loyment_Project.1
حالا پروژه تان را build کنید.


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

بعد اضافه كردن Customer Information‌ در پنجره Properties بايد ShowSerialNumber را برابر True نماييد مانند شكل زير.

http://barnamenevis.org/attachment.php?attachmentid=54778&stc=1&d=1282753276
نكته بسيار مهم در اين پنجره SerialNumberTemplate است كه قالب دريافت سريال را به شما نشان مي دهد <%%%%%%%%-###>
در اين قالب كاراكتر هاي # و % و - را مي بينيد كه هريك نشان دهنده ورودي خاصي است.
خط تيره جعبه متن هايي را نشان مي دهد كه در ان بايد سريال وارد شود.
مثلا در قالب بالا ما دو جعبه متن براي دريافت سريال داريم كه اولي بايد 3 كاراكتر در آن وارد شود و دومي 7 كاراكتر سريال در آن وارد مي شود.

اينسالر كاراكتر# را ناديده مي گيرد،ولي اساس تست سريال بر روي كاراكتر هاي % است كه جمع مقادير وارد شده به جاي اين كاراكتر ها تقسيم بر 7 بايد صفر شود.

مثلا اگر در اين قالب سريال :1111111-111 را وارد نماييد مراحل نصب انجام مي شود

مثال :<###%%-####%-%#%-###>
اين قالب براي در يافت سريال 4 جعبه متن را نشان مي دهد .
و يكي از سريال هاي ان اين مي باشد.
11000-10000-301-000
0=7/(3+1+1+1+1)
جمع اين اعداد 21 يا 28 و...
هم شود سريال درست است.
اگر صفر بود سريال درست است.




قبل از اينكه وارد بخش حرفه اي مقاله بشيم جاداره كه از دوست پيگير مون آقاي Hossein-Khoshseyar تشكر به عمل بياد شايد پيگيري هاي ايشون نبود چنين مقاله اي توي تايپيك گنجانده نمي شد.


گفتيم كه قرار دادن سريال براي Setup به صورت عادي در Vs.net كاري الكي هست و هر فردي مي تونه سريال شما رو حدس بزنه براي اينكه سريالي قوي و حرفه اي داشته باشيد ، بايد به ادامه آموزش دقت كنيد.

حرفه اي :اضافه كردن Dll به Setup كه صحت سريال هاي Setup را تاييد مي كند

Orca ابزاري است كه شركت مايكروسافت براي ويرايش دقيق تر و حرفه اي ستاپ ها ارائه كرده ،اين برنامه معمولا داخل پوشه Microsoft SDKs هست، يا كلمه Orca رو داخل درايو C جستجو كنيد .
براي ساخت Dll ما به Vs.net C++‎‎‎‎‎‎‎‎‎‎‎ نياز داريم دوستاني كه مي خواهند Dll بسازند با مراحل ايجاد پروژه Dll آگاه هستند و دوستان ديگر مي توانند از پروژه نمونه استفاده كنند مهم بكار گيري كد زير درون Dll مي باشد كه دوستان حرفه اي مي توانند بنا به خواست نياز خود آن را تغيير دهند.
براي انكه سريعتر به اصل مطلب برسيم دوستان نمونه پروژه ساختن Dll رو از زمينه بردارند. و از روي آن كاركنند.

پروژه ساخت dll نمونه تست شده (ضميمه)




#include "windows.h"


#include "msi.h"
#include "msiquery.h"


extern "C" _declspec(dllexport) UINT __stdcall VerifyPID(MSIHANDLE hInstall);
TCHAR* GetPIDValue(TCHAR*);


extern "C" UINT __stdcall VerifyPID(MSIHANDLE hInstall)
{
UINT nRetVal = 0;
UINT uiMsiRc;
TCHAR szPidKey[MAX_PATH];
TCHAR szSourceDir[MAX_PATH];
TCHAR* lpszPidValue;
DWORD dwBuffer;


dwBuffer = sizeof(szSourceDir)/sizeof(TCHAR);


uiMsiRc = MsiGetProperty(hInstall, TEXT("SourceDir"), szSourceDir, &dwBuffer);


if (ERROR_SUCCESS != uiMsiRc)
{
MessageBox(NULL, "Not able to retrieve the SourceDir property. The setup may be corrupt. Please contact Technical Support.", "Setup Error", MB_OK | MB_ICONEXCLAMATION);
return 0;
}


lpszPidValue = GetPIDValue(szSourceDir);
dwBuffer = sizeof(szPidKey)/sizeof(TCHAR);


uiMsiRc = MsiGetProperty(hInstall, TEXT("PIDKEY"), szPidKey, &dwBuffer);


if (ERROR_SUCCESS != uiMsiRc)
{
MessageBox(NULL, "Not able to retrieve PIDKEY property. The setup may be corrupt. Please contact Technical Support.", "Setup Error", MB_OK | MB_ICONEXCLAMATION);
return 0;
}


int str = lstrcmp(szPidKey, lpszPidValue);


if (str == 0)
MsiSetProperty(hInstall, "PIDCHECK", "TRUE");
else
{
MsiSetProperty(hInstall, "PIDCHECK", "FALSE");
MessageBox(NULL, "Please enter the correct product registration code!", "Invalid Key", MB_OK | MB_ICONINFORMATION);
}


return 0;
}


TCHAR* GetPIDValue(TCHAR* lpszSourceDir)
{
return "123 - 4567890";
}

دقت كنيد كه اين DLL براي BUILD شدن نياز به تنظيماتي داردكه در ادامه توضيح مي دهيم.
از منوي PROJECT بر روي زير منوي PIDCheckDll در پنجره باز شده از سمت چپ رو گره C/C++‎‎‎‎‎‎‎‎‎‎‎ كليك كنيد از آيتم هاي اين گره بر روي GENERAL كليك كنيد و خاصيت Additional Include Directories را با مسير نصب Sdk در هاردتان مسير دهي كنيد.
مثلا c:\Program File \Microsoft Sdk \ include


http://barnamenevis.org/attachment.php?attachmentid=56849&d=1285094828



از گره Linker بر روي ايتم Input كليك كنيد،درون خاصيت Additional Dependencies كلمه Msi.Lib را تايپ نماييد.


http://barnamenevis.org/attachment.php?attachmentid=56850&d=1285094828


چك كنيد كه خصوصيات شما در اين دو فرم شبيه تصوير باشد.

درباره سورس Dll
تابع VerifyPID ابتدا توابع كتابخانه اي Msi رو براي دريافت سريال واردشده از طرف كاربر درون باكس PidKey فراخواني مي كند.يعني كاربر چه سريالي درون باكس وارد كرده است.
بعد سريال وارد شده را با سريال داخلي فايل مقايسه مي كند در صورت صحت داشت كلمه True را درون خصوصيت داخلي PIDCHECK يا در صورت اشتباه بودن كلمه False را درون اين خصوصيت قرار مي دهد طريق تعريف خصوصيتي مانند PIDCHECK را در ادامه توضيح مي دهيم با اين خصوصيت مي توانيد حدس بزنيم كه كاربر سريال را درست وارد كرده است تا به صفحه بعد Setup برويم.
ساخت پروژه Setup مورد نظر
يك پروژه ستاب براي خودتان بسازيد و در بخش user interface فرم Customer Information dialogرا اضافه كنيد .پروژه ساخت را Build نماييد.

تغييرات حرفه اي در Setup ساخته شده و پشتيباني از سريال :
خلاصه مراحل:
حال مي خواهيم فايل Msi ساخته شده توسط پرو‍ژه Setup را با استفاده از نرم افزار Orca (ساخت شركت مايكروسافت) ويرايش نماييم.
اول بايد فايل Dll را به فايل Setup اضافه كنيم ، فايل داخل Dll جا داده مي شودو نيازي نيست آن را همراه فايل Setup داشته باشيم.مرحله بعد ساخت يك Custom Action است كه وظيفه آن فراخواني توابع داخل Dll مي باشد ،كه بايد هنگامي كه برنامه Setup اجرا مي شود انجام گيرد. و بعد ما بايد يك متغيير Booleanايجاد كنيم كه مقادير خروجي از Custom Action در آن قرار گيرد.و در آخر يك شرط قرار مي دهيم كه در صورت True بودن مقدار متغيير به فرم بعدي Setup برويم.

اضافه كردن فايل DLL به فايل Setup:
برنامه Orca را نصب كنيد ، اين برنامه در صورت نصب بودن Microsoft Sdk داخل درايو C شما موجود مي باشد.بعد از اجراي برنامه Orca فايل . (http://barnamenevis.org/attachment.php?attachmentid=55129&d=1283269140)Msi (http://barnamenevis.org/attachment.php?attachmentid=55129&d=1283269140)(دانلود)موجود در release يا Debuge خود را از طربرنامه باز نماييد() ، بعد از باز كردن اين فايل درون محيط نرم افزار در سمت چپ جدول هاي Setup شما كه مي توانيد تغيير دهيد و در سمت راست فيلد هاي اين جداول وجود دارد.
بر روي جدول Binaryكليك نماييد.بر روي يكي از ركوردهاي خالي دوبار كليك كنيد، يا از منوي Tables بر روي آيتم Add row كليك كنيد تا فرم مورد نظر باز شود،داخل فيلد Name كلمهPIDCheckDllرا وارد كنيد،بر روي فيلد Data كليك كنيد،و بر روي دكمه Browse كليك كنيد،فايل Dll را انتخاب كنيد وOkنماييد.حال فايل Dll شما داخل فايل Msi گنجانده مي شود.

اضافه كردن:Custom Action
جدل Custom Actionانتخاب نماييد،و يك ركورد جديد ايجاد كنيد ، مقادير زير را در فرم باز شده وارد نماييد.

Action: CheckPID
Type: 1
Source: PIDCheckDll
Target: _VerifyPID@4

داخل فيلد Action شما نامي براي اينCustom action انتخاب كرده ايد و در فيلد Type عدد يك نشان دهنده آن است كه اين Custom action از يك Dll مخفي شده (همان Dll خودمان)در حال استفاده است ،فيلدSource يعني ما به اين Dll وصل شده ايم كه در مرحله اضافه كردن به خاطر داريد كه اين اسم را براي Dllوارد كرديم ، فيلد Target يعني كدام تابع را داخل اين Dll فراخواني كن.
ايجاد و پيكر بندي خصوصيات مورد نياز:
در اينجا ما بايد متغيير هاي داخلي را ايجاد كنيم كه شرط هاي اعتبار سنجي و بين فرم ها بر روي آن ها استوار است.
مثلا اول بايد خصوصيت PIDCHECKرا ايجاد كنيم كه مقدار آن يا True يا False است و در Setup با استفاده از اين خصوصيت مي توانيم متوجه بشويم كه سريال درست است يا اشتباه.
جدول Propertyرا انتخاب كنيد يك ركورد جديد ايجاد نماييد.و مقادير زير را در فرم باز شده وارد نماييد.

Property: PIDCHECK
Value: FALSE

حال بايد قالب دريافت سريال رو مشخص كنيم ، (يعني چندتا TextBox باشه )
توي اين آموزش ما خيال داريم كه قالب در يافت سريال از دو TextBox تشكليل شده باشه،مثلا4567890-123
براي داشتن چنين قالبي بايد داخل خصوصيت PIDTemplate مقدار <### - #######> رو وارد كنيد ، اگه PidTemplate رو نداريد امكان داره شما هنگام ساخت Setup فرم Customer Information‌رو اضافه نكرده ايد.هنگام اجراي فايل setup دو تا Text Box مي ايد كه اولي قادر به در يافت 3 عدد و دومين TextBox قادر به دريافت 7 عدد از ورودي مي باشد.
مقدار فيلد CustomerInfoForm_ShowSerialرا برابر 1 قرار دهيد تاTextBox ها درون Setup به نمايش در بيايند،
پيكربندي فرم ها
جدولControlرا باز كنيد،ركوردCustomerInfoFormپيدا كنيد،حال ركوردي كه فيلد Control آن برابر SerialEdit هست را پيدا كنيد،مقدار فيلد Attributeرا برابر 3 قرار دهيد ، SerialLabelوهمين اعمال را براي SerialBodyTextانجام دهيد،
جدولControlEvent انتخاب كنيد، از فيلد DialogمقدارCustomerInfoFormرا پيدا نماييد،حال ركوردي را پيدا كنيد كه فيلد Control آن برابر NextButtonو مقدارEventآن برابر ValidateProductID .
مقدار فيلد Event را از ValidateProductID به DoActionتغيير دهيد و مقدار فيلد Argument‌را از{}به CheckPIDتغيير دهيد،
حال ركوردي را پيدا كنيدكه فيلدControl آن برابر NextButtonو فيلد Event ان برابر NewDialog مي باشد ، مقدار داخل فيلد Condition آن را پاك كرده و جمله زير را وارد كنيد.


(PIDCHECK="TRUE") AND CustomerInfoForm_NextArgs<>"" AND CustomerInfoForm_ShowSerial<>""
منبع:
متن بالا ترجمه شده متن موجود در آدرس زير است .دوستان كمي و كاستي هايي وجود دارد كه اينجانب خوشحال مي شوم كه در جريان بگذاريد.

http://www.codeproject.com/KB/install/msinetserial.aspx (http://www.codeproject.com/KB/install/msinetserial.aspx)




طريقه ساخت شورتكات براي uninstall برنامه:
دوستان متن زير به تلاش دوست عزيز و كاربر فعال سايت آقاي Sharif Lotfi (http://barnamenevis.org/member.php?12648-Sharif-Lotfi) فراهم آمده كه جاداره به نوبه خودمون از اين دوست تشكر كنيم.آدرس پست ايشون براي تشكر (http://barnamenevis.org/showthread.php?197771-طریقه-ساخت-setup-با-خود-vs.net/page4)
اگر با VB.Net كار مي كنين به اين صورت عمل كنين :
در بخش ساخت setup در فولدر user's programs menu يا هر جاي ديگه اي كه مي خواين يك shortcut جديد اضافه كنين با نام uninstall myProject (يا هر اسمي كه دوست دارين)
فايلي كه ازش shortcut مي سازين همون primary output هست (همون فايل اجرايي كه از مسير application folder مي ريم) همونطور كه مي بينين اين دقيقا همون فايلي هستش كه براي اجراي برنامه مون ازش استفاده مي كنيم.
روي shortcut جديدي كه ساختين راست كليك كنين و properties رو انتخاب كنين و اين تغييرات رو بدين:
مقدار گزينه Arguments رو برابر

/u=[ProductCode]
بذارين
نام و توضيحات Description مربوط به uninstall رو به دلخواه خودتون تغيير بدين .

حالادر ماژول Main كد زير رو بنويسين :
کد:


Dim arguments As String() = Environment.GetCommandLineArgs()
Dim myArgument As String()
Dim myString As String
For Each argument As String In arguments
Dim myChar As Char() = {"="c}
myArgument = argument.Split(myChar)
myString = myArgument(0)

If myString.ToLower() = "/u" Then
Dim guid As String = myArgument(1)

Dim path As String = Environment.GetFolderPath(Environment.SpecialFolde r.System)
Dim si As ProcessStartInfo
si = New ProcessStartInfo(path + "\\msiexec.exe", "/i " + guid)
Dim myProcess As Process
myProcess = Process.Start(si)
myProcess.Close()
Application.Exit()
End
End If
Next





طریقه اضافه كردن نام و آيكون برنامه توي راست كليك در محيط اكسپلورر ويندوز

نويسنده متن: آقاي Sharif Lotfi (http://barnamenevis.org/member.php?12648-Sharif-Lotfi)
براي تشكر از ايشون به پست ايشون مراجعه مي كنيم (http://barnamenevis.org/showthread.php?197771-%D8%B7%D8%B1%DB%8C%D9%82%D9%87-%D8%B3%D8%A7%D8%AE%D8%AA-setup-%D8%A8%D8%A7-%D8%AE%D9%88%D8%AF-vs.net/page5)

اين هم روش اضافه كردن نام برنامه در راست كليك موس در محيط اكسپلورر ويندوز وقتي كه بخواهيم ويندوز به صورت اتوماتيك با استفاده از پسوند فايل برنامه باز كننده آنرا كه برنامه ماست تشخيص دهد :

روي پروژه ستاپ راست كليك كرده و گزينه ي view وسپس گزينه ي File Types رو انتخاب مي كنيد
در تب File Types روي آيتم File Types on target Machine راست كليك كرده و گزينه ي Add File Type رو كليك مي كنيم.
يك آيتم اضاقه مي شه با نام (New Document Type #1 (no extention
روي اين آيتم كليك كرده و در پنجره Properties در سمت راست مشخصات دلخواهتون رو تنظيم كنين
با فرض اينكه نام نرم افزار شما MySoftware و پسوند فايلهاي مخصوص نرم افزار شما m1.* باشه پيش مي ريم :
گزينه اول كه نام آيتم انتخاب شده است (مي تونه همون نام پيش فرض باشه)
گزينه دوم فايل اجرايي برنامه شماست . كه در محيط ساخت ستاپ اين فايل اجرايي همون Primary Output هستش كه اونو بايد انتخاب كنين و بعد از انتخاب جلوي اين گزينه عبارت
(Primary output from MySoftware(Active ديده خواهد شد . حواستون باشه كه منظورم فايل exeبرنامه نيست
گزينه سوم توضيح مربوط به نرم افزار شماست عبارتي كه اينجا مي نويسين در محيط ويندوز ديده ميشه مثلا بنويسين : MySoftware File يا هر عبارت توضيحي دلخواه
گزينه چهارم معرفي پسوند فايل مخصوص نرم افزار شماست كه بايد بدون نقطه معرفي بشه براي مثال شما مي نويسين m1
گزينه پنجم معرفي آيكون مخصوص فايلهاي m1 هستش با معرفي آيكون دلخواه شما در محيط اكسپلورر ويندوز فايلهاي با پسوند m1 با اين آيكون ديده ميشن
گزينه ششم رو بلد نيستم (پس به درد نمي خوره )
آيتم ساخته شده شما حالا اين شده :
(New Document Type #1 (m1
خوب ، تا اينجا مربوط بود به معرفي فايل با پسوند m1 به برنامه و شناختن اون
حالا مي ريم سراغ تعريف آيتمهايي كه موقع راست كليك در محيط اكسپلورر ويندوز بايد ديده بشن:
روي آيتمي كه ساختين (New Document Type #1 (m1 راست كليك كنين
گزينه Add Action رو انتخاب كنين
آيتم New Document Action #1 اضافه ميشه
روي اين آيتم كليك كرده و در پنجره Properties در سمت راست مشخصات دلخواهتون رو تنظيم كنين
گزينه اول Name عبارتي هست كه قراره شما در منوي راست كليك ماوس ببينيد مثلا اين عبارت
"Open with "MySoftware&
گزينه دوم رو برابر
کد HTML:
"%1"
بذارين
براي گزينه سوم هم عبارت open رو بنويسين
و تمام
حالا بعد از ساخت كامل ستاپ و نصب برنامه مي تونين روي فايل با پسوند m1 راست كليك كنين و منوي اضافه شده رو ببينين .



نمونه پروژه
اين هم يه پروژه نمونه براي دوستان تا مطالب رو بهتر و عملي تر ببينن
توي اين پروژه موارد زير رو داريم :
ساخت يك ديتاتيبل و ديتاگريد
باز كردن و ذخيره كردن يك فايل با پسوند shs
ساخت setup
ايجاد شورتكات براي uninstall
اضافه كردن نام برنامه در راست كليك ماوس در محيط اكسپلورر ويندوز
قابليت خواندن و باز كردن فايل با راست كليك روي فايل يا دابل كليك آيكون فايل
(دقت داشته باشين كه مراحل آخر در محيط ويژوال استوديو قابل دسترسي نيستن و بعد از ساخت ستاپ در محيط اكسپلورر و اجراي فايل ستاپ مي تونين اين قابليتها رو ببينين- يعني بعد از توسعه)

دانلود پروژه (http://barnamenevis.org/attachment.php?attachmentid=60852&d=1290710658)




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


http://barnamenevis.org/attachment.php?attachmentid=55463&stc=1&d=1283619829


بعد داخل برنامه يا Form Load اولين فرم تون كد پايين رو بنويسيد.




IfMy.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\My Software", "Run", Nothing) IsNothingThen

MsgBox("اين نسخه معتبر نمي باشد")

Close() 'خروج از نرم افزار

EndIf



برچسب ها
ساخت ستاپ با ويژوال دات نت ،طراحي ستاپ با ويژوال
ساخت ستاپ،ساخت Setup با Microsoft Visual Studio
ساخت Setup با Setup and Deployment
ساخت ستاپ با Vs.net

اگه سئوالی بود در خدمتم.

به اميد خدا ادامه دارد.....

ghasedak_zb
جمعه 18 دی 1388, 12:26 عصر
سلام
ممنون از مطلب مفیدتون
من خواستم بدونم که چطور می تونم از برنامۀ نصب روی desktop و همچنین در start -all programs
shortcut داشته باشم و ایکون مورد نظرم را برای آن ست کنم
ممنون می شم جوات بدید
منتظرم

sara.f
جمعه 18 دی 1388, 19:33 عصر
سلام
ممنون از مطلب مفیدتون
من خواستم بدونم که چطور می تونم از برنامۀ نصب روی desktop و همچنین در start -all programs
shortcut داشته باشم و ایکون مورد نظرم را برای آن ست کنم
ممنون می شم جوات بدید
منتظرم

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

http://barnamenevis.org/forum/showthread.php?t=192379

meri_rad
سه شنبه 08 تیر 1389, 07:50 صبح
این ارور واسه چیه

Pr0grammer
سه شنبه 08 تیر 1389, 11:39 صبح
این ارور واسه چیه

کدوم Error؟!

Pr0grammer
سه شنبه 08 تیر 1389, 11:44 صبح
این فایل آموزشی هم میتونه مفید باشه :
http://www.4shared.com/file/tGiB4qDj/Make_Setup_For_Project.html

موفق باشید/

mehran5
چهارشنبه 09 تیر 1389, 13:00 عصر
سلام
من تو پروژه ام از sql 2005 استفاده کردم.
می تونید همینجا بگید اگه بخوایم بانک مون به sql experss وصل بشه آیا از کد باید استفاده باید بکنیم و کجا باید ازش استفاده بشه ؟یا راه دیگری برای اتچ کردن دیتا بیس به sql experss هست؟1

MAHDIACTION
یک شنبه 13 تیر 1389, 17:00 عصر
سلام
دوست من شما اگه می خواید از sql express تو پروژه تون استفاده کنید.نیازی به اتچ کردن بانک نیست فقط باید sqlconnection رو به شکل زیر بنویسید.
من معمولا داخل Debug که فایل اجرایی برنامه هست یه پوشه به نام Bank می سازم و فایل بانک رو توی اون قرار میدم که از رشته زیر این کاملا مشخصه.
Public objcon As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=" & Application.StartupPath & "\Bank\MainBank.mdf;Integrated Security=True;User Instance=True")

اگه سوالی بود در خدمتم

mehran5
جمعه 18 تیر 1389, 10:55 صبح
منظورم این بود که فایل ستاپ برنامه رو می سازیم جالا برنامه رو روی کامپیوتر مقصد نصب می کنیم sqlexpressهم راه با برنامه اصلی برنامه نصب میشه .بانک برنامه همراه با فایلهای دیگه بر نامه کپی میشه ولی به sqlexpress اتچ نمی شه حالا چطوری به بانک اتچش کنیم؟

armin1100
یک شنبه 20 تیر 1389, 13:12 عصر
من فايل setup راكه در Vs2008 ساختم در ويندوز 7 مشكل داره؟ يعني سوالم اينه كه حتما بايد vs در ويندوز 7 نصب شده باشه و يا نيازي نيست يعني اگربا ويندوز اكس پي فايل ستاپ درست بكني در سون جواب ميده ؟

Persianality
جمعه 22 مرداد 1389, 02:04 صبح
سلام.
قسمتي كه گفتيد Primary Output انتخاب كنيم ، واسه من هيچ گزينه اي وجود نداره؟
لطفا راهنمايي كنيد؟
ممنون

MAHDIACTION
یک شنبه 24 مرداد 1389, 16:58 عصر
قسمتي كه گفتيد Primary Output انتخاب كنيم ، واسه من هيچ گزينه اي وجود نداره؟
لطفا راهنمايي كنيد؟
ممنون

سلام دوست من

بررسي مسئله

شما داخل Solution Explorer پرو‍ژه اي رو كه با Vsطراحي كرده ايد رو نداريد.
اول پروژه طراحي شده رو باز كنيد
حالا مراحل اضافه كردن Setup به پروژه Vs رو انجام بديد.

File->Add->new Project -> Other Project Types->Setup Project

يه نكته كوچيك
توي صفحه اول همين تايپيك، جايي كه تصوير كليك كردن روي Project Output قرار داره نگاهي به Soultion Explorer بندازيد مي بينيد كه يه پروژه به نام ProBooks روي Setup1 قرار داره اين همون پرو‍ژه اي هست كه مثلا مي خواهيم براش Setup بسازيم
اگه بازم موردي بود من در خدمتم.

hossein-khoshseyar
سه شنبه 02 شهریور 1389, 08:21 صبح
دوست عزیز ممنون از توضیحاتت
خیلی خوب بود
من قبلا همش با اینیستال شیلد کار می کردم. تا اینکه سر یه پروژه ای با اینیستال شیلد به مشکل خوردم و اومدم تو این تاپیک آموزش شما رو دیدم حالا با خود vs مشکلم حل شد
فقط می خواستم ببینم امکانش هست setup که درست می کنیم به کم حرفه ای تر باشه
مثلا موقع نصب حداقل یه اسم و اسم کمپانی بخوادو بعدش شماره سریال و ...
میشه با خود vs از این کارا هم کرد؟
پیشاپیش از جوابت ممنونم

MAHDIACTION
سه شنبه 02 شهریور 1389, 22:28 عصر
فقط می خواستم ببینم امکانش هست setup که درست می کنیم به کم حرفه ای تر باشه
مثلا موقع نصب حداقل یه اسم و اسم کمپانی بخوادو بعدش شماره سریال و ...

سلام دوست من نكته بسيار عالي رو مطرح كرديد.
اين Setup ساز حرفه اي مثل Install Sheid نيست ولي خيلي قشنگ تا حد امكان نيازهاي پرو‍ژه رو بر آورده مي كنه.

يه سري به صفحه اول همين تاپيك بزن.


سوالي بود ،در خدمتم.

hossein-khoshseyar
چهارشنبه 03 شهریور 1389, 09:28 صبح
دوست عزیز بازم ممنون از راهنماییت
یه سئوال دیگه
از همین طریقی که گفتی می شه موقع نصب سریال نامبر از کاربر خواست
اما مقداری که سریال نامبر موتونه داشته باشه رو از کجا می تونیم تعیین کنیم
با همون مقادیر پیش فرض خودش که می ریم سریال نامبر 00000000 رو قبول میکنه
اما اگه بخوایم سریال نامبر رو خودمون تعیین کنیم باید چیکار کنیم؟
ممنون

MAHDIACTION
چهارشنبه 03 شهریور 1389, 20:38 عصر
از همين طريقي که گفتي مي شه موقع نصب سريال نامبر از کاربر خواست
اما مقداري که سريال نامبر موتونه داشته باشه رو از کجا مي تونيم تعيين کنيم

سلام دوست من

بعد اضافه كردن Customer Information‌ در پنجره Properties بايد ShowSerialNumber را برابر True نماييد مانند شكل زير.

http://barnamenevis.org/forum/attachment.php?attachmentid=54778&stc=1&d=1282753276
نكته بسيار مهم در اين پنجره SerialNumberTemplate است كه قالب دريافت سريال را به شما نشان مي دهد <%%%%%%%%-###>
در اين قالب كاراكتر هاي # و % و - را مي بينيد كه هريك نشان دهنده ورودي خاصي است.
خط تيره جعبه متن هايي را نشان مي دهد كه در ان بايد سريال وارد شود.
مثلا در قالب بالا ما دو جعبه متن براي دريافت سريال داريم كه اولي بايد 3 كاراكتر در آن وارد شود و دومي 7 كاراكتر سريال در آن وارد مي شود.

اينسالر كاراكتر# را ناديده مي گيرد،ولي اساس تست سريال بر روي كاراكتر هاي % است كه جمع مقادير وارد شده به جاي اين كاراكتر ها تقسيم بر 7 بايد صفر شود.

مثلا اگر در اين قالب سريال :1111111-111 را وارد نماييد مراحل نصب انجام مي شود

مثال :<###%%-####%-%#%-###>
اين قالب براي در يافت سريال 4 جعبه متن را نشان مي دهد .
و يكي از سريال هاي ان اين مي باشد.
11000-10000-301-000
0=7/(3+1+1+1+1)
جمع اين اعداد 21 يا 28 و...
هم شود سريال درست است.
اگر صفر بود سريال درست است.

منبع:
http://www.dreamincode.net/forums/topic/137990-how-does-the-serial-number-in-setup-and-deployment-work/
سوالي بود در خدمتم

hossein-khoshseyar
چهارشنبه 03 شهریور 1389, 21:41 عصر
با سلام
ممنون از اینکه به سئوالهام جواب می دی
اما یه سئوال دیگه
این که گفتی خیلی بده که
یعنی تصادفی میشه خیلی سریال رو بهش نصبت داد
مثلا هر برنامه ای که با ویژوال استودیو پکیچ شده باشه اگه به جای سریال همش رو صفر بدی از این مرحله رد میشه و این خیلی بد هست
امکانش نیست که یه لیست از سریالها رو براش تعریف کرد که فقط اونا رو قیول کنه؟
یا یه چیز دیگه مثلا اینکه بشه تعیین کرد که مثلا رقم سوم سریال حتما "6" باشه یا هر چیز دیگه ای ؟ تا با این روش بشه مشکل فوق رو حل کرد
پیشاپیش ممنون
در ضمن لینک منبع که تو پست بالا گفتی مشکل داشت و صفحه ای لود نمی شد

MAHDIACTION
چهارشنبه 03 شهریور 1389, 22:21 عصر
سلام دوست من
آقا اينطوري ها هم كه، نيست Microsoft نسنجيده عمل نمي كنه .
البته مثال هاي زيادي براي ساخت سريال هست كه بايد كمي هم خودتون روش مانور بديد و هم بايد مثال هاي مشابه رو بينيد.

مثلا شما اين سريال رو هم مي تونيد وارد كنيد.كه ديگه حدس زدن سخته.

يه بار ديگه اين لينك رو نگاه كن،شايد جواب سوال شما اينجا باشه.
http://www.dreamincode.net/forums/topic/137990-how-does-the-serial-number-in-setup-and-deployment-work

جوابتون رو 4 شهريور مي بينم.

hossein-khoshseyar
پنج شنبه 04 شهریور 1389, 07:39 صبح
مثلا شما اين سريال رو هم مي تونيد وارد كنيد.كه ديگه حدس زدن سخته.


.


سلام
کدوم سریال شما که چیزی ننوشتید؟

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

hossein-khoshseyar
پنج شنبه 04 شهریور 1389, 08:20 صبح
سلام دوست من
آقا اينطوري ها هم كه، نيست Microsoft نسنجيده عمل نمي كنه .
.
با عرض سلام مجدد خدمت شما دوست عزیز
من لینکی که گذاشته بودید رو خوندم چندتا لینک هم از خود مایکروسافت و MSDN پیدا کردم و خوندم
ولی خوندن اینها هنوز من رو روی این باور نگه داشته که پیدا کردن سریال نامبر این پکیچ ها 10 دقیقه هم طول نمیکشه
اگه خواستی یه پکیچ ساده درست کن و براش یه سریال نامبر بزار
من احتمال زیاد میدم (بالای 99% ) که کمتر از 10 دقیقه یه لیست از سریال ها بهت بدم
سنگ مفت گنجیشک هم مفت

MAHDIACTION
پنج شنبه 04 شهریور 1389, 20:30 عصر
سلام
قالب پايين رو چك كن اينطوري ها هم كه شما فكر مي كنيد نيست.
<^^%#^ - ^^^^^ - ^%%%^ - ^%^%% - ^%^^^>

hossein-khoshseyar
پنج شنبه 04 شهریور 1389, 21:21 عصر
سلام
قالب پايين رو چك كن اينطوري ها هم كه شما فكر مي كنيد نيست.
<^^%#^ - ^^^^^ - ^%%%^ - ^%^%% - ^%^^^>

سلام
آخه اگه توجه کرده باشی موقعی که توی یک باکسی از ^ یا % استفاده می کنی موقع نصب فضایی که برای اون اختصاص میده 2 برابر. از این میشه فهمید که کجاها باید حرف قرار داد.
به جای بقیه هم اگه صفر یا هفت قرار بدیم اوکی میشه .اگه شک داری یه فایل ستاپ درست کن تا من سریالش رو برات پیدا کنم

shadi khanum
سه شنبه 09 شهریور 1389, 13:09 عصر
منم موافقم . میشه هر کلیدی رو پیدا کرد. به نظرم روش مطمئنی نیست
یعنی با Setup خود .NET بخواهم کار کنیم نمیشه باش یه سریال مطمئن گذاشت؟!!

MAHDIACTION
سه شنبه 09 شهریور 1389, 19:39 عصر
سلام

هركاري يه روشي داره

اين مسله با كد نويسي و ساخت Dll حل مي شه .
من طريقه انجام اين كار رو پيدا كردم به اميد خدا اگه به نتيجه رسيدم و مطالب رو دسته بندي كردم حتما براي مطالعه ميزارم.
آدرس مطلب مورد نياز
http://www.codeproject.com/KB/install/msinetserial.aspx
اينم يه Setup ساخته شده كه نمي تونيد كد رو حدس بزنيد.(البته اگه بهتون نرسونند)

hossein-khoshseyar
چهارشنبه 10 شهریور 1389, 10:27 صبح
سلام

هركاري يه روشي داره

اين مسله با كد نويسي و ساخت Dll حل مي شه .
من طريقه انجام اين كار رو پيدا كردم به اميد خدا اگه به نتيجه رسيدم و مطالب رو دسته بندي كردم حتما براي مطالعه ميزارم.
آدرس مطلب مورد نياز
http://www.codeproject.com/KB/install/msinetserial.aspx
اينم يه Setup ساخته شده كه نمي تونيد كد رو حدس بزنيد.(البته اگه بهتون نرسونند)



هرچند که من هنوز صفحه ای رو که لینک دادید نخوندم و فایل ست آپ رو ندیدم
ولی خوب دیدی که همین طوری با چند تا قالب الکی نمی شد یک سریال مطمئن ساخت
نیاز به کد نویسی اضافه داره!!!

MAHDIACTION
شنبه 13 شهریور 1389, 23:22 عصر
با سلام خدمت دوستان عزيز
و سلام وي‍ژه خدمت دوست پيگير hossein-khoshseyar .
من مطالب داخل اين لينك (http://www.codeproject.com/KB/install/msinetserial.aspx)رو امتحان كردم ، كاملا جواب مي ده ،و شما هر نوع سريالي كه به خواهيد مي تونيد براي Setupخودتون طراحي كنيد.

به زودي مطالب رو ترجمه و دسته بندي مي كنم و براي دوستان قرار مي دهم.
مطالب بسيار ساده بيان شده بد نيست يه مطالعه كنيد.



منتظر انتقاد و پيشنهادات تون هستم.
اگه سوالي بود در خدمتم .

hossein-khoshseyar
یک شنبه 14 شهریور 1389, 09:22 صبح
سلام

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

MAHDIACTION
سه شنبه 30 شهریور 1389, 22:47 عصر
سلام به دوستان عزيز
وعده اي كه داده بودم رو عملي كردم .
ولي نيازمند همت شماست تا با نظرات و انتقادات خودتون مطالب رو ياري بديد.
به ضميمه اين پست دقت نكنيد.
متن اصلي رو داخل پست اول اين تايپيك قرار دادم.

hossein-khoshseyar
چهارشنبه 31 شهریور 1389, 07:13 صبح
سلام به دوستان عزيز
وعده اي كه داده بودم رو عملي كردم .
ولي نيازمند همت شماست تا با نظرات و انتقادات خودتون مطالب رو ياري بديد.



با سلام
ولی من که چیزی از این عکسها متوجه نشدم
اگه ممکنه یه کم توضیح بده
بازم ممنون

MAHDIACTION
چهارشنبه 31 شهریور 1389, 16:34 عصر
با سلام
ولی من که چیزی از این عکسها متوجه نشدم
اگه ممکنه یه کم توضیح بده
بازم ممنون
سلام
متن اصلي رو داخل پست اول اين تايپيك قرار دادم.

nasseritemp
یک شنبه 02 آبان 1389, 09:31 صبح
سلام.
من با روشی که شما گفتید Setup درست کردم ولی یک مشکل پیش اومد اون هم اینه که داخل پروژه با کلیک بر روی Button؛ یک فایل Excel با استفاده از یک dll باز میشه ولی در برنامه نصب شده با انجام کلیک فوق کلا از برنامه خارج میشه.
با تشکر

graphic
یک شنبه 02 آبان 1389, 21:54 عصر
سلام به همگی
ما یه برنامه داریم توی VB.Net که از crystalreport استفاده کردیم برای setup سازی در قسمت rerequisites
crystalرو انتخاب کردیم
برنامه نسب هم میشه ولی صفحاتی که توشن crystal هست ERROR دارن ( متن error طولانی ولی در مورد crystalreport هستش) در وافع اصلا باز نمیشن!!:اشتباه:
ممنون میشم کمکمون کنین.

Sharif Lotfi
یک شنبه 02 آبان 1389, 22:20 عصر
دوست عزيز . سلام و خسته نباشين به شما كه خيلي زحمت كشيدين
منم با خود محيط VS ستاپ مي ساختم و يكي از مشكلات اصليم پرتابل بودن برنامه بود كه با راهنمايي شما حل مي شه انشا...
خيلي وقته كه يه سوال دارم و چند بارم مطرح كردم كسي جواب نداده . از شما هم مي پرسم خدا كنه به نتيجه برسم:
ايا امكانش هست كه متن داخل پنجره ها و دكمه ها رو توي پنجره هاي interface فارسي كرد ؟
من وقتي اين كارو مي كنم ارور ميده.

MAHDIACTION
یک شنبه 02 آبان 1389, 22:47 عصر
سلام.
من با روشی که شما گفتید Setup درست کردم ولی یک مشکل پیش اومد اون هم اینه که داخل پروژه با کلیک بر روی Button؛ یک فایل Excel با استفاده از یک dll باز میشه ولی در برنامه نصب شده با انجام کلیک فوق کلا از برنامه خارج میشه.
با تشکر

سلام
دوست من اگه امكان داره بيشتر توضيح بديد ،(امكان داره تصوير)

من احتمال ميدم مشكل شما يه جايي توي نرم افزار Orca باشه امكان داره يه جا اشتباهي داريد كار مي كنيد، من سعي مي كنم در اولين فرصت تصاوير مربوط به محيط Orca رو قرار بدم

MAHDIACTION
یک شنبه 02 آبان 1389, 22:49 عصر
سلام به همگی
ما یه برنامه داریم توی VB.Net که از crystalreport استفاده کردیم برای setup سازی در قسمت rerequisites
crystalرو انتخاب کردیم
برنامه نسب هم میشه ولی صفحاتی که توشن crystal هست ERROR دارن ( متن error طولانی ولی در مورد crystalreport هستش) در وافع اصلا باز نمیشن!!:اشتباه:
ممنون میشم کمکمون کنین.

سلام به دوست عزيز
اگه متن Error رو قراربديد عالي ميشه ولي شما دقت كنيد كه، احتمالا كريستال ريپورت توي سيستم مقصد نصب نمي شه ،اگه دستي نصب كنيد مشكل احتمالا حل مي شه، كريستال ريپورت كنار فايل ستاپ هست .
اگه سوالي بود در خدمتم

MAHDIACTION
یک شنبه 02 آبان 1389, 22:56 عصر
دوست عزيز . سلام و خسته نباشين به شما كه خيلي زحمت كشيدين
منم با خود محيط VS ستاپ مي ساختم و يكي از مشكلات اصليم پرتابل بودن برنامه بود كه با راهنمايي شما حل مي شه انشا...
خيلي وقته كه يه سوال دارم و چند بارم مطرح كردم كسي جواب نداده . از شما هم مي پرسم خدا كنه به نتيجه برسم:
ايا امكانش هست كه متن داخل پنجره ها و دكمه ها رو توي پنجره هاي interface فارسي كرد ؟
من وقتي اين كارو مي كنم ارور ميده.

سلام دوست من
براي حل اين مشكل شما بايد با محيط Orca كار كنيد و با آيتم هاي اون آشنا بشيد .
گوشه اي از كار با محيط Orca رو تو پست اول همين تايپيك مي تونيد مطالعه كنيد.
اگه سوالي بود در خدمتم.

MAHDIACTION
پنج شنبه 06 آبان 1389, 22:32 عصر
سلام به همگی
ما یه برنامه داریم توی VB.Net که از crystalreport استفاده کردیم برای setup سازی در قسمت rerequisites
crystalرو انتخاب کردیم
برنامه نسب هم میشه ولی صفحاتی که توشن crystal هست ERROR دارن ( متن error طولانی ولی در مورد crystalreport هستش) در وافع اصلا باز نمیشن!!:اشتباه:
ممنون میشم کمکمون کنین.
سلام دوست من

يه سري به آدرس زير بزن.
اميدوارم مشكل شما حل بشه كه قطعا هم همينطور خواهد شد.
http://barnamenevis.org/forum/showthread.php?t=79689
شايد هم مشكل شما از License باشه.
http://barnamenevis.org/forum/attachment.php?attachmentid=59227&stc=1&d=1288294296
اگه سوالي بود من در خدمتم

b.mahsa
یک شنبه 23 آبان 1389, 11:47 صبح
سلام و ممنون از تاپيك خوبتون.
اگر بخوام كه موقع نصب Component اي مثل telerik يا هر برنامه جانبي ديگه اي هم نصب بشه. چي كار بايد بكنم؟
امكانش هست؟

MAHDIACTION
دوشنبه 24 آبان 1389, 17:34 عصر
سلام دوست من
ثبت كامپوننت ها در سيستم مقصد:
اول شمابايد فايل Dll رو به پروژه Setup اضافه كنيد و بعد روي آن راست كليك كرده و گزينه Propertiseرا بزنيد و بعد در بخش صفت Register را به vsdraCOM تغيير دهيد.
البته بعضي از Dll ها ظاهرا پشتيباني نمي شند ، من تست نكردم. اگه مشكلي بود يه


http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/ce721916-5829-46fb-94cd-517e31eb523e/ (http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/ce721916-5829-46fb-94cd-517e31eb523e/)
اضافه كردن SETUP هاي ديگر
مسير زير رو به اميد خدا به زودي ترجمه مي كنم توي همين تايپيك قرار مي دم
http://msdn.microsoft.com/en-us/library/ms165429(v=VS.80).aspx

Sharif Lotfi
پنج شنبه 04 آذر 1389, 21:01 عصر
با تشكر فراوان از دوست عزيزمون MAHDIACTION و با اجازه ايشان براي اينكه تاپيك حاضر خيلي كامل و بدور از حاشيه است من هم در ادامه مطلب ايشون براي دوستاني كه مايلند تا علاوه بر ساخت setup شورتكاتي براي Uninstall برنامه بسازن آموزشش رو تو همين تاپيك قرار مي دم .
از دوست عزيزمون هم خواهش مي كنم اگر صلاح دونستن لينك و يا متن اين بخش رو هم به پست اول اضافه كنن.
طريقه ساخت شورتكات براي uninstall برنامه:
اگر با VB.Net كار مي كنين به اين صورت عمل كنين :
در بخش ساخت setup در فولدر user's programs menu يا هر جاي ديگه اي كه مي خواين يك shortcut جديد اضافه كنين با نام uninstall myProject (يا هر اسمي كه دوست دارين)
فايلي كه ازش shortcut مي سازين همون primary output هست (همون فايل اجرايي كه از مسير application folder مي ريم) همونطور كه مي بينين اين دقيقا همون فايلي هستش كه براي اجراي برنامه مون ازش استفاده مي كنيم.
روي shortcut جديدي كه ساختين راست كليك كنين و properties رو انتخاب كنين و اين تغييرات رو بدين:
مقدار گزينه Arguments رو برابر

/u=[ProductCode]
بذارين
نام و توضيحات Description مربوط به uninstall رو به دلخواه خودتون تغيير بدين .

حالادر ماژول Main كد زير رو بنويسين :
کد:


Dim arguments As String() = Environment.GetCommandLineArgs()
Dim myArgument As String()
Dim myString As String
For Each argument As String In arguments
Dim myChar As Char() = {"="c}
myArgument = argument.Split(myChar)
myString = myArgument(0)

If myString.ToLower() = "/u" Then
Dim guid As String = myArgument(1)

Dim path As String = Environment.GetFolderPath(Environment.SpecialFolde r.System)
Dim si As ProcessStartInfo
si = New ProcessStartInfo(path + "\\msiexec.exe", "/i " + guid)
Dim myProcess As Process
myProcess = Process.Start(si)
myProcess.Close()
Application.Exit()
End
End If
Next

و تمام

Sharif Lotfi
پنج شنبه 04 آذر 1389, 21:09 عصر
اين هم روش اضافه كردن نام برنامه در راست كليك موس در محيط اكسپلورر ويندوز وقتي كه بخواهيم ويندوز به صورت اتوماتيك با استفاده از پسوند فايل برنامه باز كننده آنرا كه برنامه ماست تشخيص دهد :

روي پروژه ستاپ راست كليك كرده و گزينه ي view وسپس گزينه ي File Types رو انتخاب مي كنيد
در تب File Types روي آيتم File Types on target Machine راست كليك كرده و گزينه ي Add File Type رو كليك مي كنيم.
يك آيتم اضاقه مي شه با نام (New Document Type #1 (no extention
روي اين آيتم كليك كرده و در پنجره Properties در سمت راست مشخصات دلخواهتون رو تنظيم كنين
با فرض اينكه نام نرم افزار شما MySoftware و پسوند فايلهاي مخصوص نرم افزار شما m1.* باشه پيش مي ريم :
گزينه اول كه نام آيتم انتخاب شده است (مي تونه همون نام پيش فرض باشه)
گزينه دوم فايل اجرايي برنامه شماست . كه در محيط ساخت ستاپ اين فايل اجرايي همون Primary Output هستش كه اونو بايد انتخاب كنين و بعد از انتخاب جلوي اين گزينه عبارت
(Primary output from MySoftware(Active ديده خواهد شد . حواستون باشه كه منظورم فايل exeبرنامه نيست
گزينه سوم توضيح مربوط به نرم افزار شماست عبارتي كه اينجا مي نويسين در محيط ويندوز ديده ميشه مثلا بنويسين : MySoftware File يا هر عبارت توضيحي دلخواه
گزينه چهارم معرفي پسوند فايل مخصوص نرم افزار شماست كه بايد بدون نقطه معرفي بشه براي مثال شما مي نويسين m1
گزينه پنجم معرفي آيكون مخصوص فايلهاي m1 هستش با معرفي آيكون دلخواه شما در محيط اكسپلورر ويندوز فايلهاي با پسوند m1 با اين آيكون ديده ميشن
گزينه ششم رو بلد نيستم (پس به درد نمي خوره :لبخند:)
آيتم ساخته شده شما حالا اين شده :
(New Document Type #1 (m1
خوب ، تا اينجا مربوط بود به معرفي فايل با پسوند m1 به برنامه و شناختن اون
حالا مي ريم سراغ تعريف آيتمهايي كه موقع راست كليك در محيط اكسپلورر ويندوز بايد ديده بشن:
روي آيتمي كه ساختين (New Document Type #1 (m1 راست كليك كنين
گزينه Add Action رو انتخاب كنين
آيتم New Document Action #1 اضافه ميشه
روي اين آيتم كليك كرده و در پنجره Properties در سمت راست مشخصات دلخواهتون رو تنظيم كنين
گزينه اول Name عبارتي هست كه قراره شما در منوي راست كليك ماوس ببينيد مثلا اين عبارت
"Open with "MySoftware&
گزينه دوم رو برابر

"%1"
بذارين
براي گزينه سوم هم عبارت open رو بنويسين
و تمام
حالا بعد از ساخت كامل ستاپ و نصب برنامه مي تونين روي فايل با پسوند m1 راست كليك كنين و منوي اضافه شده رو ببينين .

Sharif Lotfi
پنج شنبه 04 آذر 1389, 21:44 عصر
اين هم يه پروژه نمونه براي دوستان تا مطالب رو بهتر و عملي تر ببينن
توي اين پروژه موارد زير رو داريم :
ساخت يك ديتاتيبل و ديتاگريد
باز كردن و ذخيره كردن يك فايل با پسوند shs
ساخت setup
ايجاد شورتكات براي uninstall
اضافه كردن نام برنامه در راست كليك ماوس در محيط اكسپلورر ويندوز
قابليت خواندن و باز كردن فايل با راست كليك روي فايل يا دابل كليك آيكون فايل
(دقت داشته باشين كه مراحل آخر در محيط ويژوال استوديو قابل دسترسي نيستن و بعد از ساخت ستاپ در محيط اكسپلورر و اجراي فايل ستاپ مي تونين اين قابليتها رو ببينين- يعني بعد از توسعه)

b.mahsa
سه شنبه 23 فروردین 1390, 20:21 عصر
با سلام
آقا مهدی بازم ممنون از تاپیک خیلی خوبتون .
من نتونستم comment و اسم shortcut ها و ... بقیه چیز ها رو فارسی بنویسم . این Setup ، فارسی رو Support نمیکنه یا من نتونستم تنظیمش کنم؟؟
البته من از windows 7 استفاده میکنم . روی xp تست نکردم

8813222
شنبه 21 خرداد 1390, 21:49 عصر
با سلام

لطفا آموزش ستاپ سازی در visual studio 2010رو هم بذارید:تشویق::تشویق::تشویق:: شویق:

Hooman_vb
یک شنبه 29 خرداد 1390, 01:03 صبح
آقا جان بچه هاتون کمک
دیگه حالم از هرچی VS و Sql توی دنیا با تمام ورژن های موجود داره به هم می خوره.
من تمام این مراحل رو انجام دادم بازم Error داره :
A network-related or instance-specified error occured while stablishing a connection to SQL Server.The server was not found or was not accessible.Verify that the instance name is correct and the SQL Server is configured to allow remote connection ...

Hooman_vb
یک شنبه 29 خرداد 1390, 22:35 عصر
لطفا جواب بدین...

saeed_sho
یک شنبه 12 تیر 1390, 17:38 عصر
سلام میشه اون فای dll که با زبان c++برای سریال نامبر نوشتید رو به زبان وی بی برام بزارید
ممنون

M.Fekri
چهارشنبه 12 مرداد 1390, 15:31 عصر
سلام
مشکل از connection string که
data source=.\sqlexpress;attachdbfilename=|datadictiona ry|\test.mdf;integrated security=true;connect timeout=30;user instance=true
احتمالا به این صورت درست می شه.بستگی داره که چه طور به دیتابیس connnect می شوید.
به جای |datadictionary| هم مسیر فایل mdf را قرار می دهید.

sayan
سه شنبه 25 مرداد 1390, 12:27 عصر
سلام .

جرا setup ای که با ویژوال استادیو نسخه 2010 در ویندوز 7 میسازیم حروف فارسی بصورت کاراکترهای علامت سوال نشان داده می شود ؟ چاره کار چیست ؟

saha_h2001
دوشنبه 21 شهریور 1390, 13:20 عصر
سلام دوستان عزیز
فوری فوری فوری:خجالت:
من یه پروژه با سی شارپ و تکنولوژی لینک نوشتم و بانک SQL Server
میخوام این برنامه را بصورت پرتابل در بیارم که هر جایی بدون استاده به نصب و چیزای دیگه ازش استفاده کنم به گونه ای که اطلاعات قبلی باشند
لطفا راهنماییم کنید کارم خیلی گیره

Alannysmeashy
دوشنبه 21 شهریور 1390, 20:57 عصر
من قطعا این را به دوستانم توصیه

Alannysmeashy
دوشنبه 21 شهریور 1390, 21:03 عصر
کاملا جذاب پست

مرتضی تقدمی
یک شنبه 30 بهمن 1390, 23:07 عصر
سلام
ممنون بابت آموزش.
موفق باشید

123456789momo
سه شنبه 25 تیر 1392, 11:19 صبح
سلام
من میخوام فایل setup پروژم فقط یک بار قابلیت نصب شدن داشته باشه باید چه کاری انجام بدم
خیلی فوری هستش لطفا کمک کنید
من با vs 2010 و #c کار می کنم
با تشکر

NaserHadi
دوشنبه 28 دی 1394, 14:44 عصر
باسلام
بهترین روش برای اضافه کردن فایل دیتابیس به ستاپ برنامه چیه؟
با تشکر