C#nedir?com
 
YAZAR HAKKINDA
ibrahim arac
ibrahim arac
http://www.ibrahimarac.com
İletişme geçmek için tıklayın.
1 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler: C# ile deployment projesi C# kurulum projesi C# kurulum projesi C# proğramının kurulumnda sql server'ı kurmak create db in c# setup project custom actions deployment projesi kurulum projesi içerisinde sql server kurulumu kurulum sırasında sqlserver kurmak setup projesi içerisinde sql server kurmak SqlExpress SqlExpress Kodlama ibrahim arac
 
YAZI HAKKINDA
Türü : Serbest Köşe (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : İleri
Kategori : Kodlama
Yayınlanma Tarihi : 8.1.2010
Okunma Sayısı : 86304
Yorum Sayısı : 49     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
XML - Deniz Kılınç
emre TAŞ
yazının devamı >
emre TAŞ
Decompiling and Reverse Engineering .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Masaüstü mü ? İnternet Mi? .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
.Net Kavramları - .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Yeni Başlayanlar için - .Net Radyo
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer 'in Blogu
Conda install environment.yml Package 3.7.2020
Turhal Temizer 'in Blogu
Mac OS/X Removing CUDA 3.7.2020
Burak Selim Şenyurt
Sekiz Saatlik Sonsuz Döngü 3.7.2020
Burak Selim Şenyurt
Switch Case Kullanmadan Kod Yazılabilir mi? 3.7.2020
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
SETUP PROJESİ İÇERİSİNDE SQL SERVER KURMAK
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon

Veritabanı olarak SQL SERVER veritabanını kullandığınız bir C# Windows Projesi hazırladınız ve kullanıcılarınızın bu projeyi kurabilmelerini sağlamak amacıyla projenin kurulum dosyasını hazırlamak istiyorsunuz. Ancak projenizi kullanacak olan kişilerin bilgisayarlarında muhtemelen SQL Server yüklü olmayacak ve sizin projenizde de SQL Server veritabanı kullanıldığı için bu durum sizin için büyük bir sorun teşkil edecektir.
Uygulayabileceğiniz çözümlerden (mantıklı olmamakla birlikte) bir tanesi projenin setup’ı içerisine SQLEXPRESS.exe (Sql Server’ın Express sürümüdür ve ücretsiz olarak kullanılabilmektedir) dosyasını atarak kullanıcıyı kurulum aşamasında bu dosyayı kurması şeklinde uyarmak olabilir. Ancak bu durumda da kullanıcılarınızın SQLSERVER diye bir şeyden haberdar olmamaları çok muhtemel olacağından kurulum aşamasında yer alan ayarları anlayamayacaklar ve belki de yanlış bir şekilde gerçekleştireceklerdir. Bu da bizim arzu ettiğimiz bir durum olmayacaktır.
Ben kurulum aşamasında ya da sonrasında SQL Server’ı kullanıcımızın bilgisayarına nasıl kurabileceğimizi ve Sql Server içerisinde programımızın kullanacağı veritabanı nasıl ayarlayabileceğim ile ilgili internet üzerinde yoğun bir araştırma yaptım ancak bu konuda yazılmış çok detaylı bir yazı bulamadım.Bu yüzden de böyle bir makale yazmaya karar verdim.
Öncelikle veritabanı kullanan basit bir proje hazırlayarak işe başlayalım. Oluşturduğum veritabanının adı SETUPPROJESI olsun.İçerisine Kullanicilar isminde bir tablo ekliyorum. Tablonun alanları ve değerleri aşağıdaki gibidir.
sr1

Tabloma aşağıdaki verileri ekliyorum. 
sr2

Şimdi bu verileri kullanan temsili bir C# projesi oluşturmaya çalışalım. Visual Studio ile yeni bir proje açıyorum. Formum içerisine bir adet DataGridView ve bir tane de buton ekliyorum.
sr3

Formumuzun kodları aşağıdaki gibidir. Burada amacımız çok basit anlamda bir veritabanı işlemi kullanmak olduğu için Kullanıcılar tablomda yer alan tüm kayıtları form üzerinde görüntülemeye çalışıyorum.
 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

 

namespace Proje

{ 

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void btnKullaniciGetir_Click(object sender, EventArgs e)

        {

            SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=SETUPPROJESI;Integrated Security=true");

            SqlCommand cmd = new SqlCommand("select ID,Ad,Soyad from Kullanicilar",con);

            con.Open();

            SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

            List<Kullanicilar> kullanicilar = new List<Kullanicilar>();

            while (dr.Read())

            {

                kullanicilar.Add(new Kullanicilar() {ID=dr.GetInt32(0),Ad=dr.GetString(1),Soyad=dr.GetString(2) });

            }

            dgKullanicilar.DataSource = kullanicilar;

        }

    }

    public class Kullanicilar

    {

        public int ID { get; set; }

        public string Ad { get; set; }

        public string Soyad { get; set; }

    }

}

Şimdi gelelim projemizi Setup haline getirmeye. Bu amaçla Solution içerisine bir adet Setup projesi ekleyelim.
Solution üzerinde sağ tıklayarak Add-NewProject diyerek sol bölümden OtherProjectTypes sekmesinden kurulum projenizi ekleyebilirsiniz.

sr4

 

 

Kurulum projenizi ekledikten sonra Solution üzerinde yer alan görünüm şekildeki gibi olacaktır.

sr5

 Solution Explorer üzerinde Kurulum projemiz seçiliyken gerekli ayarlamaları yapmak üzere üst bölümde yer alan butonları kullanacağız. Öncelikle en baştaki seçenek olan FileSystemEditor seçeneğini kullanarak projenin kurulum aşamasında yerleşeceği yer alan ProgramFiles klasörü içerisinde nasıl görüneceğine karar verelim. Bu amaca yönelik olarak projemin çıktısını yani exe’sini (Bu exe projenizin Debug klasörü içerisinde yer alan exe’dir.) ekleyelim. ApplicationFolder bölümü programımızın kurulacağı ProgramFiles klasörünü temsil etmektedir.

sr6

 Gelen pencereden Proje isimli Windows uygulamamızın PrimaryOutput'unu seçiyoruz.

sr7

Ben PrimaryOutput seçeneğini kullanıyorum. Bu sayede projemin exe’si Setup projesine dahil edilecektir.

Aynı pencerede (Sol taraftan Application Folder seçili iken) sağ bölümde sağ tıklıyoruz ve Add-File seçeneğinden Projemize bir ikon dosyası seçiyoruz.

sr8

Projem için aşağıdaki gibi bir ikon dosyası seçtim. Seçtiğiniz dosyanın ikon dosyası (uzantısı ico olan dosyalardır.) olmasına dikkat ediniz.

sr9

Şimdi de kullanıcının masaüstüne bir kısayol eklemek için sol bölümden User’s Desktop klasörünü seçiniz.

sr10

Kısayolumuzun başvuracağı hedef dosyayı seçiyoruz. Bu dosya programımız kurulduğunda Program Files içerisine yerleşecek olan biraz önce eklemiş olduğumuz PrimaryOutput'dur.

sr11

Kısayolumun hedefi olarak ApplicationFolder klasörüm içerisinde yer alan Primary output’u yani daha önce buraya eklemiş olduğumuz programımızın exe’sini seçiyoruz.

sr12

Şimdi masaüstüne eklediğimiz bu ikon için bir icon dosyası belirleyelim. Ben ApplicationFolder içerisine yüklemiş olduğum ikon dosyamı seçiyorum.

sr13

Programımızın kullanıcının Başlat-Programlar menüsünde yer alması amacıyla User’s Programs Menu bölümüne Setup Projesi isimli bir klasör ekliyorum.

sr14

Daha sonra bu klasör (Setup Proje) seçiliyken sağ bölümden yeni bir kısayol ekliyorum. Aşağıdaki şekilde bu durum açıklanmaya çalışılmıştır.

sr15

Bu işlemden sonra projemizin görüntüsü aşağıdaki gibi olacaktır.

sr16

Şimdi projemizin genel özelliklerini ayarlamaya çalışalım. Bu ayarlar kurulum aşamasında projenin klasör adı, üretici firmanın adı,kurulum sayfasının başlığı gibi ayarlardır. 

sr18

sr19Solution bölümünden UserInterface editöre geçerek kurulum aşamasında kullanıcımızın karşısına çıkacak olan ekranları ayarlayabiliriz.
Ben bu konuda çok fazla detaya girmek istemiyorum. Bu mevzuları anlatan birçok yerli veya yabancı makaleye kısa bir arama sonucu ulaşabilirsiniz. Bizim buradaki amacımız SQL SERVER veritabanı içeren bir projenin kurulumu esnasında/sonrasında veritabanı yönetim sistemini (SqlServerExpress) kullanıcının bilgisayarına kurmaktır.
İlk yaptığım denemede projenin kurulumu devam ederken SQLExpress’i kurmayı denemiştim.Ancak Projenin kurulumu henüz sonlandırılmadığı için SqlExpress kurulumu başlar başlamaz “Zaten şu an devam etmekte olan başka bir kurulum var” şeklinde bir hata mesajı almıştım ve kurulum sonlanmıştı.
Ben de başka bir yöntem düşünürken projem kurulurken SQLExpress’in Setup dosyasını kullanıcının bilgisayarına kaydetmeye ve daha sonrasında da program ilk çalıştırdığında SQLEXPRESS’in kurulu olup olmadığını kontrol ederek eğer kurulu değilse bu aşamada kuruluma başlamaya karar verdim.

 

İlk olarak kurulum esnasında kullanıcının bilgisayarına Belgelerim klasörüne SQLEXPRESS setup dosyasını kaydetmeye çalışacağız. Eğer bu dosyayı kaydedersem kullanıcı programı kurup ilk kez çalıştırdığında bu setup dosyasını çalıştırarak  kurulumu başlatacağız.Solution üzerinde sağ tıklayarak Add-NewProject menüsünden bir ClassLibrary projesi ekliyorum.

sr20

 Pojemin ismini  SQLLoader olarak veriyorum. Bu proje içerisine bir klasör açarak ismini SQLSetup olarak belirliyorum. Bu klasörüm içerisine de SQL Server’ın Express sürümünü Add-ExistingItem seçeneğini kullanarak ekliyorum. (Bu dosyanın boyutu 36,4 MB olup http://download.microsoft.com adresinden ücretsiz olarak indirebilirsiniz.) .

Resimde bu işlemlerden sonra Solution'ımızın alacağı görüntü görülmektedir. 
Amacımız kurulum esnasında bu SQLEXPR.exe setup dosyasını kullanıcımızın Belgelerim klasörüne projenin kurulumu esnasında kopyalamaktır.

 

 

 

sr21
SqlLoader projemiz üzerinde sağ tıklayarak Add-NewItem-InstallerClass menüsünden bileşenimi ekliyorum.

sr22

Eklediğim sınıfıma LoadSql ismini veriyorum. Sınıfımın temel görünümü aşağıdaki gibi olacaktır.

namespace SQLLoader

{

    [RunInstaller(true)]

    public partial class LoadSql : Installer

    {

        public LoadSql()

        {

            InitializeComponent();

        }

    }

}

Bu sınıfın en belirgin özelliği Installer sınıfından türemesi ve RunInstaller(true) attribute’u ile işaretlenmiş olmasıdır. Bu sayede projemizin Setup işlemi başladığında ben bu sınıfın çalışmasını sağlayabilmekteyim.
Amacım bu sınıf yardımı ile SQLEXPR.exe dosyasını kullanıcımın Belgelerim klasörüne kaydetmek olduğundan sınıfın kurucu metoduna aşağıdaki kodları yazıyorum. Kodlarda açıklama satırları yazdığım için burada detaya girmiyorum.

namespace SQLLoader

{

    [RunInstaller(true)]

    public partial class LoadSql : Installer

    {

        //Kullanıcının bilgisayarının Belgelerim klasöründe yükleyeceğim SQLEXPR.exe dosyasının yolu tanımlanıyor.

        public static readonly string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)+"\\SQLEXPR.exe";

        void CopyStream(Stream readStream,Stream writeStream)

        {

            //readStream nesnesi writeStream nesnesine byte'lar halinde kopyalanacaktır.Bu amaçla buffer dizisi tanımlanmıştır.

            byte[] buffer = new byte[256];  

            //readStream nesnesinden her seferde 256 byte okunarak buffer dizine atılmaya çalışılmaktadır.

            int bufferLength = readStream.Read(buffer, 0, 256);

            //Eğer konunan Steram'de hala okunacak byte kaldıysan okumaya devam et

            while (bufferLength > 0)

            {

                //okunan bölümü yazılacak stream'e yaz

                writeStream.Write(buffer, 0, bufferLength);

                bufferLength = readStream.Read(buffer, 0, 256);

            }

 

            writeStream.Close();

            readStream.Close();

        }

 

        //Sınıfımın kurucu metodu içerisinde yükleme işlemini yapıyorum.

        public LoadSql()

        {

            InitializeComponent();

            //yazılacak stream tanımlanıyor.

            FileStream fs = new FileStream(path, FileMode.Create);

            //SQLLoader projesi içerinde dll'e gömülen resource nesnemize ulaşmak için namespace.klasör.dosya yolunu kullanıyoruz.

            Stream readStream=Assembly.GetExecutingAssembly().GetManifestResourceStream("SQLLoader.SQLSetup.SQLEXPR.exe");

            //Böylece Assebmbly içerisine gömülen kurulum dosyamız tekrar kullanıcın Belgelerim klasörü içerinde fiziksel olarak oluşturulmaktadır.

            CopyStream(readStream, fs);

        }

    }

}

Artık SQLEXPR.exe dosyamızı kullanıcımızın bilgisayarına kaydeden bir sınıfımız var ve bu sınıf Installer sınıfndan türediğinden ayrıca da RunInstaller attribute’u ile işaretlendiğinden kurulum esnasında/sonrasında setup tarafından çalıştırılabilecektir.
Öncelikle SQLLoader isimli Installer sınıfımızı barındıran projemizin referansını kurulum projemize eklemeliyiz. Kurulum projemiz seçili iken üst bölümde yer alan butonlardan File System Editor’e tıklayalım. Sonrasında aşağıdaki şekilde görüldüğü üzere Application Folder seçili iken sağ tıklayarak Add-ProjectOutput seçeneğinden SQLLoader projemizin Assembly’sini kuruluma ekliyoruz.

sr24

Gelen pencerede SQLLoader projesi seçili iken bu projemin PrimaryOutput'unu (dll'i) Application Folder içerisine eklemeliyim. Çünkü bu dll içerisinde yer alan LoadSql isimli sınıf kurulum projesi çalıştırıldığında (Kurulum esnasında) devreye girecek ve SQLEXPR.exe dosyasını kullanıcının bilgisayarına yükleyecektir.

sr25

SQLLoader projemizin Assembly’sini Kurulum projemize eklediğimize göre şimdi onun kurulumun hangi aşamasında çalışacağına karar verebiliriz. Bu sınıfımızın kurulumun hangi aşamasında kullanılacağını belirtmek amacıyla  kurulum projemizin (Kurulum projesi seçili olmalıdır) CustomActions seçeneğini kullanacağız.

sr23

Aşağıdaki şekilde görüldüğü gibi Kurulum projemin Custom Actions butonuna tıklayarak Custom Actions ekranını açalım.

Burada gelen ekrandan Appllication Folder içerisinde yer alan SQLLoader projemizin Assembly’sini ekliyoruz.

sr27

Install klasörü üzerinde sağ tıklayarak SQLLoader Assembly’sini eklediğim için installer sınıfım kurulum aşamasında çalıştırılacaktır.
Böylece hazırlamış olduğum sınıfımı kurulum aşamasında çalıştırılmak üzere ayarlamış oldum. Böylece kurulum tamamlanırken benim installer sınıfım çalıştırılacak ve SQLEXPR.exe dosyası kullanıcının bilgisayarında Belgelerim klasörüne yüklenecektir.
Şimdi yapmamız gereken şey programımız çalıştırıldığında SQLEXPRESS’in yüklü olup olmadığını kontrol etmek ve eğer yüklü ise bu seferde veritabanımızın durumuna bakarak mevcut değilse onu yüklemektir. Eğer SQL Express yüklü değilde bu sefer önce onu kurmamız gerekmektedir.
Bu kontrol işlemlerini gerçekleştirmek üzere formumuzun Load olayına giderek önce SQL Express’in yüklü olup olmadığına bakalım yüklü değilse onu kurmaya başlayalım.

private void Form1_Load(object sender, EventArgs e)

{

//HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names

//Eğer bu bilgisayarda SQL SERVER veya SQLSERVEREXPRESS sürümü yüklendi ise yukarıda regedit bölümünde yüklü SQL SERVER instance'leri yer alacaktır.           

string[] yuklusqller = (string[])Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Microsoft").OpenSubKey("Microsoft SQL Server").GetValue("InstalledInstances");

//Eğer kullanıcının bilgisayarında SQLExpress yüklü değilse

var yukluozellikler =(from s in yuklusqller

                      where s.Contains("SQLEXPRESS")

                      select s).FirstOrDefault();

   if (yukluozellikler==null)

   {

      DialogResult sonuc=MessageBox.Show("Programı kullanabilmek için SQLEXPRESS yüklenmelidir. Yüklemek istiyor musunuz?", "UYARI", MessageBoxButtons.YesNo);

      if (sonuc == DialogResult.Yes)

      {

         string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\SQLEXPR.exe";

         Process p = new Process();

         p.StartInfo.FileName = path;

//Aşağıdaki argumanları (parametreleri) SQLEXPRESS setup dosyama göndererek kurulumu başlatırsam kullanıcıya kurulum yeri v.s gibi bilgileri sormayacak ve doğrudan kuruluma geçecektir.

         p.StartInfo.Arguments = "/qb INSTANCENAME=\"SQLEXPRESS\" INSTALLSQLDIR=\"C:\\Program Files\\Microsoft SQL Server\" INSTALLSQLSHAREDDIR=\"C:\\Program Files\\Microsoft SQL Server\" INSTALLSQLDATADIR=\"C:\\Program Files\\Microsoft SQL Server\" ADDLOCAL=\"All\" SQLAUTOSTART=1 SQLBROWSERAUTOSTART=0 SQLBROWSERACCOUNT=\"NT AUTHORITY\\SYSTEM\" SQLACCOUNT=\"NT AUTHORITY\\SYSTEM\" SECURITYMODE=SQL SAPWD=\"\" SQLCOLLATION=\"SQL_Latin1_General_Cp1_CS_AS\" DISABLENETWORKPROTOCOLS=0 ERRORREPORTING=1 ENABLERANU=0";

//Process için pencere oluşturma.

         p.StartInfo.CreateNoWindow = true;

//Process gizli çalışsın.

         p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

         p.Start();

//İşlem bitene kadar bekle

         p.WaitForExit();

   }

   else

   {

//Eğer SQLEXPRESS'i kurmak istemiyorsa programı sonlandırıyorum.

         this.Close();

   }

}

}

Yukarıdaki kod Load olayında kullanıcının bilgisayarında SQLEXPRESS’in yüklü olup olmadığına bakarak yüklü değilse SQLEXPR.exe kurulum dosyasına gerekli parametreleri göndererek kurulumu başlatıyor. Bu parametreleri gönderdiğimiz için kullanıcının kurulum aşamasında bir ayar yapmasına gerek kalmayacaktır.

Şimdi de formun activated olayında tablomuzu oluşturarak verilerimizi girmeye çalışalım. Böylece programımız kullanıma hazır hale gelecektir. Aşağıdaki kodda formun activated olayında kullanıcının SQLEXPRESS’inde bizim tablomuzun olup olmadığı kontrol edilmekte ve eğer yoksa kurulmaktadır.

void CreateDB()

{

   SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=master;Integrated security=true");

//Aşağıdaki sorgu SQLEXPRESS üzerinde bizim veritabanımızın (SETUPPROJESI) olup olmadığını kontrol ediyor ve eğer yoksa böyle bir veritabanı oluşturuyor.

   SqlCommand cmd = new SqlCommand("if not exists(select * from sys.databases where name = 'SETUPPROJESI') begin CREATE DATABASE SETUPPROJESI ON PRIMARY (NAME = SETUPPROJESI_Data,FILENAME = 'C:\\SETUPPROJESI.mdf',SIZE = 3MB,MAXSIZE = 10MB, FILEGROWTH = 10%) LOG ON (NAME = SETUPPROJESI_Log,FILENAME = 'C:\\SETUPPROJESI.ldf',SIZE = 1MB,MAXSIZE = 5MB,FILEGROWTH = 10%) end");

   con.Open();

   cmd.ExecuteNonQuery();

   con.Close();

 

//Şimdi de veritabanımız içerisinde tablomuzun olup olmadığına bakalım ve eğer tablomuz yoksa tablomuzu oluşturalım ve verilerimizi atalım.

   con.ConnectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=SETUPPROJESI;Integrated security=true";

//Aşağıdaki sorgu Kullanicilar tablosunun olup olmadığına bakmakta ve eğer yoksa oluşturarak içerisine kayıtları eklemektedir.

   cmd.CommandText = "if not exists(select * from sys.tables where name = 'Kullanicilar') begin create table Kullanicilar(ID int identity(1,1) primary key,Ad varchar(20),Soyad varchar(20) ) insert into Kullanicilar (Ad,Soyad) values('Erol','ORTATEPE') insert into Kullanicilar (Ad,Soyad) values('Elvan','EFE') insert into Kullanicilar (Ad,Soyad) values('Yasin','YILMAZ') insert into Kullanicilar (Ad,Soyad) values('İbrahim','ELMAS') insert into Kullanicilar (Ad,Soyad) values('Yasin','YILMAZ') insert into Kullanicilar (Ad,Soyad) values('Cengiz','EFE') insert into Kullanicilar (Ad,Soyad) values('Olcay','BÜYÜKÇAPAR') end";

    con.Open();

    cmd.ExecuteNonQuery();

    con.Close();

}

Bu metodu formun Activated olayında çağıralım.

private void Form1_Activated(object sender, EventArgs e)

{

  CreateDB();

}

Solution ve Kurulum projenizi derledikten sonra Kurulum projenizin Debug klasöründe yer alan Setup.exe dosyasına tıklayarak programınızı kurabilirsiniz. Programı kurarken SQLEXPR.EXE dosyası kullanıcının bilgisayarında Belgelerim klasörüne kaydedilecektir. Masaüstüne de programın kısayol simgesi eklenecektir. Kısayola tıklayarak programınızı çalıştırdığınızda formun load olayında kayıt defterine bakılacak ve eğer SQLEXPRESS kurulu değilse kurulum belirttiğimiz parametreler ile başlayacaktır. Formun Activated olayında ise veritabanı ve tablomuzun durumu kontrol edilmekte ve eğer yok ise eklenmektedir.

Böylece makalemizin sonuna geldik. Bu makaleyi yazmaktaki amacım konu üzerine yazılmış detaylı bir örnek (özelikle Türkçe olarak) bulunmaması idi. İnşallah başka arkadaşlarda bu konuda farklı yaklaşımlar sunarlarsa çeşitlilik olur diye düşünüyorum. Ayrıca şunu da belirtmekte fayda var. Bu konu üzerine ücretli veya ücretsiz olarak sunulan 3. parti programlardan da faydalanabilirsiniz. Örneğin InstallShield ve GhostInstaller bunlardan birkaçı. Bu tarz programlar ile bu işi çok daha kolay bir şekilde gerçekleştirebilirsiniz. Ancak tabiî ki kullanım kolaylığı olan ücretsiz bir installer programı bulmanız çok mümkün olmayacaktır. (Ne kadar para o kadar köfte meselesi)

Projenin kaynak kodlarını indirmek için tıklayınız.

 

NOT : Projenin içerisinde Debug klasörleri içerisinde yer alan dosyaları sildim. Çünkü projenin boyutu 100 MB'ı geçiyordu. Siz projeyi indirdikten sonra Solution'ı açıp Build ederek bu dosyaları tekrar oluşturunuz.

Herkese iyi çalışmalar.

Makale:
SETUP PROJESİ İÇERİSİNDE SQL SERVER KURMAK Kodlama ibrahim arac
  • Yazılan Yorumlar
  • Yorum Yaz
ARA
20
2014
Kaynak kodlarına ulaşılamıyor
MAR
17
2014
installshiled ile nasıl custom action ekleyebiliyorum ?? oyle bir ozellik, buton, vs.....yok. hangi formun load olayı ??????????????????????????????????????????????????????????????????
MAR
17
2014
installshiled ile nasıl custom action ekleyebiliyorum ?? oyle bir ozellik, buton, vs.....yok. hangi formun load olayı ??????????????????????????????????????????????????????????????????
MAR
17
2014
installshiled ile nasıl custom action ekleyebiliyorum ?? oyle bir ozellik, buton, vs.....yok. hangi formun load olayı ??????????????????????????????????????????????????????????????????
MAR
17
2014
installshiled ile nasıl custom action ekleyebiliyorum ?? oyle bir ozellik, buton, vs.....yok. hangi formun load olayı ??????????????????????????????????????????????????????????????????
MAR
17
2014
installshiled ile nasıl custom action ekleyebiliyorum ?? oyle bir ozellik, buton, vs.....yok. hangi formun load olayı ??????????????????????????????????????????????????????????????????
MAR
17
2014
installshiled ile nasıl custom action ekleyebiliyorum ?? oyle bir ozellik, buton, vs.....yok. hangi formun load olayı ??????????????????????????????????????????????????????????????????
MAR
17
2014
installshiled ile nasıl custom action ekleyebiliyorum ?? oyle bir ozellik, buton, vs.....yok. hangi formun load olayı ??????????????????????????????????????????????????????????????????
MAR
17
2014
installshiled ile nasıl custom action ekleyebiliyorum ?? oyle bir ozellik, buton, vs.....yok. hangi formun load olayı ??????????????????????????????????????????????????????????????????
MAR
17
2014
installshiled ile nasıl custom action ekleyebiliyorum ?? oyle bir ozellik, buton, vs.....yok. hangi formun load olayı ??????????????????????????????????????????????????????????????????
MAR
17
2014
installshiled ile nasıl custom action ekleyebiliyorum ?? oyle bir ozellik, buton, vs.....yok. hangi formun load olayı ??????????????????????????????????????????????????????????????????
MAR
17
2014
installshiled ile nasıl custom action ekleyebiliyorum ?? oyle bir ozellik, buton, vs.....yok. hangi formun load olayı ??????????????????????????????????????????????????????????????????
MAR
17
2014
installshiled ile nasıl custom action ekleyebiliyorum ?? oyle bir ozellik, buton, vs.....yok. hangi formun load olayı ??????????????????????????????????????????????????????????????????
MAR
17
2014
installshiled ile nasıl custom action ekleyebiliyorum ?? oyle bir ozellik, buton, vs.....yok. hangi formun load olayı ??????????????????????????????????????????????????????????????????
MAR
17
2014
installshiled ile nasıl custom action ekleyebiliyorum ?? oyle bir ozellik, buton, vs.....yok. hangi formun load olayı ??????????????????????????????????????????????????????????????????
Sayfalar : 1 2 3 4 
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor