Merhaba arkadaşlar yazmış olduğum exe uygulamam var. Müşteriler kullanacak programı.
Uzaktan ne yaparak güncelleyebilirim ?
Hangi kütüphaneleri kullanmam gerek ?
Bu konu da deneyimi olan arkadaşlar aydınlatır ise çok sevinirim.
Git kullanabilirsin.
"Kaynak kodlarini guncelleme"den kastinizin uygulamayi guncellemek oldugunu varsayiyorum.
Versiyonu iceren bir text dosyasi + exe’nin kendisini internette bir yere koyabilirsiniz.
Basit bir google aramasiyla 5-6 tane kutuphane buldum, onlari deneyebilirsiniz.
Git’in konuyla bir alakasi yok.
şöyle bir kod var elimde bunu kullanıyorum kendinize göre güncelleyebilirsiniz iyi akşamlar
# pip install PyGithub
import base64
from github import Github
g = Github(" SECRET KEY ") # bu oluşturduğumuz github anahtarımız
repo = g.get_user().get_repo("scripthub") # burdakı da githubtakı repository-mizin ismi
version1 = repo.get_contents('eskiversion.txt').content
version1 = ( base64.b64decode(version1) ).decode('utf-8')
version1 = version1.strip()
print(version1)
yeni_version = repo.get_contents('version.txt').content
yeni_version = ( base64.b64decode(yeni_version) ).decode('utf-8')
yeni_version = yeni_version.strip()
print(yeni_version)
if version1 == yeni_version:
print('versiyonlar aynı')
else:
print('versiyonlar farklı')
arsiv = repo.get_contents('angara.rar').content
with open('angara.rar','wb') as f:
f.write( base64.b64decode(arsiv) )
updater.exe yaptım onu çalıştırıp güncelleştirme çektiriyorum buda işte eski versiyonu ve klasördeki başka dosyalar varsa onları temizliyor
import os,shutil
mevcut_konum = os.getcwd()
print(mevcut_konum)
script_ismi = os.path.basename(__file__)
print(script_ismi)
dosyalar = os.listdir()
for dosya_adi in dosyalar:
if dosya_adi == script_ismi: # updater.exe-nin kendi kendini silmesin diye
continue
else:
path = os.path.join( mevcut_konum, dosya_adi )
if os.path.isdir(path): # path bir klasör pathi ise burada siliyoruz
shutil.rmtree(path,ignore_errors=True)
elif os.path.isfile(path): # path bir dosya pathi ise burada siliyoruz
os.remove(path)