Jump to content
Son zamanlarda artan kullanıcı hesap hırsızlıkları sebebiyle tüm kullanıcılara şifre sıfırlama maili gönderilmiştir. Lütfen güveli şifreler seçiniz. Mevcut e-mail adresinize erişemiyorsanız, en aşağıdaki destek linkinden bize ulaşınız. ×

Uzaktan Update'li Aio Veya Program Yapmak


By_Microp
 Share

Recommended Posts

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?

Link to comment
Share on other sites

  • Replies 73
  • Created
  • Last Reply

Top Posters In This Topic

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 by djonur007
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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]

Link to comment
Share on other sites

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 :)

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 ?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Ö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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 by TLnY
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...