PDA

View Full Version : نحوه ی ساختن فایل setup ی که قابلیت uninstall شدن داشته باشد



AmirAlimadadi
شنبه 06 مهر 1387, 12:15 عصر
با سلام به همه
می دونم که سوالم شاید تکراری به نظر برسه، ولی من هر چی تو سایت گشتم به جواب مورد نظرم نرسیدم.
من یه پروژه نوشتم که می خوام set up سازی براش کنم، همراه این پروژه من باید .net framework هم بره.
ممنون می شم اگه کمکم کنین

niloofar norouzi
شنبه 06 مهر 1387, 13:22 عصر
با سلام به همه
می دونم که سوالم شاید تکراری به نظر برسه، ولی من هر چی تو سایت گشتم به جواب مورد نظرم نرسیدم.
من یه پروژه نوشتم که می خوام set up سازی براش کنم، همراه این پروژه من باید .net framework هم بره.
ممنون می شم اگه کمکم کنین
فصل 21 کتاب هاشمیان کامل توضیح داده

Esmail Solhkhah
یک شنبه 07 مهر 1387, 00:33 صبح
سلام دوست عزیز
تو قسمت Property پروژه ستاپی که ساختی دکمه Prerequisites رو بزن
و در پنجره ای که باز میشه رادیو باتن وسطی رو انتخاب کن پروژه رو بیلد کنی میبینی که دات نت هم اضافه شده البته میتونی به غیر دات نت ابزارهای لازمه دیگه رو هم تو همون صفحه انتخاب کنی.
موفق باشی.

AmirAlimadadi
دوشنبه 08 مهر 1387, 08:50 صبح
با تشکر از همه شما دوستان
من تونستم set up رو بسازم، اما یه مشکل وجود داشت.
من می خوام که قسمت uninstall رو هم در منوی start داشته باشم، یعنی اینکه بعد از install کردن، گزینه uninstall رو هم در all programs سیستم عامل داشته باشم که بشه همون جا uninstall کرد

Esmail Solhkhah
دوشنبه 18 آذر 1387, 01:38 صبح
سلام دوست عزیز
میتونی از آخرین نسخه Install Shiled استفاده کنی
مشکل فقط اینه که باید سی دی آموزششو بگیری (البته اگه بشه گفت مشکل)

مهدی رحیم زاده
دوشنبه 18 آذر 1387, 06:09 صبح
من توی VS نتونستم این کار رو انجام بدم و فکر هم نمی کنم که به این سادگیا باشه اگه می خوای اونو همداشته باشی از اینستال شیلد استفاده کن .
موفق باشید .

ehsan248
جمعه 22 آذر 1387, 01:15 صبح
توی سایت codeprojet هست کار سختیه به درد سرش نمی ارزه

masoud.t123
شنبه 05 بهمن 1387, 18:56 عصر
setup factory رو امتحان کن

#target
یک شنبه 06 بهمن 1387, 11:45 صبح
از Tarma ExpertInstall 3.XX یا Tarma Installer 5.XX استفاده کن چون کاملا ساده و جالبه قابلیت ویرایش کامل صفحات رو هم داری البته اگر کرکشو پیدا کنی (کرک هست ولی بعد از ساخت فایل , فایل رو حالت آزمایشی هست) البته خود Visual Studio هم قابلیت ساخت Setup داره .

Tarma Installer قابلیت اینو داره که در All Program هم Uninstall بذاری .

(
اگر که برنامه های دیگه قابلیت ویراش صفحات رو داره اما گزینه نام شرگت سازنده در قسمت سمت چپ پایین غیر قایل تغییره ولی در Tarma Expert Install چنین قابلیتی وجود داره
)

ehsan248
پنج شنبه 01 اسفند 1387, 00:58 صبح
سلام
یه نمونه برنامه ساخت Uninstall
http://www.codeproject.com/KB/install/DeployUninstall.aspx

s_rezaei
شنبه 29 فروردین 1388, 12:45 عصر
سلام.
لطف می کنید مراحل ساخت setupدر vb.net2008 با بانک sql2000 رو برای یک مبتدی شرح بدید؟ ممنون میشم

mom alone
چهارشنبه 02 اردیبهشت 1388, 08:17 صبح
خوب عزیزان 2 تا تاپیک پایین تر من جوابتون رو داده بودمااااااااااااا

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

AmirAlimadadi
شنبه 10 بهمن 1388, 17:40 عصر
سلام دوستان
اگه بخواهیم که در موقع نصب پروژه یه فولدر در یه جای خاص (مثلا درایو c)، بدون در نظر گرفتن این موضوع که پروژه کجا نصب می شه، کپی بشه چی کار باید بکینم؟؟؟
من می خوام بعد از نصب برنامه ام روی کامپیوتر مقصد(بدون توجه به اینکه کجا نصب می شه)، توی درایو c یه فولدر به همراه تعدادی فایل کپی کنم
ممنون

Sharif Lotfi
جمعه 23 بهمن 1388, 17:00 عصر
من می خوام که قسمت uninstall رو هم در منوی start داشته باشم، یعنی اینکه بعد از install کردن، گزینه uninstall رو هم در all programs سیستم عامل داشته باشم که بشه همون جا 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

و تمام
موفق و سبز باشي دوست عزيز

AmirAlimadadi
سه شنبه 27 بهمن 1388, 13:50 عصر
ممنون از شما دوست عزیز، اما آیا با #C هم همین طوری هست که گفتین

Sharif Lotfi
سه شنبه 27 بهمن 1388, 17:10 عصر
بله قربان . در #C هم همين جوريه . روش همينه .
موفق و سبز باشي

خانم گل
یک شنبه 02 اسفند 1388, 20:10 عصر
تبدیل کد بالا به c# هم این میشه:
[
STAThread]
static void Main()
{
string[] args = Environment.GetCommandLineArgs();
bool isRunnable = true;
foreach (string argument in args)
{
if (argument.Split("=".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)[0].ToLower() == "/u")
{
string guid = argument.Split("=".ToCharArray(),StringSplitOptions.RemoveEmptyEntri es)[1];
string path = Environment.GetFolderPath(Environment.SpecialFolde r.System);
ProcessStartInfo si=new ProcessStartInfo(path+"\\msiexec.exe","/x "+guid);
Process.Start(si);
Application.Exit();
isRunnable = false;
}
}
if (isRunnable)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
Application.Run(new myForm());
}
}