FİRE BİRD Posted April 10, 2010 Share Posted April 10, 2010 Katılımsız AIO yapanlar için güncelleme fonksiyonu üzerinde bir çalışma yaptım fakat eksiği var.Mevcut olan sürümle ftp deki sürümün mukayesi olmalı diye düşünüyorum.Aşağıdaki kodlar üzerinde ne gibi değişiklikler yapmalıyım. RichText.SetText("RichText1", "Sunucu Aranıyor.....", false); Application.Sleep(1000) FTP.Connect("ftp.xxxxxx.com", "xxxxxx", "xxxxxx", "", true); hata=Application.GetLastError(); if (hata~=0) then RichText.SetText("RichText1", "Bağlantıda bir hata meydana geldi.", false); Application.Sleep(3000) Application.Exit(0); end RichText.SetText("RichText1", "Sunucuya Bağlandı.", false); Application.Sleep(1000) FTP.Download("/htdocs/update.exe", "C:\\update.exe", RichText.SetText("RichText1", "Güncelleme İndiriliyor.", false)); hata=Application.GetLastError(); if (hata~=0) then RichText.SetText("RichText1", "Güncelleme Bulunamadı..", false); Application.Sleep(5000) Application.Exit(0); end RichText.SetText("RichText1", "Güncelleme İndirildi", false)[/CODE] Link to comment Share on other sites More sharing options...
KintaRo Posted April 11, 2010 Share Posted April 11, 2010 @FİRE BİRD; Kodlar doğru fakat en son kısımdaki yani dosya download edildikten sonraki kısımda eğer hata verirse güncelleme bulunamadı mesajı ver demişsin. Bu neden böyleki? bir de güncellemeyi sadece indiriyor neden? İndirdikten sonra otomatik çalıştırabilirsin. Sürüm karşılaştırmasınıda söyle yaparsın. Projene bir ini dosyası koyup o anki sürüm nosunu yazarsın. Birde update.exe nin içinde yeni sürüm nosu olur. Update.exe yi çalıştırınca iki dosyadaki sürümleri karşılaştırır. Eğer aynı ise, güncellemeye gerek yok der. Eğer aynı değilse günceller. Link to comment Share on other sites More sharing options...
FİRE BİRD Posted April 11, 2010 Author Share Posted April 11, 2010 @FİRE BİRD; Kodlar doğru fakat en son kısımdaki yani dosya download edildikten sonraki kısımda eğer hata verirse güncelleme bulunamadı mesajı ver demişsin. Bu neden böyleki? bir de güncellemeyi sadece indiriyor neden? İndirdikten sonra otomatik çalıştırabilirsin. Sürüm karşılaştırmasınıda söyle yaparsın. Projene bir ini dosyası koyup o anki sürüm nosunu yazarsın. Birde update.exe nin içinde yeni sürüm nosu olur. Update.exe yi çalıştırınca iki dosyadaki sürümleri karşılaştırır. Eğer aynı ise, güncellemeye gerek yok der. Eğer aynı değilse günceller. Bir ini dosyasını ftp ye koyup ,gerek varsa update exe yi indirilmesini sağlamak kotalı kullanıcılar açısından daha sağlıklı olur diye düşünüyorum. Link to comment Share on other sites More sharing options...
blackman12 Posted April 11, 2010 Share Posted April 11, 2010 Exeyi indirdikten sonra sürüm kontrolu yapacağına updatei koyduğun ftp ye bir ini dosyası koy ve tempe indirip okut.Aynı değilse updateyi indirt. Link to comment Share on other sites More sharing options...
KintaRo Posted April 11, 2010 Share Posted April 11, 2010 @FİRE BİRD, @blackman12, eğer sunucudan kontrol etmek istiyorsanız sunucuya koyacağınız xml dosya ile ini dosyasını eşleştirebilirsiniz. Daha temiz bir yöntem. XML.Download("http://www.site.com/update.xml", "C:\\update.xml") -- xml dosyasını indir XML.Load("C:\update.xml") -- hafizaya yükle a = XML.GetValue("program/version") -- versiyon bilgisini al b = INIFile.GetValu("Autoplay\\Docs\\veri.ini", "program", "version") -- inideki versiyon bilgisini al if a ~= b then -- eger versiyonlar eşleşmezse HTTP.Download("www.site.com/update.exe", "C:\\update.exe", 20, 80) --güncellemeyi indir File.Run("C:\\update.exe", "", "") -- güncellemeyi çalıştır Application.Exit(); -- programdan çık else -- eğer versiyon eşleşirse Dialog.Message("Tebrikler", "Güncellemeye gerek yok") -- gerek yok mesajı ver end[/CODE] Kodlar saırım bu sekilde yapilirsa olabilir. Şu an AMS bu makinada kurulu olmadığı için kodları kafadan yazdım, hata olabilir. Link to comment Share on other sites More sharing options...
FİRE BİRD Posted April 11, 2010 Author Share Posted April 11, 2010 @FİRE BİRD, @blackman12, eğer sunucudan kontrol etmek istiyorsanız sunucuya koyacağınız xml dosya ile ini dosyasını eşleştirebilirsiniz. Daha temiz bir yöntem. XML.Download("http://www.site.com/update.xml", "C:\\update.xml") -- xml dosyasını indir XML.Load("C:\update.xml") -- hafizaya yükle a = XML.GetValue("program/version") -- versiyon bilgisini al b = INIFile.GetValu("Autoplay\\Docs\\veri.ini", "program", "version") -- inideki versiyon bilgisini al if a ~= b then -- eger versiyonlar eşleşmezse HTTP.Download("www.site.com/update.exe", "C:\\update.exe", 20, 80) --güncellemeyi indir File.Run("C:\\update.exe", "", "") -- güncellemeyi çalıştır Application.Exit(); -- programdan çık else -- eğer versiyon eşleşirse Dialog.Message("Tebrikler", "Güncellemeye gerek yok") -- gerek yok mesajı ver end[/CODE] Kodlar saırım bu sekilde yapilirsa olabilir. Şu an AMS bu makinada kurulu olmadığı için kodları kafadan yazdım, hata olabilir. Biraz düzenlemeden sonra işe yarar hale geldi : [CODE]HTTP.Download("http://www.deneme.com/Update.xml", "C:\\Update.xml", 20, 80) -- xml dosyasını indir XML.Load("C:\\Update.xml") -- hafizaya yükle a = XML.GetValue("version") -- versiyon bilgisini al XML.Load("AutoPlay\\Docs\\ref.xml") -- hafizaya yükle b = XML.GetValue("version") -- versiyon bilgisini al if a > b then -- eger versiyon eskiyse HTTP.Download("http://www.deneme.com/update.exe", "C:\\update.exe", 20, 80) --güncellemeyi indir File.Open("C:\\update.exe", "", SW_SHOWNORMAL); -- güncellemeyi çalıştır else -- eğer versiyon yeniyse Dialog.Message("Tebrikler", "Güncellemeye gerek yok") -- gerek yok mesajı ver end[/CODE] Teşekkürler KintaRo Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.