C# Sorusu - Yeni Versiyon Mevcut
-
C# da Kendi yazdığımız bir programa otomatik güncellemeyi nasıl entegre edebiliriz.
Ben yeni bir versiyonu yayınladığım vakit kullanıcıya uyarı gidecek ve otomatik olarak program kendini güncelleyecek.Saygılar.
-
lokalden mi internet üzerinden mi hocam
-
İnternet üzerinden hocam. Şöyle diyim. Mesela teamviewer'ı açıyorum. Yeni versiyon var diyor , tıkladığım vakit beni sitesine yönlendiriyor. Böyle birşey istiyorum.
-
clickonce araştır
-
en basit olarak şöyle bişi yapabilirsin internet üzerinde bir tane txt'de versiyon tutarsın. program açıldıgında kendi sürümüyle senin txt de yazan sürümü karşılaştırır eğer farklıysa verdigin exe yolundan indirir ve çalıştırır yeni sürümü.
-
FCN bunu yazdı
en basit olarak şöyle bişi yapabilirsin internet üzerinde bir tane txt'de versiyon tutarsın. program açıldıgında kendi sürümüyle senin txt de yazan sürümü karşılaştırır eğer farklıysa verdigin exe yolundan indirir ve çalıştırır yeni sürümü.
deneyip buraya yazarım hocam. Teşekkürler.
-
Daha basit olarak clickonce ile yapabilirsin.
Yapılışı:http://www.codeproject.com/Articles/38546/Click-Once-Deployment-Technique
Canlı örnek: http://www.loggee.org/installx/Loggee.application
nessaj tarafından 29/Kas/12 16:22 tarihinde düzenlenmiştir -
yaptığın projeyi setup yapan güzel programlar var setup hazırlarken güncelleme sorsunmu evet diyorsun o herşeyi yapıyor. ismini hatırlayamadım ama az googlede ararsan bulabilirsin.
-
Benim yazdığım vardı bende sorunsuz çalışıyor.
VB.Net ile yazdım rahatça çevirirsin C# ye
Imports System.Net Public Class clsUpdate Shared LocationOfIni As String = Nothing Sub New(ByVal stHref As String) LocationOfIni = stHref End Sub Shared Function prGuncelle(ByVal Surum As String, Optional ByVal KeyAl As Boolean = False, Optional ByVal KeyStr As String = Nothing) As String If My.Computer.Network.IsAvailable = False Then Return "BYok" Exit Function End If Dim netweb As New WebClient Dim dosyaal As String, icerikal As String, ysadres As String ysadres = vbNullString icerikal = Surum Try dosyaal = netweb.DownloadString(LocationOfIni) Catch Return "SHata" Exit Function End Try Dim fsplit() As String 'Dim fsplit2 As New Regex(dosyaal) 'fsplit = Regex.Split(dosyaal, "\z") fsplit = dosyaal.Replace(vbCr, vbNullString).Split(vbLf) For Each satir As String In fsplit If satir.Contains("=") Then icerikal = satir.Split("=")(1) End If 'MsgBox(satir.Split("=")(0)) If KeyAl = True Then Select Case satir.Split("=")(0) Case KeyStr Return "OKey-" & icerikal Exit Function End Select End If Select Case satir.Split("=")(0) Case "Yenisurumadres" ysadres = icerikal Case "Yenisurum" If Not Surum = icerikal Then Return "SVar-" & icerikal & "-" & ysadres End If Case "OMesaj" If Not icerikal = "N/A" Then MsgBox(icerikal, MsgBoxStyle.Information) End If End Select Next Return "SYok" End Function End ClassReturn dan çevrilen değerlere bak programda if ile istediğini yapabilirsin.
Örnek proje istiyorsan: http://www.tetrasoftware.net/uploads/1/1/5/2/11520866/kayit_defteri_03.zip
Sana eski sürümü attım açtığında v4.0 çıktı diyecek.
Bu da internet üzerinde duran kontrol için belge (Ben dropbox ta saklıyorum çok kullanıcı kullanıyorsa bu yazılımını sitendeki ftp ye at http ile çek):
Yenisurumadres=http://tetrasoftware.weebly.com/uploads/1/1/5/2/11520866/kayit_defteri_04.zip OMesaj=N/A Yenisurum=0.4.2029.0 Yenisurumstable=Evet Betavar=Hayir Eskisurum=0.3
OMesaj parametresi eğer açılışta bir mesaj göstertireceksen doldur yoksa N/A kalsın.
Yeni sürümü Application.Info olarak yaz ya da koddan kendin değiştir.
Return dan gelen değerleri "-" ile split etmen gerekebilir ara sıra o yüzden güncelleme dosyasının isminde "-" karakteri geçmesin. Ama benim tavsiyem "-" karakterini üstteki kodda "*" ile değiştirmen çünkü dosya adlarında "*" kullanılmıyor.
-
cizik
