Kuran ve işleten kişi için
Kurulum ve bakım
Uygulama müşterinin Logo veritabanına erişebilen bir Windows makinesine kurulur ve orada Windows servisi olarak çalışır. Kurulum tek betikle yapılır; ardından yönetim paneli açılır ve 6 adımlı sihirbaz tamamlanır.
1. Gereksinimler
- İşletim sistemi: Windows 10/11 veya Windows Server 2016 ve üzeri, x64, yönetici hakkı.
- .NET: kurulmasına gerek yoktur. Paket kendi çalışma zamanını taşır (self-contained, win-x64).
- SQL Server: erişilebilir bir örnek. Uygulama kendi
TcmbKurveritabanını oluşturur. - Logo: Logo veritabanı ve firma numaraları; kur yazılacak firmalar bilinmeli.
- İnternet: 443 portu üzerinden
https://www.tcmb.gov.tr(bülten) vehttps://lisans.erp.tr(lisans, güncelleme).
Uygulama Logo veritabanına yazar. Servis LocalSystem kimliğiyle
çalıştığı için NT AUTHORITY\SYSTEM hesabının Logo veritabanında yazma yetkisi
olmalıdır. Yetki eksikse kur çekilir ama yazma adımı hata verir — karşılığı
S.S.S. bölümündedir.
2. Kurulum (5 dakika)
-
1
Paketi çıkarın
TcmbKur-Logo-<sürüm>-win-x64.zipdosyasını makineye kopyalayın ve açın. -
2
Sürümü doğrulayın
Klasördeki
manifest.jsoniçindeki sürüm, indirdiğiniz paketin sürümüyle aynı olmalı. -
3
Betiği çalıştırın
Klasöre sağ tıklayıp yönetici PowerShell açın ve kurulum komutunu verin.
powershell -ExecutionPolicy Bypass -File .\install.ps1
Logo veritabanının adı varsayılandan farklıysa parametre olarak verin:
powershell -ExecutionPolicy Bypass -File .\install.ps1 -LogoDb TIGER3
Betik ne yapar
- Dosyaları
C:\ERP\TcmbKuraltına kopyalar. - 5230–5299 aralığından boş ilk portu seçer ve
listen-url.txtdosyasına yazar. TcmbKurveritabanını oluşturur,NT AUTHORITY\SYSTEMhesabınadb_ownerverir.ERP TcmbKurWindows servisini kurar ve başlatır./healthzsağlık kapısından geçmesini bekler; geçemezse kurulum hata verir.- Tarayıcıda kurulum sihirbazını açar.
- Otomatik güncelleyiciyi kurar (5. bölüm).
İlk giriş bilgisi admin / admin'dir; ilk oturumda parola değiştirilir.
3. Kurulum sihirbazı
Panel açıldığında /kurulum (aynı ekran /ayarlar adresinden de açılır)
altı adımda ayarları toplar. Adımlar arasında ileri geri gezinebilir, son adımda kaydedebilirsiniz.
3.1 Windows servisi
Servisin kurulu ve çalışır olduğu doğrulanır. Buradan durdurup başlatabilirsiniz; servis zaten kuruluysa "Kur" düğmesi kapalı gelir.
3.2 Logo bağlantısı
SQL Server sunucusu, veritabanı ve kimlik doğrulama biçimi girilir; bağlantı yerinde test edilir. Ardından kur yazılacak firmalar seçilir. Bağlantı dizesi elle yazılmaz, alanlardan oluşturulur; parola tarayıcıya geri gönderilmez.
3.3 Kur çekme
Hangi para birimlerinin çekileceği, Logo'daki hangi kur alanına yazılacağı ve çalışma saatinin ne olacağı burada belirlenir. Ayrıntılı anlatım Günlük kullanım sayfasındadır; özet olarak:
- TCMB bülteni her iş günü 15:30'da yayımlanır ve ertesi iş günü için geçerlidir.
- Bu yüzden hedef gün D için D-1 bülteni kullanılır; bülten yoksa geriye doğru varsayılan 10 gün taranır.
- Erken çekim koruması varsayılan olarak açıktır: bülten saatinden önce eksik veri yazılmasını engeller.
- Yazma biçimi yalnız-ekle veya güncelle-ekle olabilir;
L_DAILYEXCHANGESyazımı veAPPROVE=1işaretlemesi isteğe bağlıdır. - "Birime böl" seçeneği, 100 birim üzerinden kote edilen kurları (örneğin JPY) Logo'nun beklediği biçime çevirir.
3.4 E-posta ve kontrol raporu
SMTP bilgileri girilir ve günlük kontrol raporunun kime, saat kaçta gideceği seçilir. Rapor "bugün için kur yazıldı mı, kaç satır, hata var mı" sorusunu cevaplar; kurulumdan sonra sisteme kimse bakmasa bile eksik çalışma fark edilir.
3.5 Lisans ve kurulum eşleştirmesi
Uygulama açılışta kendini lisans merkezine bekleyen kurulum olarak kaydeder; müşteriden API anahtarı istenmez. Ekranda kısa bir kurulum kodu ve karekod görünür; ERP tarafındaki yönetici bu kaydı görüp müşteriye ve ürüne uygun lisansı bağlar. Atama yapılana kadar ekranda "Lisans ataması bekleniyor" yazar.
Lisans neyi kapatır: yalnız Logo'ya yazma adımı. Kur çekme, panel, loglar ve güncelleme lisanstan bağımsız çalışır — güvenlik yaması lisans tahsilat aracı değildir. Lisans sunucusuna geçici olarak ulaşılamaması uygulamayı kilitlemez.
3.6 Özet ve bitir
Son adım tüm seçimleri tek ekranda gösterir. Kaydettiğinizde ayarlar veritabanındaki
dbo.Config tablosuna yazılır ve zamanlanmış çalışma devreye girer.
4. Servis, sağlık ve loglar
| Konu | Yer |
|---|---|
| Servis adı | ERP TcmbKur (LocalSystem kimliği) |
| Kurulum klasörü | C:\ERP\TcmbKur |
| Dinlenen adres | C:\ERP\TcmbKur\listen-url.txt |
| Sağlık kapısı | http://127.0.0.1:<port>/healthz → 200 + {status, version, db} |
| Günlükler | C:\ERP\TcmbKur\logs\tcmbkur-<tarih>.log (14 dosya saklanır) |
| Ayarlar | TcmbKur veritabanı, dbo.Config tablosu |
| Sırlar | C:\ERP\TcmbKur\keys |
Servisi komut satırından yönetmek için:
sc.exe query "ERP TcmbKur"
sc.exe stop "ERP TcmbKur"
sc.exe start "ERP TcmbKur"
Panelde aynı bilgiler /service ve /logs ekranlarında görünür —
Günlük kullanım sayfasına bakın.
Yedekleme
İki şey birlikte yedeklenir: TcmbKur veritabanı ve
C:\ERP\TcmbKur\keys klasörü. Ayarların bir kısmı bu klasördeki anahtarla
şifrelenmiştir; yalnız veritabanı geri yüklenirse şifreli alanlar açılamaz.
Veritabanı için mevcut SQL Server yedekleme düzeninize TcmbKur veritabanını
eklemek yeterlidir. keys klasörü küçüktür; dosya yedeklemesine dahil edin.
5. Güncelleme
5.1 Otomatik güncelleme (varsayılan)
Kurulum, uygulamanın dışında yaşayan bir güncelleyici bırakır:
%ProgramData%\ErpUpdate\TCMBKUR klasörü ve her gün 03:20'de
SYSTEM olarak çalışan ERP Update TCMBKUR zamanlanmış görevi. Güncelleyicinin
uygulamanın dışında olması bilinçlidir: kendini güncellemeye çalışan bir süreç kendi
dosyasını kilitler.
Akış şöyledir:
- Güncelleyici lisans merkezine ürün, sürüm ve cihaz kimliğiyle sorar.
- Cevap imzalıdır — "güncelleme yok" cevabı da imzalıdır, çıplak bir hata kodu kabul edilmez.
- Paket indirilir; SHA-256, boyut ve sürüm eşleşmesi doğrulanır.
- Servis durdurulur, dosyalar takas edilir; veritabanı,
keys,logs,listen-url.txtveappsettings.Production.jsonkorunur. - Servis başlatılır;
/healthz200 dönmeli ve bildirdiği sürüm hedef sürüm olmalıdır. - Kapıdan geçilemezse önceki sürüme otomatik dönülür, bozuk paket karantinaya alınır ve merkeze bildirilir.
Güncelleme lisanstan bağımsızdır: lisansı süresi dolmuş bir kurulum da yamayı alır.
5.2 Elle güncelleme
Otomatik güncelleme kapatılmışsa veya bir sürümü elle yükseltmek gerekiyorsa yeni paket indirilip aynı kurulum betiği çalıştırılır. Betik mevcut kurulumu tanır ve yükseltme yapar.
powershell -ExecutionPolicy Bypass -File .\install.ps1
5.3 Neyin korunduğu
| Dosya / klasör | Güncellemede |
|---|---|
TcmbKur veritabanı | Korunur |
keys\ | Korunur |
logs\ | Korunur |
listen-url.txt | Korunur |
appsettings.Production.json | Korunur |
appsettings.json | Üzerine yazılır |
| Lisans ve cihaz kimliği | Korunur (%ProgramData%\ERP\Lisans\TCMBKUR) |
Kalıcı ayarlarınızı appsettings.json içine yazmayın; o dosya her güncellemede
paketten gelen sürümle değişir. Makineye özgü ayar appsettings.Production.json
dosyasına, işleyişe ait ayar ise panele (yani dbo.Config tablosuna) girilir.
-noupdate ekiyle üretilmiş paketler güncelleyici taşımaz; bu paketler
güncellemenin dışarıdan yönetildiği ortamlar içindir.
6. "Teklif al" adresi
Lisans atanmamış kurulumda panel bir "Teklif al" bağlantısı gösterir. Varsayılan adres
https://tcmbkur.erp.tr'dir ve ayarlardan değiştirilebilir; bayi kendi adresini
verebilir.
7. Yönetici parolasının sıfırlanması
Panel parolası unutulursa makinede yönetici komut isteminden sıfırlanır. Parola verilmezse betik yeni bir parola üretir ve ekrana yazar.
cd C:\ERP\TcmbKur
.\TcmbKur.App.exe reset-admin admin
.\TcmbKur.App.exe reset-admin admin --password YeniParola
8. Kaldırma
powershell -ExecutionPolicy Bypass -File .\uninstall.ps1
Betik servisi ve zamanlanmış güncelleme görevini kaldırır. Lisans ve cihaz kimliği
koşulsuz korunur — aynı makineye yeniden kurulduğunda lisans yeniden
atanmak zorunda kalmaz. Veritabanı otomatik silinmez; gerçekten kaldırmak istiyorsanız
TcmbKur veritabanını elle silin.