emoms - Instalator (emoInstaller) - historia zmian

26.10.1.18 (2026-10-21)
- Reinstaluj: usługa o stałej nazwie (emoms, ShipApi, BSW, WebApi.Shop), która na tym komputerze należy do innej bazy
  aplikacji (np. emos2s obok emow2s na stanowisku testowym), może zostać świadomie przejęta - okno ostrzeżenia i drugie
  potwierdzenie "Przejmij usługę (rozumiem skutki)". Usługa zostaje przepięta na ten program i tę bazę; przy emoms pliki
  konfiguracji poprzedniej bazy są odkładane do folderu _emoms_przed_przejeciem_... (nic nie jest kasowane). Powrót = to
  samo przejęcie z poziomu poprzedniej bazy. Bez potwierdzenia nic się nie zmienia.

26.10.1.17 (2026-10-21)
- "Zatrzymaj wszystkie": usługa, która zatrzymuje się dłużej niż limit (np. WebERP8 Nexo > 60 s, stan "StopPending"),
  nie jest już od razu oznaczana ✗ - okno czeka dalej (do 4 min) z licznikiem "nadal się zatrzymuje (90 s)..." i na
  końcu pokazuje ✓ "zatrzymana (po N s)". ✗ tylko, gdy usługa naprawdę się nie zatrzyma.

26.10.1.16 (2026-10-21)
- Okna "Zatrzymaj / Uruchom wszystkie" i "Migracja": w trakcie operacji okno zostaje aktywne (bez ciemnej nakładki
  z kręciołkiem na środku ekranu), kręciołek i bieżący krok są na górze okna, przyciski nieaktywne do końca.

26.10.1.15 (2026-10-21)
- Krok Usługi: "Zatrzymaj wszystkie" / "Uruchom wszystkie" otwierają okno z listą usług w kolejności wykonania -
  usługi są zatrzymywane / uruchamiane po kolei, przy każdej na bieżąco ✓ zatrzymana / uruchomiona albo ✗ z powodem.
  W tym samym oknie po aktualizacji ERP od razu "Uruchom wszystkie".
- Poprawka: w wersji 26.10.1.14 przyciski nic nie robiły ("Wszystkie usługi są już zatrzymane" przy działających usługach).

26.10.1.14 (2026-10-21)
- Krok Usługi: przyciski "Zatrzymaj wszystkie" i "Uruchom wszystkie" - np. przed aktualizacją WAPRO / Subiekta GT /
  Nexo, która wymaga wyłącznego dostępu do bazy (odcina wszystkie połączenia usług). Zatrzymanie: WebApi.Shop -> BSW ->
  ShipApi -> emoms -> WebERP (z potwierdzeniem); uruchomienie odwrotnie, po emoms instalator czeka, aż zacznie
  odpowiadać. Usługi z typem uruchomienia "Wyłączony" są pomijane, RabbitMQ bez zmian. Wynik ✓/✗ przy każdej usłudze.

26.10.1.13 (2026-10-18)
- Pobieranie paczki: gdy serwer przestanie przysyłać dane na 2 minuty, instalator przerywa z komunikatem "Pobieranie
  paczki stanęło" zamiast czekać bez końca na "Pobieranie paczki" (zawieszone połączenie, plik 0 B). Wystarczy ponowić.

26.10.1.12 (2026-10-18)
- Aktualizuj wszystko: instancje B2B (córki) z własnym folderem usługi (np. BSW.Worker_77, emoms_76) są aktualizowane razem
  z matką - zaraz po niej instalator kopiuje pliki matki do folderu córki (usługa zatrzymana, typ startu "Wyłączona" na
  czas podmiany, poprzednia wersja przywracana, gdy usługa nie wstanie). Wcześniej córki miały tylko plakietkę "wg matki"
  i zostawały na starej wersji. Konfiguracja córki (emoms.{instancja}.json, port, argumenty usługi) bez zmian. Córka
  korzystająca z folderu matki nadal ma plakietkę "wg matki".

26.10.1.11 (2026-10-17)
- Krok Licencja: przy istniejącej instalacji instalator odczytuje licencje zapisane we wszystkich sklepach (nie tylko
  w sklepie domyślnym) i wybiera pierwszą opłaconą - własną albo kupioną u partnera. Wcześniej licencja DEMO w sklepie
  domyślnym blokowała okno "emoms Online..." komunikatem "wymaga opłaconej licencji programu".

26.10.1.10 (2026-10-09)
- Migracja: okno zostaje otwarte w trakcie naprawy i pokazuje listę kontrolną - przy każdej pozycji zielony ✓ (naprawiono,
  z opisem wyniku) albo czerwony ✗ (nie naprawiono, z powodem); po błędzie kolejne pozycje "nie wykonano". Podsumowanie
  "naprawiono N z M" oraz lista uruchomionych usług (✓ albo ✗ z powodem z dziennika zdarzeń).

26.10.1.9 (2026-10-09)
- Krok Usługi: przycisk "Migracja" dla bazy przeniesionej na nowy serwer albo odtworzonej po awarii. Instalator sam
  wykrywa ślady przeniesienia (plakietka "Instalacja przeniesiona z innego komputera", okno otwiera się samo) i naprawia
  tylko to, co trzeba: odtwarza klucz danych przewoźników z kopii w bazie i zapisuje pliki połączenia emoms, reinstaluje
  usługi startujące z certyfikatem starego serwera, podmienia certyfikat główny w wierszach (web_Cert) i uruchamia
  zatrzymane usługi. Klucza niepasującego do kopii w bazie nie nadpisuje. Po migracji: ponownie sparuj terminale emoWms
  i ustaw operatora ERP w emoms (Ustawienia > Połączenie ERP).

26.10.1.8 (2026-10-08)
- Komunikaty instalatora bez wewnętrznych oznaczeń etapów prac (np. "etap E3", "etap 1d"): zamiast nich informacja,
  co zrobić - np. przy instancjach B2B (córkach emoms) "reinstalację i usunięcie wykonaj w s2s/w2s".

26.10.1.7 (2026-10-08)
- Krok Usługi: przy emoms przycisk "emoms Online..." - dostęp do emoms z internetu pod adresem nazwa.emoms.shop bez
  stałego IP i bez otwierania portów (tunel Cloudflare). Usługa roczna kupowana z instalatora jak adres emoms.net:
  1. nazwa, 2. płatność PayU, 3. włączenie - instalator zakłada usługę emoms.Online_<nr> i czeka, aż adres odpowie.
  Zasady dostępu: tylko Polska, Polska i UE albo własna lista krajów oraz opcjonalnie lista dozwolonych adresów IP;
  ruch spoza nich blokuje Cloudflare, zanim dotrze do serwera.
- emoms Online jest przypięte do serwera, na którym zostało włączone (kod serwera XXXX-XXXX widoczny w oknie). Przeniesienie
  na inny serwer wymaga odpięcia przez e-mo.pl. Wyłączenie usługi bez klucza tego serwera kończy się komunikatem
  z prośbą o kontakt z e-mo.pl.
- Okno emoms Online: adresy IP i kraje wpisuje się jako plakietki (wpis + Enter albo przecinek, krzyżyk usuwa), a po
  ponownym otwarciu okno pokazuje zasady zapisane na serwerze e-mo.pl.
- Krok Usługi: "Adres emoms.net..." i "emoms Online..." w osobnej, wyróżnionej linii "Usługi premium" pod przyciskami
  usługi, z plakietką "emoms Online włączone", gdy usługa działa na tym serwerze.

26.10.1.6 (2026-10-07)
- Krok Usługi: przy emoms (także instancji B2B) przycisk "Adres emoms.net..." - własny adres nazwa.emoms.net kupiony
  z instalatora. Okno prowadzi w trzech krokach: 1. nazwa sprawdzana od razu przy wpisywaniu (wolna, zajęta przez inną
  firmę, zamówiona, opłacona) z ceną licencji emoms Premium dla firmy z kroku Licencja; 2. płatność PayU w oknie
  instalatora (BLIK, karta, przelew) i "Zapłaciłem — sprawdź" - adres działa dopiero po zaksięgowaniu wpłaty, bez okresu
  próbnego, faktura VAT przychodzi e-mailem; 3. "Przejdź na nowy adres" - certyfikat Let's Encrypt, wpis DNS i restart
  BSW robią się same. Adres emoms.net wymaga opłaconej licencji programu (s2s/w2s).
- Instancja B2B emoms (np. emoms_73) przechodzi na adres emoms.net bez reinstalacji: nowy certyfikat, wpis hosts,
  restart usługi i jej BSW. Gdy usługa nie wstanie, wraca poprzedni adres. Wcześniej nie dało się tego zrobić ani
  w instalatorze, ani w s2s.

26.10.1.5 (2026-10-07)
- Krok Usługi: plakietka wersji pod nazwą aplikacji, sprawdzana w tle zaraz po wejściu w krok. Zielona = zainstalowana
  wersja jest aktualna, pomarańczowa ze strzałką w górę = na serwerze e-mo.pl jest nowsza wersja, niebieska "wg matki" =
  instancja B2B, której pliki pochodzą z usługi głównej i aktualizują się razem z nią (zainstalowana wersja w dymku).
  Nad tabelą podsumowanie "Dostępne aktualizacje: N" albo "Usługi aktualne" - bez klikania "Sprawdź aktualizacje".
- Krok Usługi: pod przyciskami Start/Stop plakietki "Typ uruchomienia" (Automatyczny, Automatyczny opóźniony, Ręczny,
  Wyłączony) - kliknięcie zmienia typ startu zaznaczonej usługi bez wchodzenia w Usługi Windows; zaznaczony typ
  w kolorze (zielony / pomarańczowy / czerwony). Obok nazwy zaznaczonej usługi światełko jej stanu.
- Krok Usługi: przycisk "Dziennik zdarzeń" - okno z wpisami dziennika Windows o zaznaczonej usłudze z ostatnich 24 godzin
  (błędy i ostrzeżenia aplikacji oraz wpisy systemu o starcie, zatrzymaniu i awarii usługi), bez Podglądu zdarzeń.
  Gdy Start albo Restart się nie uda, ostatnie wpisy z dziennika pokazują się od razu pod komunikatem błędu.
- Krok Usługi: instancje B2B (np. BSW.BusWorker_74, WebApi.Shop córki) mają działające Start, Stop, Restart i typ
  uruchomienia - to tylko sterowanie usługą Windows. Reinstalacja, zmiana konta i usuwanie córek B2B bez zmian (etap E3).
- "Aktualizuj wszystko" nie zatrzymuje się już na usłudze z typem startu "Wyłączona" (np. BSW wyłączony celowo):
  pliki są podmieniane, usługa nie jest uruchamiana, a przebieg idzie dalej do emoms. Wcześniej instalator zgłaszał
  "zatrzymała się zaraz po starcie" i przerywał aktualizację przed emoms.

26.10.1.4 (2026-10-05)
- Aktualizacja usługi, która nie chce się zatrzymać: gdy usługa nie zatrzyma się w wyznaczonym czasie, instalator
  kończy jej proces i instaluje dalej, zamiast wycofywać aktualizację. Wcześniej trzeba było zatrzymać usługę ręcznie
  i ponowić "Reinstaluj".
- WebERP ma 60 sekund na zatrzymanie (wcześniej 30) - przed zatrzymaniem kończy zamówienia, które ma w kolejce.
- Dziennik instalatora zapisuje wynik "Aktualizuj wszystko" także wtedy, gdy przebieg został przerwany albo
  zakończył się błędem.

26.10.1.3 (2026-10-01)
- Krok Licencja ma dwie ścieżki: "Mam licencję" i "Jestem nowym klientem". Nowy klient zakłada konto w e-mo.pl
  wprost z instalatora: wpisuje NIP (dane firmy pobierają się z GUS), wybiera silnik sklepu, podaje sam adres sklepu,
  e-mail i hasło - dostaje licencję testową na miesiąc i od razu instaluje dalej. Po prawej widać na bieżąco, co powstanie.
- Licencję można opłacić z instalatora: "Zapłać teraz" otwiera płatność PayU w osobnym oknie. Płatność nie jest potrzebna
  do instalacji; po zaksięgowaniu wpłaty licencja zostaje przedłużona i wystawiana jest faktura VAT.
- Numer licencji sprawdza się sam po wpisaniu (bez przycisku "Sprawdź licencję"). Po sprawdzeniu widać kartę licencji:
  rodzaj, datę ważności i adres sklepu.
- Gdy GUS nie odda danych firmy: "Pobierz ponownie" albo "Wpisz dane ręcznie". NIP firmy, która ma już konto,
  można poprawić na miejscu albo przejść do "Mam licencję".

26.10.1.2 (2026-10-01)
- Administrator emoms założony w instalatorze loguje się też do s2s i w2s: dostaje dostęp do wszystkich sklepów
  i wszystkich pozycji menu, tak jak administrator dodany w programie s2s/w2s. Wcześniej s2s/w2s odpowiadał
  "nie masz uprawnień do żadnego sklepu". Przy każdym uruchomieniu instalator uzupełnia ten dostęp wszystkim
  administratorom (także założonym wcześniej i dla sklepów dodanych później).

26.10.1.1 (2026-10-01)
- Baza aplikacji w2s (WAPRO): przy zakładaniu i aktualizacji bazy instalator dokłada kolumny, których wymaga emoms
  i BSW, a których baza w2s nie ma (s2s i w2s rozwijały się osobno) - m.in. czas realizacji "dostępny po godzinie"
  i godzina wysyłki. Bez nich wystawienie oferty kończyło się błędem "Invalid column name 'czasr_Jest2'".
  Dotyczy tylko baz w2s; istniejące dane i baza s2s bez zmian.

26.9.1.13 (2026-09-30)
- "Zapisz certyfikat" zapisuje obok pliku .cer skrypt zainstaluj-<nazwa>.cmd: na innej stacji wystarczy skopiować oba
  pliki i kliknąć dwukrotnie skrypt - sam poprosi o uprawnienia administratora i wgra certyfikat do Zaufanych głównych
  urzędów certyfikacji komputera (bez kreatora certyfikatu).

26.9.1.12 (2026-09-30)
- Krok Usługi: przycisk "Zapisz certyfikat" przy usłudze z adresem *.lan (emoms.lan, webapi-shop.lan...) - zapisuje
  certyfikat główny "emo Local Root CA" jako cert_<host>.cer do wgrania na innej stacji (jak "Zapisz certyfikat na dysk"
  w s2s). Gdy wiersz nie ma certyfikatu w bazie, instalator bierze go z magazynu certyfikatów tego komputera.

26.9.1.11 (2026-09-30)
- RabbitMQ: nieudana instalacja brokera wycofuje się w całości - usuwa usługę RabbitMQ i odinstalowuje Erlang/OTP.
  Wcześniej zostawała usługa RabbitMQ bez brokera i Erlang, a kolejne próby kończyły się błędem
  "Broker nie odpowiada na <IP>:5672".
- RabbitMQ: pozostałość po wcześniejszej nieudanej próbie (usługa RabbitMQ bez zainstalowanego RabbitMQ Server)
  jest rozpoznawana w diagnostyce; "Zainstaluj broker" i instalacja kompletna usuwają ją i instalują broker od nowa.
- Reinstalacja emoms z adresem publicznym (np. firma.emoms.net ustawionym w s2s/w2s) działa - ważny certyfikat
  zostaje, wygasający jest odnawiany; wcześniej instalator odmawiał komunikatem "etap E3".

26.9.1.10 (2026-09-29)
- Bez zmian funkcjonalnych względem 26.9.1.9 - pierwsze wydanie dostarczane przez samoaktualizację instalatora.

26.9.1.9 (2026-09-29)
- Samoaktualizacja: po uruchomieniu instalator sprawdza, czy na serwerze e-mo.pl jest nowsza wersja. Jeśli tak, pokazuje
  pasek "Dostępna nowa wersja instalatora" - Pobierz aktualizację (z listą zmian) -> Zainstaluj teraz: okno zamyka się,
  instalacja idzie z paskiem postępu, a nowa wersja uruchamia się sama.

26.9.1.8 (2026-09-29)
- Brak Microsoft Edge WebView2 Runtime (np. Windows Server): instalator sam pobiera go od Microsoftu i instaluje po cichu
  przed otwarciem okna; wcześniej kończył się błędem "The system cannot find the file specified (0x80070002)".
- Instalator pamięta wybrany program: kolejne uruchomienie od razu odczytuje ustawienia z komputera, pokazuje logowanie
  i po zalogowaniu otwiera krok Usługi. Pozostałe kroki (Program, Licencja, SQL, Instancja) dostępne na pasku kroków.

26.9.1.7 (2026-09-29)
- Nowy produkt: Fakturownia (chmura) - instalacja kompletna z usługą WebERPCloud, schematem cloudErp w bazie emos2s
  i panelem "Konto Fakturowni" (adres konta, klucz API, dział, środowisko KSeF, wymagania konta).
- Brak SQL Servera na komputerze: instalator pobiera od Microsoftu i instaluje SQL Server 2025 Express
  (instancja SQLEXPRESS, kolacja Polish_CI_AS niezależnie od języka Windows, logowanie mieszane, TCP).
- Po zmianie adresu API ERP instalator restartuje BSW (BSW trzyma adres do restartu).

26.9.1.6 (2026-09-28)
- Pierwsze wydanie jako instalator MSI (Program Files\e-mo.pl\emoInstaller, skroty na pulpicie i w menu Start,
  odinstalowanie w Panelu sterowania, aktualizacja przez nowa wersje MSI).
- Instalacja kompletna matki i corki (GT, Nexo, WAPRO), licencja na firme, logowanie administratorem emoms,
  ustawienia startowe produktow, kopia bazy, Sprawdz aktualizacje / Aktualizuj wszystko, dziennik instalatora.
- RabbitMQ: diagnostyka, zapora LocalSubnet, zmiana poswiadczen, aktualizacja Erlang/RabbitMQ z oficjalnych wydan.
