setup yaptm c'ye kurdm ama program d' deki db leri kullanıo
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
setup yaptm c'ye kurdm ama program d' deki db leri kullanıo
setup ile c:\program files\Kutuphane diye dizin belirledim ve kurdum ama programın içerisinde txt adresleri (d:\proje\kutup\db\...) falan var başka bir bilgisayara kurduğumda da çalışmayacak çünkü exe dosyası programı hazırladığım dizin içinde (d:\..) değişiklik yapıo ordaki bilgileri kullanıyor bunun için programı kuracağım dizine göremi ayarlamam gerekecek yoksa installshield le halledebilirmiyim
teşekkürler şimdiden
teşekkürler şimdiden
dosya yollarını dinamik yönetmek zorundasın programı kuran adamın D sürücüsü olmayadabilir. En güzeli programın kurulduğu klasörü temel alan bir klasör ve dosya yapısı tasarlayıp program içinden dinamik olarak yönetmek.
Tabi şimdi sorulacak nasıl yapacaz diye. Aramak lazım, araştırmak lazım çok konuşulmuş konulardandır.
Tabi şimdi sorulacak nasıl yapacaz diye. Aramak lazım, araştırmak lazım çok konuşulmuş konulardandır.
Bence bu dinamik path olayını araştırmalısın.Ama sana şöyle bir kısa tavsiye verebilirim.
Diyelimki karşı pcde kullanıcı
programı nereye kurmak isterse oraya kursun.İster D ye ister C ye istese de K ya krsun.Hatta isterse windowsun içine istersede system32 ye kursun.Bütün dosya yollarını, veritabanı yollarını exene göre ayarlarsan kurulum nereye yapılırsa yapılsın yol sorunun olmaz.
Mesela databasein exenin yanında bulunan data adlı klasörün içinde MyData.mdb isimli bir database olsun.
Şimdi bu database yolunu yazarken gerçek pathiyle yazarsan
şeklinde yazarsın.
Ama bunu dinamik olarak yazarsan şöyle yazarsın.(ki doğrusuda budur.)
şeklinde yazarsın.
Yani bu durumda nereye kurulum yapılırsa yapılsın exe database dosyasını kendi yanında bulunan data klasörü içinde arayacaktır.
Ayrıca diğer txt veya dat uzantılı metin dosyalarına da aynı yöntemle path verebilirsin.
Mesela programla ilgili bazı ayarları tuttuğun dosyalar olsun.Bunlar txt uzantılı olsun.
Exenin yanında Ayarlar klasörü içinde sakladığını varsayalım.Ve bu txt uzantılı dosyalardan biride Goruntu.txt olsun.(Görüntü ayarlarını tuttuğun).
Dinamik path:
şeklinde olacaktır.
Bundan sonra senin kurulum yaparken yani setup projesini ayarlarken proje1 klasörü içinde ne varsa birbirleri arasındaki path ilişkisini bozmadan aynı ağaç yapısı içinde karşı bilgisayara kurulmasını sağlamaktır.Ama c yada d ye kurulması yada başka bir yere kurulması önemli değildir.
Setup yapılması ile ilgili aşağıdaki linkten faydalanabilirsiniz.
viewtopic.php?t=12392&start=30
Kolay Gelsin.
Diyelimki karşı pcde kullanıcı
programı nereye kurmak isterse oraya kursun.İster D ye ister C ye istese de K ya krsun.Hatta isterse windowsun içine istersede system32 ye kursun.Bütün dosya yollarını, veritabanı yollarını exene göre ayarlarsan kurulum nereye yapılırsa yapılsın yol sorunun olmaz.
Mesela databasein exenin yanında bulunan data adlı klasörün içinde MyData.mdb isimli bir database olsun.
Şimdi bu database yolunu yazarken gerçek pathiyle yazarsan
Kod: Tümünü seç
‘C:\Projelerim\Proje1\data\MyData.mdb ‘
Ama bunu dinamik olarak yazarsan şöyle yazarsın.(ki doğrusuda budur.)
Kod: Tümünü seç
ExtractFilePath(application.ExeName)+’data\MyData.mdb’
Yani bu durumda nereye kurulum yapılırsa yapılsın exe database dosyasını kendi yanında bulunan data klasörü içinde arayacaktır.
Ayrıca diğer txt veya dat uzantılı metin dosyalarına da aynı yöntemle path verebilirsin.
Mesela programla ilgili bazı ayarları tuttuğun dosyalar olsun.Bunlar txt uzantılı olsun.
Exenin yanında Ayarlar klasörü içinde sakladığını varsayalım.Ve bu txt uzantılı dosyalardan biride Goruntu.txt olsun.(Görüntü ayarlarını tuttuğun).
Dinamik path:
Kod: Tümünü seç
ExtractFilePath(application.ExeName)+’Ayarlar\Goruntu.txt’
Bundan sonra senin kurulum yaparken yani setup projesini ayarlarken proje1 klasörü içinde ne varsa birbirleri arasındaki path ilişkisini bozmadan aynı ağaç yapısı içinde karşı bilgisayara kurulmasını sağlamaktır.Ama c yada d ye kurulması yada başka bir yere kurulması önemli değildir.
Setup yapılması ile ilgili aşağıdaki linkten faydalanabilirsiniz.
viewtopic.php?t=12392&start=30
Kolay Gelsin.
Programlamaya ilk bşladığım yıllar (o zamanlar gençtik tabi
) gerek kitaplarda yazan gerekse de hocalarımızın söylediği Alias kullanımının kolaylıklar sağladığı kullanılmasının çok yerinde olacağı şeklindeydi. Bende kullanıyordum ve bir sürü sorun yaşıyordum. Sonra DOS pascal da kullandığım ParamStr, ParamCount fonksiyonları ile bu işi dinamik niye yapmıyorum dedim. Neden yapmadığımı bilmiyorum yanlış bilgilendirilmiş olabiliriz. (Delphi de Application.exename de benzer bir işlevi yerine getiriyor)
Ben alias kullanmıyorum. Programımın olduğu klasörü kopyaladığım zaman herde çalışıyor. Ve hatta masaüstü uygulamalarda embeded firebird ile en küçük bir ayar gerektirmeden kopyalama vasıtası ile programı kurmuş oluyorum. Sonderece portable.
Belki kullanmayı tercih edenlerde vardır. Herkezin bir tekniği var.
sayın @AliErdem viewtopic.php?t=15035&highlight=paramstr burada benzer bir soru sormuşsunuz. Konu aslında gayet güzel örnek kodla açıklanmış. Verilen cevapları biraz daha iyi incelemeli.

Ben alias kullanmıyorum. Programımın olduğu klasörü kopyaladığım zaman herde çalışıyor. Ve hatta masaüstü uygulamalarda embeded firebird ile en küçük bir ayar gerektirmeden kopyalama vasıtası ile programı kurmuş oluyorum. Sonderece portable.
Belki kullanmayı tercih edenlerde vardır. Herkezin bir tekniği var.
sayın @AliErdem viewtopic.php?t=15035&highlight=paramstr burada benzer bir soru sormuşsunuz. Konu aslında gayet güzel örnek kodla açıklanmış. Verilen cevapları biraz daha iyi incelemeli.
Bir tavsiye de benden.
Tüm dosyalarını programın çalıştığı klasörün içinde bir klasör oluşturarup içine koy. Örneğin VeriTabanı klasörü.
Bu dosyalara erişmek için Veritabani\Bilgiler.txt gibi adresler kullan.
Alias da kullanabilirsin.
Fakat InstallShield'de setup'ı hazırlarken, alias'ın yoluna VeriTabani yaz.
Son olarak da Kısayolları oluştururken WorkingDirectory'i INSTALLDIR seç.
Ben böyle yapıyorum, şimdiye kadar -Türkçe karakter hariç- sorun çıkmadı.
Alias kullanmayıp DataBaseName'e VeriTabani\ yazsan da olur.
Fakat WorkingDirectory'i unutmamak şartıyla.
Kolay gelsin.
Tüm dosyalarını programın çalıştığı klasörün içinde bir klasör oluşturarup içine koy. Örneğin VeriTabanı klasörü.
Bu dosyalara erişmek için Veritabani\Bilgiler.txt gibi adresler kullan.
Alias da kullanabilirsin.
Fakat InstallShield'de setup'ı hazırlarken, alias'ın yoluna VeriTabani yaz.
Son olarak da Kısayolları oluştururken WorkingDirectory'i INSTALLDIR seç.
Ben böyle yapıyorum, şimdiye kadar -Türkçe karakter hariç- sorun çıkmadı.
Alias kullanmayıp DataBaseName'e VeriTabani\ yazsan da olur.
Fakat WorkingDirectory'i unutmamak şartıyla.
Kolay gelsin.
Bence alias kullanmana gerek yok.
Ayrıca
http://www.hemenpaylas.com/download/585 ... i.rar.html
bu link çalışıyor.Setup ile ilgili sorularına cevap olabilecek nitelikte.
Kolay gelsin.
Ayrıca
http://www.hemenpaylas.com/download/585 ... i.rar.html
bu link çalışıyor.Setup ile ilgili sorularına cevap olabilecek nitelikte.
Kolay gelsin.
ben Database Desktop ile olusturduktan sonra programın klasörünü içine DATA diye klasör oluşturuyorum BDE administrator u hiç kullanmıyorum zaten gerekte yok
DATA nın içine kaydediyorum yaptığım Database leri sonra veri tabanını tanıtırken data base name'ini /DATA yapıyorum activ ediyorum oradan görüyor
ama önce datasource'lerini tanıtmak gerek ... sonra /DATA icine alın...

