İnstallShield ile serialli kurulum nasıl yapılır__?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

İnstallShield ile serialli kurulum nasıl yapılır__?

Mesaj gönderen qamyoncu »

meraba arkadaşlar..

bir program hazırladım.. installshield ile kurulumunu yaptım..

Ancak serial de eklemek istiyorum..:

Serial Number Template;
Serial Number Validation DLL;
Validate Function;
Succes Return Value;
Retry Limit;

Bu 5 alanı doldurmam gerekiyor.

Bu alanları nasıl doldurabiliceğim hakkında yardım edebilirmisiniz..?

Ayrıca.. Bu iş için bir dll dosyasını nasıl hazırlıyabilirim..


Şimdiden teşekkürler.. kolay gelsin.. saolun..
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: İnstallShield ile serialli kurulum nasıl yapılır__?

Mesaj gönderen CiTiZEN »

Hocam Bu konuda bi fikrim yok ama bi öneri dosyalarınızı .exe içerisine gömüp extract edebilirsiniz isterseniz gerekli kodları gönderebilirim hem serial olayi felan istediğiniz gibi yapabilirsiniz.
UWESIS CORPORATION
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: İnstallShield ile serialli kurulum nasıl yapılır__?

Mesaj gönderen sabanakman »

Bence serial olayını kurulumda ayarlamayın. Programınızın kopya korumaya sahip olması yeterli olacaktır.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

Re: İnstallShield ile serialli kurulum nasıl yapılır__?

Mesaj gönderen qamyoncu »

hocam benim yapmak istediğim şudur:

legal bir kuruluşla anlaşma yaptık.. Hazırladığım programı diğer şubelerine dağıtışlarında ben belli bi miktar komisyon alıcam.. Bunu rahatça takip edebilmek için şöyle düşündüm.. anlaşma yaptığım ana kuruluşa 5-10 veya 20 tane serial satayım.. parasını alayım.. onlar bu serialleri istedikleri gibi kullansınlar..

1-Bu işi .exe içine gömerek yapabiliceksem gerekli kodları bana atabilirseniz çok sewinirim.

2-kopya Koruma hakkında bir bilgim yok, ama adından anladığım kadarıyla bu işe yarayamıyacak..?
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
NeverFear
Üye
Mesajlar: 69
Kayıt: 20 Tem 2004 09:41
Konum: İzmir

Re: İnstallShield ile serialli kurulum nasıl yapılır__?

Mesaj gönderen NeverFear »

Programını kullanacak Ana Firma ve şubelerinde kurulu olan Windows sürümleri farklı olabileceği gibi aynı da olabilir. Hatta, tek bir bayi paketi kullanıyorlarsa ProductKey de aynı olacaktır. Ancak ProductID her makinada aynı olmayacak. Bunu kendi bilgisayarında da deneyebilirsin. Şuan okuduğun ProductID'yi bir yere kaydettikten sonra formatlayıp yeniden Windows kurduğunda sonucu görebilirsin. Durum böyle olunca da her PC'nin ProductId'si farklı olacak. Senin bundan sonra yapacağın, programın içine kodlayacağın satırlarla, programının ilk kez çalıştırılması esnasında bu ProductID'yi okutturup seni telefonla aramalarını sağlamak. Böylece kaç makinaya kurulum yapıldığını bileceğin gibi kaç kez kurulum yapıldığını da görebilirsin ve özel olarak Serial vermene gerek kalmadan takip edebilirsin. Ayrıca, buna ilave olarak kendine göre bir lisanslama ekranı ve veritabanı oluşturarak adresleriyle bile gözlem altında tutabilirsin. Tabii ki, daha gelişmiş ve pratik yöntemler var, olacak da. Hatta, kurulum yapılan PC'nin sistem özelliklerini okutturup 32 veya 64 karekterden oluşan bir karekter seti elde ederek kendi lisans anahtarını da oluşturabilirsin. Unutma, 64 karekterden oluşan bir lisans anahtarını kırmak pek o kadar kolay değil, ama kıralamaz da değil. InstallShield ile kurulum cd'ni oluşturup dağıtabilirsin.
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

Re: İnstallShield ile serialli kurulum nasıl yapılır__?

Mesaj gönderen qamyoncu »

:) anladım.. güzel bir yöntemmiş.. teşekkür ederim paylaştığın için..

bu yöntemi uyguluycam sanırım..

Ama yinede..

Eğer install shield deki serial kısmını nasıl kullanabilceğim hakkında bir bilgin varsa anlatabilrmsn?
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
NeverFear
Üye
Mesajlar: 69
Kayıt: 20 Tem 2004 09:41
Konum: İzmir

Re: İnstallShield ile serialli kurulum nasıl yapılır__?

Mesaj gönderen NeverFear »

InstallShieldExpress'i çalıştır (sürüm 3.5 kullandığını varsayıyorum).
4.aşama olan Customize the Setup Appearance'a geldiğinde, Dialogs\Customer Information yolunu izle ve aktif duruma getir. Customer Information Properties ekranında Show Serial Number'ı Yes durumuna getir. Serial Number Template kısmına belirlediğin serial kodunu gir (örn. format yazılı). Programının içinden bir textfile oluştur ve uzantısını *.dll olarak ver. bunun *.txt olduğunu kimse farketmez, çünkü uzantısı *.dll :). Serial Number Validation DLL kısmına bu açtırdığın *.dll :) dosyanın yolunu belirt. Retry Limit yazan yere 1 yazarsan giriş yapan kullanıcının 1 kez serial giriş denemesi olur. diğer bütün aşamaları geçtikten sonra 7.basamaktaki Test Your Release ile Kurulum dosyasını kontrol edebilirsin.
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Re: İnstallShield ile serialli kurulum nasıl yapılır__?

Mesaj gönderen ikutluay »

qamyoncu yazdı::) anladım.. güzel bir yöntemmiş.. teşekkür ederim paylaştığın için..

bu yöntemi uyguluycam sanırım..

Ama yinede..

Eğer install shield deki serial kısmını nasıl kullanabilceğim hakkında bir bilgin varsa anlatabilrmsn?

arkadaşım bu iş ora ile OLMAZZZZZ:..

en güzel yöntem HDD seri no sudur. eski yöntemdir ama genel olarak işe yarar. birçoğumuzun kullandığı ilk yöntemdir. biraz kod kasacaksın.

bir uygulamanda bir formul üret buna karşılık gelen sayıyıda hesapla. kullanıcı şifre için seni aramam zorundadır. karşı sayıyı verirsin paranı alırsın. program ifre al dediğinde ise sana bildirilen sayının bir yerine harddisk seri noyu standart olmayan şeilde gömki uyanmasın kimse.

illede hazır lokma dersen armadillo ile lisans oluştur derim. o bunu braz daha basitleştirir ama paralıdır. ve sonuçta o da kırılabilimektedir.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

Re: İnstallShield ile serialli kurulum nasıl yapılır__?

Mesaj gönderen qamyoncu »

hımm.. neverfear anlattığın herşeyi buldum ve yaptım.. ancak validate funchion kısmı boş kaldı ve kurulumu yaparken seriali ne girersem gireyim kabul ediyo geçiyo... bir mask oluşturdum ve Serial Number Template kısmına girdim.. dll dosyası olştrdum Serial Number Validation DLL kısmına uzantıyı girdim..

Ancak validate function kısmıyla ilgili birşeylerde yapmak gerekiyor.. bende install shield borland limited version var.. versionlarının farklı olması sorun çıkarmaz dimi?
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
NeverFear
Üye
Mesajlar: 69
Kayıt: 20 Tem 2004 09:41
Konum: İzmir

Re: İnstallShield ile serialli kurulum nasıl yapılır__?

Mesaj gönderen NeverFear »

full sürümü edinmeye çalışmanda yarar var. evet sürüm farklılığı sorun yaratabilir.
ikutluay hocamın HDD seri no önerisine ben de katılıyorum. ancak HDD formanlandığı zaman bu no değişecektir ve lisans için kullanıcı tekrar sana gelmek zorunda kalacak. diyeceksin ki, formatlamasın ben her lisans verdiğimde prim/ücret talep ederim. işte bunu dediğin an o müşteriyi kaybettin demektir.
Lisanslama için,
1. HDD fabrika seri numarasını kullanabilirsin.
2. CPU özelliklerini kullanabilirsin.
3. BIOS verilerini kullanabilirsin .... buna benzer yöntemlerle bir SerialNo üretebilirsin. ya da kendin bir kod yazarak lisanslama ekranı oluşturup müşterini takip edebilirsin. 32 veya 64 karekterden oluşan rastgele 256 ASCII karekteri alıp bir seri no üretebilirsin.
Yöntemler o kadar çok ki ... karar senin.
Aşağıdaki kodlar, ikutluay hocamın tavsiye ettiği ve benim de daha önceleri kullandığım bir lisanslama işlemi ile ilgili kodlar.

Kod: Tümünü seç

procedure Birim_Seri_No;
begin
   GetVolumeInformation(PChar(DriveChar + ':\'), nil, 0, @VolumeSerialNumber, MaximumComponentLength,FileSystemFlags, nil, 0);
   SerialNumber := IntToHex(HiWord(VolumeSerialNumber), 4) + '-' + IntToHex(LoWord(VolumeSerialNumber), 4);
end;

procedure TForm1.DriveComboBox1Change(Sender: TObject);
begin
  DriveChar:= DriveComboBox1.Drive;
  Birim_Seri_No;
  Memo_No1.Text:= Disket + Copy(IntToStr(HiWord(VolumeSerialNumber)),1,1);
  Memo_No2.Text:= IntToStr(DWord(VolumeSerialNumber)) +
  	Copy(IntToStr(LoWord(VolumeSerialNumber)),1,1);
end;

procedure TForm1.BitBtn_OnaylaClick(Sender: TObject);
begin
  Lisans_Ini:= TIniFile.Create(WinSysDir + '\Licsales.Ini');
  Lisans:= Lisans_Ini.ReadString('Options', 'License', Value);
  Memo11.Text:= Copy(IntToHex((StrToInt(Memo1.Text)*16),2),1,2);
  Memo12.Text:= Copy(IntToHex((StrToInt(Memo2.Text)*16),2),1,2);
  Memo13.Text:= Copy(IntToHex((StrToInt(Memo3.Text)*16),2),1,2);
  Memo14.Text:= Copy(IntToHex((StrToInt(Memo4.Text)*16),2),1,2);
  Memo15.Text:= Copy(IntToHex((StrToInt(Memo5.Text)*16),2),1,2);
  Memo16.Text:= Copy(IntToHex((StrToInt(Memo6.Text)*16),2),1,2);
  Memo17.Text:= Copy(IntToHex((StrToInt(Memo7.Text)*16),2),1,2);
  Memo18.Text:= Copy(IntToHex((StrToInt(Memo8.Text)*16),2),1,2);
  Memo19.Text:= Copy(IntToHex((StrToInt(Memo9.Text)*16),2),1,2);
  Memo20.Text:= Copy(IntToHex((StrToInt(Memo10.Text)*16),2),1,2);
  Value:= Memo11.Text+Memo12.Text+Memo13.Text+Memo14.Text+Memo15.Text+Memo16.Text+
  	Memo17.Text+Memo18.Text+Memo19.Text+Memo20.Text;
  if Lisans <> Value then  MessageDlg('Hatalı lisans girdisi ..?', mtConfirmation, [mbOK], 0);
end;
benzeri bir kodlama ile 20 karekterden oluşan bir lisans anahtarı.
Lisans_Ini:= TIniFile.Create(WinSysDir + '\Licsales.Ini'); satırındaki WinSysDir gözünü sevdiğim \windows\system32 dizini :)
ne işlemler yapılmaz ki o dizinin altında ..! en meraklı, ben bilgisayardan çok iyi anlarım diyen sevimli müşterinden bile saklarsın bazı sadece seni ilgilendiren ve kurcalanmasını istemediğin dosyalarını. ruhu bile duymaz gözünün önündeki dosyanın şifre dosyası olduğunu :). ayrıca, dosyanın ismini Licsales.Ini de vermek zorunda değilsin. system32.ini dahi olabilir.
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

Re: İnstallShield ile serialli kurulum nasıl yapılır__?

Mesaj gönderen qamyoncu »

beyler çok teşekkür ederim.. neverfear baya bi zaman harcayarak bana açıkça anlatmışsın olayı.. çok saol..

Ancak HDD seri nosuyla yaparsam, kullanıcak kişinin bana tekrardan ulaşması gerekicek.. ve tabii para konusundada bir sıkıntı olucak.. serial olması, işimi tam istediğim gibi ve kökten halledicek.. bir daha beni de uğraştırmıycak..

Sürüm farkının sorun yaratıcağını sanmıyorum olsa olsa validation function yerine başka bir isim ile aynı şeyi ister.. sanırım bazı kodlar girmem gerekiyor oraya.. çnkü ben kurulum sırasında seriali ne yazarsam yazayım kabul ediyor.. hatta bişey yazmasam bile..:) 3.5 wersiyonunda validate function die biyer olmadığına eminmsn?
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

Re: İnstallShield ile serialli kurulum nasıl yapılır__?

Mesaj gönderen qamyoncu »

Arkadaşlar yardımcı olabilicek yokmu..?

İnstall shield de Serial bölümünde ''validate function'' bölümünü nasıl doldurabilirm?
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
NeverFear
Üye
Mesajlar: 69
Kayıt: 20 Tem 2004 09:41
Konum: İzmir

Re: İnstallShield ile serialli kurulum nasıl yapılır__?

Mesaj gönderen NeverFear »

o bölümü boş geç
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

Re: İnstallShield ile serialli kurulum nasıl yapılır__?

Mesaj gönderen qamyoncu »

denedim öyle:)..

ama ozaman her yazdığım seriali kabul ediyor.. hatta yazmasam bile kabul ediyor.. :)
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
Cevapla