c# setup yapmak için acil yardım!!!

kayip_kent
08-09-2006, 15:34   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
2 mesaj
Kayıt Tarihi:Kayıt: Ara 2005

arkadaşlar ben c#.net ve sql server kullanarak  program yazıyorum.yazdığım programları başka bir sql server yüklü makinada kullanmak için setup dosyası oluşturmayı bilmiyorum.studio nun içindeki setup yapma programını kullanıyorum ama olmuyor.başka programlarıda denedeim ( inno setup gibi) ama yinede yapamadım.bunun başka yolu varmı kütfen yardım

PcMaKeR.Serdar
13-09-2006, 21:34   |  #2  
Taze Üye
Teşekkür Sayısı: 0
11 mesaj
Kayıt Tarihi:Kayıt: Eyl 2006

Dostum yazdığın programa kod ekle o kod program ilk çalıştırdığında sql server da kendi db ve tablolarını oluştursun. Örneğin aşağıdaki kodlar gibi.

SqlConnection Baglan;
        SqlCommand cmd1;
        SqlCommand cmd2;
        SqlCommand cmd3;
        SqlDataAdapter da;
        DataSet ds;
        string sorgu1;
        string sorgu2;
        string sorgu3;
        //Registeryi Kod Ekleyici
        const string YeniSistemOlustur = "HKEY_LOCAL_MACHINE\\Software\\Serdar-Soft\\Pansiyon Takip Programı\\Veri Tabanı";
        const string YeniSistemOlustur2 = "HKEY_LOCAL_MACHINE\\Software\\Serdar-Soft\\Pansiyon Takip Programı\\Kullanıcı Yönetimi";


bu kodları "private" kodlarından önce bir yere yaz ki privateler içinde de tanımlansın yani public gibi ;)

bunlarda bir butonun içine koyduğunu düşün.

DialogResult dr = MessageBox.Show("Bilgiler Doğru Mu? Lütfen Tekrar Kontrol Ediniz. Doğruysa Evet Butonuna Basınız.", "Kontrol Ediniz!!!", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (dr == DialogResult.Yes)
            {
                //Veri tabanı Yaratılıyor :-)
                Baglan = new SqlConnection();
                Baglan.ConnectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=master;Integrated Security=True";
                Baglan.Open();
                sorgu1 = "create database VTP";
                sorgu2 = "use VTP";
                sorgu3 = "create table Pansiyon_Tablo(Kişinin_Adı varchar(30) not null, Kişinin_Soyadı varchar(30) not null, Baba_Adı varchar(30) not null, Ana_Adı varchar(30) not null, Doğum_Yeri varchar(30) not null, Doğum_Tarihi varchar(30) not null, Kişinin_TC_Nosu varchar(30) primary key, İli varchar(30) not null, İlçe varchar(30) not null, Hüvviyet_Türü varchar(30) not null, Seri_No varchar(20) not null,Kişinin_Medeni_Hali varchar(10) not null, Kişinin_Cinsiyeti varchar(30) not null, Kişinin_Adresi varchar(30) not null, Kişinin_Telefonu varchar(30) not null,  Kişinin_Okulu varchar(75) not null,  Kayıt_Tarihi varchar(30) not null, Çıkış_Tarihi varchar(30) not null, Oda_Nosu varchar(60) not null, Ödeme_Miktarı varchar(15) not null, Ödeme_Çeşiti varchar(75) not null )";
                cmd1 = new SqlCommand(sorgu1, Baglan);
                cmd2 = new SqlCommand(sorgu2, Baglan);
                cmd3 = new SqlCommand(sorgu3, Baglan);
                cmd1.ExecuteNonQuery();
                cmd2.ExecuteNonQuery();
               
                cmd3.ExecuteNonQuery();
                //Registerye Bilgi Yazılacak

                Registry.SetValue(YeniSistemOlustur, "Pansiyon Adı", tb1.Text);
                Registry.SetValue(YeniSistemOlustur, "Sahibinin Adı", tb2.Text);
                Registry.SetValue(YeniSistemOlustur2, "Kullanıcı Adı", tb3.Text);
                Registry.SetValue(YeniSistemOlustur2, "Kullanıcı Şifresi", tb4.Text);
                Registry.SetValue(YeniSistemOlustur, "VT Varmı", "VAR");
               
                Baglan.Close();
                MessageBox.Show("Bütün İşlemler Başarıyla Gerçekleştirildi!!!", "Tebrikler!!!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                olustur.Enabled = false;
                this.Hide();
                Şifre_Girme sg = new Şifre_Girme();
                sg.Show();


            }
            else
            {
                return;
            }

bunlarda db oluşturma kodları. Hiç bir yerden alıntı değildir. Tamamen kendi kodlama yolumdur. bende senin gibi başta çok düşündüm ama olmadı kafa zorlayıp bunları oluşturdum belki işine yarar dostum kolay gelsin.

İnno setup ile yaparsın ama nasıl .net ile sql server ı oto kurdurursun o kadar veri tabanı ve tabloları oluşturuamazsın. bendeki mantık yaptığın program kendi veritabanı yaratsın bunu registry e atsın ki rahat çalışsın. Kullanıcıda zorlanmasın ;)

Şunlarıda unutmayalım.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using Microsoft.Win32;

bunlarıda en üste yapıştır. Hadi iyi çalışmalar.

aksoft24
03-10-2006, 23:29   |  #3  
Taze Üye
Teşekkür Sayısı: 0
3 mesaj
Kayıt Tarihi:Kayıt: Eki 2006

sevgili  arkadaşım  vermiş  olduğun bilgiden  dolayı  teşekkür  ederim. aynı dertle ben de  uğraşıyorum  benimde  sevgili  arkadaşımın  sorusuna eklemek istediğim bir şey  var. acaba  MSQL 'in  kurulu olmasına  gerek  bırakmadan  set up  hazırlamanın  yolu  yok mu??  yada  set up içerisinde  mssql 'in kurulumunu  göme bilirmiyiz. diyelim ki  gömdük  acaba mssql  bizden  ayar istermii,, diyeceyim o ki  sevgili  kardeşimm benim amacım  kullanıcı set up dan  sonra programı  çalışır  halde  olsun  cevap yazarsanız  sevinirim. YUSUF AKGÜL NOT:  sevgili  arkadaşlarım  msn adresim sensibleboy21x@hotmail.com isterseniz  bu  konuyu  birlikte  konuşarak  çözelim..