Şimdi Ara

! ÖNEMLİ ! HERKES BURAYA C#

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
8
Cevap
0
Favori
562
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar merhaba

    Teknik servisde çalışıyorum ve kolaylık amacıyla bir yazılım gelirştirmeye çalıştım.

    Amaç Şu

    W7 kurulan bütün makinalar Güncelleştirme yapıyor en az 500 mb ve indirip kurması 1.5 2 saati buluyor.
    çalışma mantığı ise program açılıyor önce makinanın kaç bit olduğunu buluyor ve ona göre benim indirip klasörlediğim güncelleştirmeler arasından bitine göre güncelleştirmeyi bulup yüklüyor.
    2 klasör var x86 ve x64 diye bitine göre burdan çekiyor. şöyleki önce biti buluyor sonra atıyorum x64 klasöründeki bütün güncelleştirme listesini listbox a atıyor sonra tek tek kuruyor. fakat çok yavaş.
    bunu bi türlü çözemedim. bugün güncelleştirmeleri yapayım dedim 4.5 saat sürdü.

    kodları aşağıda veriyorum. Bi fikri olan varsa lütfen paylaşsın. Neden kurulumlar bu kadar yavaş?

     
    public static bool bit;
    private void Form1_Load(object sender, EventArgs e)
    {
    bit = Directory.Exists(@"c:\Program Files (x86)");
    if (bit == true)
    {
    listBox1.Items.Clear();
    DirectoryInfo di = new DirectoryInfo("W7x64");
    FileInfo[] rgFiles = di.GetFiles();
    foreach (FileInfo fi in rgFiles)
    {
    listBox1.Items.Add(fi.Name);
    }
    }

    else
    {
    listBox1.Items.Clear();
    DirectoryInfo di = new DirectoryInfo("W7x86");
    FileInfo[] rgFiles = di.GetFiles();
    foreach (FileInfo fi in rgFiles)
    {
    listBox1.Items.Add(fi.Name);
    }
    }
    }

    private void button1_Click(object sender, EventArgs e)
    {
    button1.Enabled = false;
    try
    {

    if (bit == true)
    {
    progressBar1.Maximum = listBox1.Items.Count;
    for (int i = 0; i < listBox1.Items.Count; i++)
    {
    button1.Text = i.ToString() + " / " + listBox1.Items.Count.ToString();
    try
    {
    Process.Start("W7x64\\" + listBox1.Items[i].ToString(), "/quiet /norestart").WaitForExit();
    }
    catch (Exception)
    {
    Process.Start("W7x64\\" + listBox1.Items[i].ToString()).WaitForExit();
    }
    finally
    {
    listBox1.SelectedIndex = i;
    progressBar1.Value = i;
    }
    }
    }else
    progressBar1.Maximum = listBox1.Items.Count;
    for (int i = 0; i < listBox1.Items.Count; i++)
    {
    button1.Text = i.ToString() + " / " + listBox1.Items.Count.ToString();
    try
    {
    Process.Start("W7x86\\" + listBox1.Items[i].ToString(), "/quiet /norestart").WaitForExit();
    }
    catch (Exception)
    {
    Process.Start("W7x86\\" + listBox1.Items[i].ToString()).WaitForExit();
    }
    finally
    {
    listBox1.SelectedIndex = i;
    progressBar1.Value = i;
    }
    }
    }
    catch (Exception)
    {
    //MessageBox.Show(ex.Message,"Yükleme Hatası",MessageBoxButtons.OK,MessageBoxIcon.Error);
    }
    button1.Text = "Başla";
    MessageBox.Show("Güncelleştirmeler Başarıyla Yüklendi!");
    button1.Enabled = true;
    }







  • Dosya sanıp klasörü de seçiyor olabilir mi? Bir yandan ekrana güncelleme ismine de yazdıracak şekilde değiştirirsen belki hata rahat gözükür. Hatta aynı dosyadan birkaç kez seçiyor da olabilir.
  • quote:

    Orijinalden alıntı: Tugrul_512bit

    Dosya sanıp klasörü de seçiyor olabilir mi? Bir yandan ekrana güncelleme ismine de yazdıracak şekilde değiştirirsen belki hata rahat gözükür. Hatta aynı dosyadan birkaç kez seçiyor da olabilir.

    Klasörü seçme şansı yok örneğin x64 klasörünün içinde başka hiçbir klasör yok hepsi msu uzantılı dosya. ayrıca listbox da bütün liste var ve hangisini kuruyorsa ona göre listboxdan select işlemi uyguluyor yani hangi güncelleştirmeyi kurduğunu görebiliyorum. Şaşırdım kaldım :)
  • quote:

    Orijinalden alıntı: Maybe Tomorrow

    Driver Pack Solution
    Windows Server Update Services(WSUS)

    Driver pack zaten kullanıyoruz ancak diğerini nasıl kullanıcaz?




  • yazdığınız koda ilgili bişey olduğunu sanmıyorum bence elle o listedeki msu dosyalarını kurunca da aynı sürede kurması gerekir
  • quote:

    Orijinalden alıntı: Gökşen PASLI

    yazdığınız koda ilgili bişey olduğunu sanmıyorum bence elle o listedeki msu dosyalarını kurunca da aynı sürede kurması gerekir

    bende bu şekilde düşünüyorum fakat w7 kendini internet üzerinden güncellerken bu sürenin 3de 1 inde güncelliyor. yani hem indirip hem kuruyor peki bunu nasıl yapıyor?
  • quote:

    Orijinalden alıntı: Unduli

    Belki kurulumu silent yapınca bir hızlanma olur.

    Not : Driver Pack kullanan teknik servis mi olurmuş?

    quote:

    Orijinalden alıntı: Unduli

    Belki kurulumu silent yapınca bir hızlanma olur.

    Not : Driver Pack kullanan teknik servis mi olurmuş?

    kodu incelersen zaten silent kurulum
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.