By_Microp Posted May 24, 2010 Share Posted May 24, 2010 http://www.tnctr.com/index.php?showtopic=116968 Sizi böyle birşey için rahatsız ettiğim için özür dilerim Dante_Imp diye bir arkadaşımız uzaktan updateli AIO Yapmış konu linkide yukarıda acaba ben ve başka kullanıcılar AIO Yaptıklarında nasıl uzaktan update yapabilirler bende zaten FTP Sunucusu var 20 GB Oraya zaten güncellemeleri atarım Mercan Programlar konusunu incelediğimde gerçekten süper yapmış kontrol ediyor indiriyor klasörü soruyor güncellendi vb. uyarılarını veriyor böyle birşey mümkünmü zaten mümkün olmasaydı @dante_ımp yapamazdı Örnek Olarak djonur007 arkaşımızın yaptığı AIO'yu uzaktan güncellemesini yapabilir mi? Quote Link to comment Share on other sites More sharing options...
djonur007 Posted May 24, 2010 Share Posted May 24, 2010 (edited) konunun yeri burası değil. Autoplay media studio bölümüne açman gerekirdi. sen raporlar mısın? ben raporlıyayım mı? Edited May 24, 2010 by djonur007 Quote Link to comment Share on other sites More sharing options...
By_Microp Posted May 24, 2010 Author Share Posted May 24, 2010 Ben Bilmiyorum Kime Raporlayacağımı Sen Söylersen Daha İyi olur Quote Link to comment Share on other sites More sharing options...
dragon3781 Posted May 25, 2010 Share Posted May 25, 2010 (edited) Spydevil yada Kintaro bence biliyordur , yardımcı olacaklarına eminim Hellp Me Pls .. Edited May 25, 2010 by dragon3781 Quote Link to comment Share on other sites More sharing options...
KintaRo Posted May 25, 2010 Share Posted May 25, 2010 Arkadaşlar benim yaptığım sistemlerde ana mantık Web sitesindeki XML dosyasında yazan versiyon ile Projenin içinde bulunan ini dosyasında yazan versiyonu karşılaştırmak ve ini dosyasındaki xml dosyasındakinden küçük ise yeni dosyayı indirmek. Buradan yola çıkabilirsiniz. Örnek verecek olursak; HTTP.Download("http://www.tamotomatik.org/update.xml", _TempFolder .. "\\update.xml", 80, 20, nil, nil) -- xml i indir XML.Load(_TempFolder .. "\\update.xml") -- xml i hafizaya yükle xml_version = XML.GetValue("program_adi/version"); -- xml deki version noyu al ini_version = INIFile.GetValue("Autoplay\\Docs\\update.ini", "PROGRAMADI", "version") -- ini deki version noyu al nmbXml = String.ToNumber(xml_version) -- alinan degeri sayıya cevir nmbIni = String.ToNumber(ini_version) -- alinan degeri sayiya cevir if nmbIni < nmbXml then -- eger inideki xml den kucukse StatusDlg.Show() -- ilerleme cubugunu goster HTTP.Download("http://www.tamotomatik.org/winamp.exe", "Autoplay\\Docs\\winamp.exe", 80, 20, nil, nil) -- guncelleme dosyasini indir StatusDlg.Hide() -- ilerleme cubugunu gizle Dialog.Message("Tebrikler", "Güncelleme başarılı") -- basarili mesajini ver else -- surumler aynı ise Dialog.Message("Tebrikler", "Güncellemeye gerek yok") -- guncel mesajini ver end[/CODE] Not: Kodları ams kullanmadan yazdım ufak tefek hatalar olabilir. Quote Link to comment Share on other sites More sharing options...
By_Microp Posted May 26, 2010 Author Share Posted May 26, 2010 HTTP.Download("Please register to see this content. _TempFolder .. "\\update.xml", 80, 20, nil, nil) -- xml i indir Bu Bölüme ftp adresimizi mi yazıyoruz ? Birde benim ftp adresi kullanıcı adı ve parola istiyor parolayı iptal edemiyorum malesef onun içinde kod varmı varsa altına eklermisin Quote Link to comment Share on other sites More sharing options...
KintaRo Posted May 26, 2010 Share Posted May 26, 2010 FTP ile işiniz yokki? yani FTP ilede yapılabilir ama işlemi uzatır boş yere bence. Ama illa FTP diyorsanız öncelikle Plugins kısmından FTP pluginini etkinleştirmelisiniz. FTP Komutlarıda şu şekilde; FTP.Connect("ftp.tamotomatik.org", "kullanici_adi", "sifre", "", true) -- ftp sunucusuna bağlan FTP.ChangeDir("public_html/update_klasoru") -- klasör değiştir FTP.Download("update.xml", _TempFolder .. "\\update.xml") -- dosyayı indir FTP.Disconnect() -- bağlantıyı kes[/CODE] Quote Link to comment Share on other sites More sharing options...
By_Microp Posted May 26, 2010 Author Share Posted May 26, 2010 Sana 3 Tane Sorum Var : 1 . Peki o o zaman senin öbür verdiğin kod güncelleştirmeyi nereden indiriyor onu anlayamadım 2 . AIO'da plugins kısmına girdikten sonra kodlarımı yapıştırıyoruz 3. Mesela AIO'yu Yaptım bitti AIO'yu .exe'ye çevirdim direkt, peki güncelleştirme yapmak istiyor programın kullanıcısı Projemide zaten build ederek AIO .EXE Yaptım güncelleştirmeleri nasıl içine ekleyecek anladınmı ne demek istediğimi? yani AIO winrar ile sıkıştırılmış gibi bir nevi update dosyasını indirecek sonra içine nasıl kendi kendine ekleyecek illa yukarıdaki olmaz ise mercan programlardaki gibi olabilir ; yani mercan programlar klasörünüzü seçin vb.'de olabilir zaten AIO Yaptığımda direkt .exe zor açılır klasörlü falan yaparım direkt program files'e attırım dosyaları Bu arada yardımın için çok teşekkürler Biraz uzun oldu ama yazdıklarım Quote Link to comment Share on other sites More sharing options...
KintaRo Posted May 27, 2010 Share Posted May 27, 2010 1- HTTP.Download("Please register to see this content. "Autoplay\\Docs\\winamp.exe", 80, 20, nil, nil) -- guncelleme dosyasini indir kodu ile Autoplay\docs klasorune indirip eski winamp.exe'nin üzerine yazıyor. Yani bu örnek tabi. 2- AMS'de Plugins bölümü açıp, FTP pluginini seçili hale getirip tamam diyorsun ve güncelle buttonuna bu kodları yazıyorsun. 3- AIO'nu exe'ye çevirirsen güncelletemessin. Build ederken Hard Driver Folder'i seçmen gerekir. Quote Link to comment Share on other sites More sharing options...
By_Microp Posted May 28, 2010 Author Share Posted May 28, 2010 Denerim Olmassa Msj Atarım Yardımların İçin Çok Çok Teşekkürler Quote Link to comment Share on other sites More sharing options...
iso_manyak Posted June 2, 2010 Share Posted June 2, 2010 By_Microp Güzel Bir konuya Deyinmişsin. Ncerdiğin zaman bizimlede paylaşırsan seviniriz Quote Link to comment Share on other sites More sharing options...
By_Microp Posted June 3, 2010 Author Share Posted June 3, 2010 KintaRo Yukarıdaki Verdiğin Kodda Birşeyi Anlayamadım ; FTP.Connect("ftp.tamotomatik.org", "kullanici_adi", "sifre", "", true) -- ftp sunucusuna bağlan FTP.ChangeDir("public_html/update_klasoru") -- klasör değiştir FTP.Download("update.xml", _TempFolder .. "\\update.xml") -- dosyayı indir FTP.Disconnect() -- bağlantıyı kes Burda Herhalde ftp.tamotomatik.org yerine kendi ftp adresimi yazıcam ve kullanıcı adını şifre bölümünüde kendime göre değiştireceğim. ("public_html/update_klasoru") - Bu Kod ne işe yarıyor ftp adresindeki klaösör mü oluyor FTP.Download("update.xml", _TempFolder .. "\\update.xml") -- dosyayı indir - Bu Kodda update.xlm dosyasını anlayamdım kendim update.xml dosyasımı oluşturmam gerek Birde bağlantıyı kes ,dosyayı indir yazılarını editlesem birşey olurmu o yazılar gözüküyür mu yani ? Quote Link to comment Share on other sites More sharing options...
KintaRo Posted June 3, 2010 Share Posted June 3, 2010 evet o kısma kendi bilgilerini yazacaksın, ChangeDir komutu ftp içindeki klasörler arasında geçiş yapmanı sağlar. Yani C:\ den C:\Windows klasörüne girmek gibi. evet update.xml dosyasını kendin oluşturman lazim. o yazılar sadece açıklama için silsede, kalsada bişey farketmez. Yalnız daha öncede soyledim bu yol uzun yol ve yanlis yol 5 nolu iletideki örneğin üzerinde ilerleme yaparsanız daha mantıklı olur. Quote Link to comment Share on other sites More sharing options...
By_Microp Posted June 4, 2010 Author Share Posted June 4, 2010 HTTP.Download("http://www.tamotomatik.org/update.xml", _TempFolder .. "\\update.xml", 80, 20, nil, nil) -- xml i indir XML.Load(_TempFolder .. "\\update.xml") -- xml i hafizaya yükle xml_version = XML.GetValue("program_adi/version"); -- xml deki version noyu al ini_version = INIFile.GetValue("Autoplay\\Docs\\update.ini", "PROGRAMADI", "version") -- ini deki version noyu al nmbXml = String.ToNumber(xml_version) -- alinan degeri sayıya cevir nmbIni = String.ToNumber(ini_version) -- alinan degeri sayiya cevir if nmbIni < nmbXml then -- eger inideki xml den kucukse StatusDlg.Show() -- ilerleme cubugunu goster HTTP.Download("http://www.tamotomatik.org/winamp.exe", "Autoplay\\Docs\\winamp.exe", 80, 20, nil, nil) -- guncelleme dosyasini indir StatusDlg.Hide() -- ilerleme cubugunu gizle Dialog.Message("Tebrikler", "Güncelleme başarılı") -- basarili mesajini ver else -- surumler aynı ise Dialog.Message("Tebrikler", "Güncellemeye gerek yok") -- guncel mesajini ver end[/CODE] Bu Komutu hiç anlamadım Zaten. Please register to see this content. bu link direkt siteden indiriyor herhalde. Peki ben bu koda ne linki ekliyecem ki indirdin. (RapidShare vb.olurmu) Quote Link to comment Share on other sites More sharing options...
KintaRo Posted June 4, 2010 Share Posted June 4, 2010 Bu iş için öncelikle kendinize ait bir siteniz olmali ve dosyaları buraya göndermelisiniz. Ayrıca Hostunuzun Band Genişliği çok yüksek olmalı ki ilerde sorun olmasın. Yani örneğin 10 GB lik bir Band genişliğine sahip bir site işinizi görmez. (Band genişliği; sitenizdeki dosyaları diğer kullanıcıların indirebileceği veri miktarıdır.) Diyelim ki bir AIO yaptınız. içinde 30 program var ve aylık ortalama 100 MB'lık güncelleme çıkartacaksınız. AIO'nuzu 1000 kişi kullanıyor diyelim. 100 x 1000 = 100.000 MB yani yaklaşık 100 GB Band Genişlliğine sahip olmanız gerekir. Bunun için sınırsız bir host almak en güzeli. Yoksa bu işe hiç girmeyin derim :-) Rapidshare gibi sitelerden dosyaları indittirmeniz mümkün değil. Aslında bi kaç trickle oda yapılır ama 5-10 tane rapid hesabınız olması gerekir :-) ha yok ben sadece 3-5 küçük güncelleme yayınlarım derseniz o zaman bilmem buyrun. Quote Link to comment Share on other sites More sharing options...
By_Microp Posted June 4, 2010 Author Share Posted June 4, 2010 Sen Diyorsun Ya Bu Kodu Kullan Benim Site varda blog Olarak var Oraya dosya upload edemem. Direkt ftp Adresinden Upload Edicem o Zaman. Birde şu update.xlm dosyasını nasıl oluşturuyoruz. AIO'da Eski Sürüm ise dosya nasıl Yeni Sürüm olduğunu anlayarak indirecek. Quote Link to comment Share on other sites More sharing options...
KintaRo Posted June 4, 2010 Share Posted June 4, 2010 Örnek XML dosyası: <update> <winamp> <version>350</version> <adres>http://www.siteadresi.com/winamp.exe</adres> </winamp> </update>[/CODE] bu örnekten sonra şunu yazalım: [CODE]XML.GetValue("update/winamp/version")[/CODE] kodu nun geri dönüşünde sana 350'yi verir. Ayrıca FTP yani dosyaları atabileceğin bir yer yoksa boşuna hiç uğraşma derim. Quote Link to comment Share on other sites More sharing options...
By_Microp Posted June 5, 2010 Author Share Posted June 5, 2010 FTP Adresim Var. Kodlarını Deneyelim Bakalım. Ben Cevap Yazarım. Quote Link to comment Share on other sites More sharing options...
xarax Posted June 10, 2010 Share Posted June 10, 2010 bunu şu şekilde daha iyi hale getirebiliriz, indirme sırasında hata oluşursa ne olacak bozuk dosya çalışmayacağına göre. daha önceden yükleyicinin güncelleme dosyalarının MD5 değerlerini xml dosyasına yerleştirip download bitince indirilen dosyanın MD5 değeri alınıp bu değerle xml dosyasındaki MD5 değeri karşılaştırılıp eğer aynı değilse tekrar indirmesini veya uyarı vermesini sağlayacak bir komut kümesi de eklenebilir. Quote Link to comment Share on other sites More sharing options...
TLnY Posted June 11, 2010 Share Posted June 11, 2010 XML işini anladım. Kodların mantığını da anladım. Fakat ini dosyasının içeriğine değinmemişsiniz. XML nin içeriğiyle aynı olmamalı. Quote Link to comment Share on other sites More sharing options...
KintaRo Posted June 12, 2010 Share Posted June 12, 2010 tabi ayni olmamalı. mesela INI dosyasındaki program sürümü 15 ise XML'deki 16 olsun ki güncelleme yaptırabilesin. Örnek INI içeriği: [update] program1=15 program2=25[/CODE] Ve böylece; [CODE]version = INIFile.GetValue("Autoplay\\Docs\\update.ini", "update", "program1")[/CODE] yazdığımız zaman versiyon değişkeninde 15'i depolayacaktır. Quote Link to comment Share on other sites More sharing options...
TLnY Posted June 12, 2010 Share Posted June 12, 2010 (edited) Yani anladığım kadarıyla; <update> <winamp> <version>350</version> <adres>http://www.siteadresi.com/winamp.exe</adres> </winamp> </update>[/CODE] bu winamp ın güncelleme kodu. Şimdi yine winamp ın ini dosyasındaki karşılaştırıcalak güncelleme kodu: [CODE][update] winamp=349[/CODE] Yani bu şekilde olursa güncelleme işlemi gerçekleşecek, değil mi? (Bu arada mesaj yazdım ama aynı zamanda deniyorum ) Edit: Olmadı. Elimdeki kod şöyle: [CODE]HTTP.Download("http://www.talpsoftware.co.cc/tlny.xml", _TempFolder .. "\\tlny.xml", 80, 20, nil, nil) -- xml i indir XML.Load(_TempFolder .. "\\tlny.xml") -- xml i hafizaya yükle xml_version = XML.GetValue("winamp/version"); -- xml deki version noyu al ini_version = INIFile.GetValue("Autoplay\\Docs\\tlny.ini", "winamp", "version") -- ini deki version noyu al nmbXml = String.ToNumber(xml_version) -- alinan degeri sayıya cevir nmbIni = String.ToNumber(ini_version) -- alinan degeri sayiya cevir if nmbIni < nmbXml then -- eger inideki xml den kucukse StatusDlg.Show() -- ilerleme cubugunu goster HTTP.Download("http://www.talpsoftware.co.cc/at.rtf", "Autoplay\\Docs\\at.rtf", 80, 20, nil, nil) -- guncelleme dosyasini indir StatusDlg.Hide() -- ilerleme cubugunu gizle Dialog.Message("Tebrikler", "Güncelleme başarılı") -- basarili mesajini ver else -- surumler aynı ise Dialog.Message("Tebrikler", "Güncellemeye gerek yok") -- guncel mesajini ver end[/CODE] Nedenini bulamadım. Bir yandan denemeye devam ediyorum. Edited June 12, 2010 by TLnY Quote Link to comment Share on other sites More sharing options...
KintaRo Posted June 12, 2010 Share Posted June 12, 2010 ini dosyasında sorun var ini_version = INIFile.GetValue("Autoplay\\Docs\\tlny.ini", "winamp", "version")[/CODE] yerine [CODE]ini_version = INIFile.GetValue("Autoplay\\Docs\\tlny.ini", "update", "winamp")[/CODE] olacak. Quote Link to comment Share on other sites More sharing options...
TLnY Posted June 12, 2010 Share Posted June 12, 2010 Yine olmadı. Gözlemlediğim kadarıyla StatusDlg.Show() çalışmıyor. Quote Link to comment Share on other sites More sharing options...
MostWanted Posted June 12, 2010 Share Posted June 12, 2010 Kintaro'nun dediği doğru.İni'den yanlış biçimde okutuyosun.Eğer sorun hala devam ediyorsa bizimle paylaşmadığın bişey var demektir.. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.