Jump to content

C# Ile Yazılımları Yükleme Ve Kaldırma İşlemleri


wmismail

Recommended Posts

Öncelikle programın iç yapısından bahsetmek istiyorum. Bunları maddeler halinde belirtirsem sanırım daha iyi bir kolaylık olur.

Windows Installer’dan yararlanmak için Microsoft’un bize sunduğu msiexec.exe bileşenini kullanırız. Bu bileşenle birlikte “.msi” dosyalarının yükleme, kaldırma ve onarma işlemlerini gerçekleştirebiliriz. Msiexec.exe’nin de tıpkı diğer exe dosyaları gibi özel parametreleri vardır. Bu .exe’nin detaylarını öğrenmek için şurayı ziyaret edebilirsiniz. Şimdi gelelim msiexec.exe içinde bize lazım olacak kısımlara.

1- Setup Ayarları

- Yükleme işlemleri için “/i”.

- Kaldırma işlemleri için “/x”.

- Onarma işlemleri için “f”.

2- Ekran Ayarları

- Kullanıcı arayüzü görünmüyorsa “/qn”.

- Dialog boxla beraber sınırlı kullanıcı görünüp yükleme işlemi tamamlanıyorsa “/qb”.

- Dialog boxla kullanıcı arayüzü tamamen görünüyorsa “/qr”.

- Dialog box dışında kullanıcı arayüzü görünmüyorsa “/qf”.

Böylelikle projenin kodlamasında göreceğimiz parametrelerin de ne anlama geldiğini hemen hemen öğrenmiş olduk. Artık projemizi geliştirebiliriz.

Öncelikle aşağıdaki tasarımı yapmamız gerekiyor:

browse.jpg

Yaptığımız şey bir open file dialog box koymak ve ismini ofdMsiBrowser olarak değiştirmek.

Kod bölümüne geçiyoruz. System.Diagnostics namespaceini projemize eklemek zorundayız.

usingSystem.Diagnostics;

Yazacağımız manipulateSoftwarefonksiyonu için yazıyoruz:

private Processmv_prcInstaller = new Process();

Daha sonra install buttonuna tıklandığında yapılacak işlemi belirtiyoruz.

private voidinstallSoftware(objectsender, EventArgse)

{

//yükleme işlemi yapacağımızdan göndereceğimiz komut -> /i

manipulateSoftware("/i");

}

Diğer buttonda ise uninstall işlemini yapacağımızı belirtiyoruz.

private voiduninstallSoftware(objectsender, EventArgse)

{

//silme işlemi yapacağımızdan göndereceğimiz komut -> /x

manipulateSoftware("/x");

}

Browse buttonuna tıklandığında gerçekleşecek işlemler için aşağıdaki kodları yazıyoruz.

private voidbrowseMSIAplication(objectsender, EventArgse)

{

ofdMsiBrowser.InitialDirectory = @"C:\";

//.msi dosyalarıyla çalışacağımızdan;

ofdMsiBrowser.Filter = "msi installer files (*.msi)|*.msi";

if(ofdMsiBrowser.ShowDialog() == DialogResult.OK)

txtPath.Text = ofdMsiBrowser.FileName;

}

Son olarak kodların en başında belirttiğimiz manipulateSoftware fonksiyonunu yazıyoruz.

private voidmanipulateSoftware(stringp_strAccion)

{

//böylelikle programın ekran özelliklerini de ayarlamış oluyoruz

mv_prcInstaller.StartInfo.FileName = "msiexec.exe";

mv_prcInstaller.StartInfo.Arguments = p_strAccion + "\""+ txtPath.Text + "\""+"/qn";

mv_prcInstaller.Start();

}

Her şey bu kadar. Şimdi projemizi çalıştırıp C:\’nin içinden bir .msi dosyası seçip programın nasıl çalıştığını görebilirsiniz.

Dilersek bir de repair buttonu yapıp şu kodları yazarak kullanabilirdik:

private void repairSoftware()

{

Process p = new Process();

p.StartInfo.FileName = "msiexec.exe";

p.StartInfo.Arguments = "/f \"C:\\Application.msi\"/qn";

p.Start();

}

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...