PDA

View Full Version : نصب نرم افزار از داخل برنامه



ghamgin
جمعه 18 فروردین 1391, 09:45 صبح
سلام دوستان عزیز
من توی برنامه از فایل فلش استفاده کردم
و لازمه قبل از اجرای برنامه در سیستم مقصد فلش پلیر نصب بشه
کسی می دونه چطور با اجرای برنامه و زدن کلید نصب در صفحه اصلی می تونم برنامه فلش پلیر رو از فولدر برنامه فراخوانی و نصب کنم؟؟؟؟؟
ممنونم

aghayex
جمعه 18 فروردین 1391, 10:38 صبح
شما باید تاپیک تو در این تالار می زدی
http://barnamenevis.org/forumdisplay.php?145-Setup-%D9%88-Deployment
شما اگه نصب برنامه اصلی تو با اینستایل شیلد انجام می دی خوب همون جا هم بگو تا فلش پلیر رو در صورت نصب نبودن برات نصب کنه .

ghamgin
جمعه 18 فروردین 1391, 16:06 عصر
شما باید تاپیک تو در این تالار می زدی
http://barnamenevis.org/forumdisplay.php?145-Setup-%D9%88-Deployment
شما اگه نصب برنامه اصلی تو با اینستایل شیلد انجام می دی خوب همون جا هم بگو تا فلش پلیر رو در صورت نصب نبودن برات نصب کنه .

سلام
نه برنامه رو setup نکردم
گفتم توی سیستم دانشگاه بخوام ارائه بدم و برنامه فلش نیست چکار کنم از داخل برنامه خودم نصبش کنم؟؟؟؟؟؟؟؟؟:گریه:

ghamgin
شنبه 19 فروردین 1391, 16:43 عصر
سلام
نه برنامه رو setup نکردم
گفتم توی سیستم دانشگاه بخوام ارائه بدم و برنامه فلش نیست چکار کنم از داخل برنامه خودم نصبش کنم؟؟؟؟؟؟؟؟؟:گریه:

سلام
خواهش می کنم یکی کمک کنه؟؟؟:گریه:
ممنون

ghamgin
شنبه 19 فروردین 1391, 16:54 عصر
سلام
نه برنامه رو setup نکردم
گفتم توی سیستم دانشگاه بخوام ارائه بدم و برنامه فلش نیست چکار کنم از داخل برنامه خودم نصبش کنم؟؟؟؟؟؟؟؟؟:گریه:

سلام
از دوستان
کسی نمی دونه
خواهش می کنم کمک کنید...
:ناراحت::گریه:

aghayex
شنبه 19 فروردین 1391, 21:33 عصر
دوست عزیز شما کار می خاید انجام بدید که هیچ منطقی پشتش نیست .
اگه برنامت ست آپ نیست و می خایت فقط پروژتو ارائه بدید خوب یه زحمت بکش فلش پلییر رو هم نصب کن
اگه برنامت رو می خای اجرا کنی خوب برنامتو به وسیله برنامه spoon پرتابل کن که در موقع پرتابل کردن فلش رو هم بهش اضافه کن در کل من موندم چی بگم

programerinfonet
شنبه 19 فروردین 1391, 23:13 عصر
ببین دوست عزیز اون جور که من منظورتو متوجه شدم اینه که شما می خوایی از درون برنامت نرم افزار فلش پلیر رو نصب کنی اگه منظورت اینه باید بگم که شما ابتدا فایل نصب فلش پلیر رو در پوشه ی بین کپی کن و بعد از قسمت propertis پروژه اونو اضافه کن و فایل رو فراخوانی کن
اگه خواستی بگو بیشتر راهنماییت کنم

ehsanes
یک شنبه 20 فروردین 1391, 10:26 صبح
سلام
من این کار قبلا انجام دادم اتفاقا برای پروژه پایان ترم بود فلش پلیر مخفی نصب کردم در حال نصب هم یک intro گذاشتم تنها مشکلش در ویندوز سون این است که uac به برنامه گیر میده (چون داره مخفی نصب میکنه ) که اون در برنامه به صورت توجه نوشتم تا کاربر yes بزنه ورژن فلش پلیر هم چک کردم تا در صورتی که فلش پلیر نصب نیست یا ورژنش پایین تر از ورژنی هست که من اسنفاده کردم اونوقت نصب شروع کنه
کد برنامه
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Media;
using System.IO;
using System.Diagnostics;
using Microsoft.Win32;

namespace intro
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}




private void Form1_Shown_1(object sender, EventArgs e)
{
Form2 dialog = new Form2();
DialogResult result = dialog.ShowDialog();
Application.Exit();
}

private void Form1_Load(object sender, EventArgs e)
{
timer1.Enabled = true;
timer1.Interval = 220;
double version = 0;
string subkey = @"CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000}\InprocServer32";
RegistryKey key;
try
{
key = Registry.ClassesRoot.OpenSubKey(subkey, false);
string path = key.GetValue("").ToString();
if (File.Exists(path))
{
FileVersionInfo info = FileVersionInfo.GetVersionInfo(path);
string ver = string.Format("{0}.{1}", info.ProductMajorPart, info.ProductMinorPart);
version = double.Parse(ver);
}
key.Close();

}
catch
{
}
toolStripLabel3.Text = version.ToString();

if (toolStripLabel3.Text == "0" || toolStripLabel3.Text == "7" || toolStripLabel3.Text == "8" || toolStripLabel3.Text == "9")
{
toolStripLabel4.Visible = true;
toolStripButton1.Visible = true;
string folder = System.IO.Path.GetDirectoryName(Application.Execut ablePath);
string path = System.IO.Path.Combine(folder, "install_flash_player_10_active_x.exe");
// string arguments = "/install";
string arguments = "/s";
System.Diagnostics.Process.Start(path, arguments);


}
else
{
toolStripLabel4.Visible = false;
toolStripButton1.Visible = false;
toolStripButton2.Visible = true;
toolStripLabel5.Visible = true;
// label2.Visible = false;
// toolStripLabel3.Visible =false;
// label2.Text=" فلش پلیر نصب است";
}
}



private void timer1_Tick(object sender, EventArgs e)
{
toolStripProgressBar1.Value += 1;
toolStripLabel2.Text = Convert.ToString(toolStripProgressBar1.Value) + "%";
if (toolStripProgressBar1.Value == 100)
{
toolStripProgressBar1.Value = 0;
timer1.Enabled = false;
}

}
}
}
یه مشکل دیگه هم که ممکنه پیش بیاد این که net. روی کامپیوتر کاربر نصب نباشه که اون هم با Xenocode Virtual Application Studio 2010 حل کردم اما بهتر که برنامه با c++ یا دلفی بنویسی

ghamgin
یک شنبه 20 فروردین 1391, 12:52 عصر
ببین دوست عزیز اون جور که من منظورتو متوجه شدم اینه که شما می خوایی از درون برنامت نرم افزار فلش پلیر رو نصب کنی اگه منظورت اینه باید بگم که شما ابتدا فایل نصب فلش پلیر رو در پوشه ی بین کپی کن و بعد از قسمت propertis پروژه اونو اضافه کن و فایل رو فراخوانی کن
اگه خواستی بگو بیشتر راهنماییت کنم

سلام
ممنون از راهنمایی تون
اره منظورم همینه
اگه ممکنه بیشتر راهنمایی بفرمایید
ممنون می شم اگه برام یک نمونه بزارید
(خیلی درگیرشم...:ناراحت:)
ممنون

programerinfonet
یک شنبه 20 فروردین 1391, 15:26 عصر
دوست عزیز در این مثال فایل صوتی ذکر شده اما خوب شما فایل نصب رو جایگزین کن

برای دسترسی به فایلهای صوتی داخل Resource و پخش کردن اونها نمیشه مانند دسترسی به bitmap ها یا .... عمل کرد.برای این کار میشه طبق مثال زیر عمل کرد.....
این مثال واسه وقتیه که یک فایل wav در resource وجود داشته باشه.برای فایل های بیشتر میشه از ArrayList استفاده کرد....
اضافه کردن namespace ها:
1
2
3
4
5
6
7
<span dir="ltr">
using System.Reflection;
using System.IO;
using System.Media;
using System.Runtime.InteropServices;
</span>





اضافه کردن dll مربوط به Windows Media Player :
1
2
3
4
5
6
7
<span dir="ltr">
[DllImport("Winmm.dll")]
private static extern bool PlaySound(byte[] data, IntPtr hMod, UInt32 dwFlags);
private const UInt32 SND_ASYNC = 1;
private const UInt32 SND_MEMORY = 4;
</span>





کدهای مربوطه:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<span dir="ltr">
private Assembly a = Assembly.GetExecutingAssembly();
private string _sound = string.Empty;
private Stream stream;
private Int32 length;
private byte[] _data;

foreach (string resourceName in a.GetManifestResourceNames())
if (Path.GetExtension(resourceName).ToLower() == ".wav")
_sound = resourceName;
stream = a.GetManifestResourceStream(_sound);
length = (Int32)stream.Length;
_data = newbyte[length];
stream.Read(_data, 0, length);
PlaySound(_data, IntPtr.Zero, SND_ASYNC | SND_MEMORY);
</span>