> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omnilinker.pl/llms.txt
> Use this file to discover all available pages before exploring further.

# Instalacja agenta ERP Sync

> Zainstaluj agenta ERP Sync na komputerze z Windows, zdecyduj, kto może go zmieniać, a później aktualizuj go lub usuń.

Agent ERP Sync to jeden pakiet instalacyjny, który zawiera obie części agenta:

* **Usługę Windows** (`Omnilinker.ErpSync.Service.exe`). Odczytuje ona bazę danych ERP i wysyła zmiany do
  Omnilinkera. Działa jako Lokalny system.
* **Aplikację w zasobniku systemowym** (`tray\Omnilinker.ErpSync.Tray.exe`). Służy do konfigurowania agenta
  i śledzenia, co robi. Działa na koncie osoby, która jest zalogowana.

Instalator wykonuje całą instalację: kopiuje pliki, rejestruje i uruchamia usługę Windows, przygotowuje folder
danych agenta i sprawia, że aplikacja w zasobniku uruchamia się dla każdego, kto się zaloguje. Nie uruchamiasz
żadnego skryptu.

## Zanim zaczniesz

* Utwórz połączenie w Omnilinkerze i skopiuj jego klucz API agenta. Zobacz
  [Tworzenie połączenia](/pl/erp/create-connection).
* Sprawdź, czy komputer spełnia [wymagania](/pl/erp/requirements).
* Potrzebujesz konta lokalnego administratora i okna PowerShell uruchomionego **jako administrator**.
* Zdecyduj, kto będzie konfigurować agenta z aplikacji w zasobniku. Instalator daje to prawo Tobie. Inne osoby
  trzeba dodać do lokalnej grupy. Zobacz [Kto może zmieniać agenta](#kto-może-zmieniać-agenta).

## Zainstaluj agenta

<Steps>
  <Step title="Uruchom instalator dla wszystkich użytkowników">
    Otwórz PowerShell **jako administrator** w folderze, w którym jest instalator, i uruchom go z tymi opcjami.
    Zamiast `<installer>` wpisz nazwę pliku instalatora:

    ```powershell theme={null}
    .\<installer>.exe --silent --installto "C:\Program Files\Omnilinker\ErpSync"
    ```

    Instalator instaluje agenta w `C:\Program Files\Omnilinker\ErpSync\current`. To jest **folder instalacji**.
    Zawiera usługę, `appsettings.json` i aplikację w zasobniku w osobnym podfolderze `tray`.

    <Warning>
      Nie uruchamiaj instalatora dwukrotnym kliknięciem. Bez `--installto` instaluje on agenta w Twoim profilu
      użytkownika (`%LocalAppData%\OmnilinkerErpSync`). Usługa działa jako Lokalny system, dlatego instalator nie
      rejestruje jej z folderu, który może zmienić zalogowana osoba: każdy, kto mógłby podmienić jej pliki, mógłby
      uruchomić kod jako SYSTEM. Pliki zostają skopiowane, ale usługi nie ma.
    </Warning>
  </Step>

  <Step title="Pozwól instalatorowi zarejestrować agenta">
    Następnie instalator sam wykonuje te kroki:

    | Co                                   | Szczegóły                                                                                                                                                                                                                                   |
    | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | Usługa Windows                       | Nazwa `OmnilinkerErpSyncService`, nazwa wyświetlana **Omnilinker ERP Sync**, opis „Synchronizes data between your ERP system and Omnilinker cloud”.                                                                                         |
    | Typ uruchomienia                     | Automatyczny.                                                                                                                                                                                                                               |
    | Logowanie jako                       | Lokalny system.                                                                                                                                                                                                                             |
    | Odzyskiwanie                         | Ponowne uruchomienie po 5 sekundach, potem po 10 sekundach, potem co 30 sekund. Licznik błędów jest zerowany po jednym dniu. Dotyczy to też sytuacji, gdy usługa zatrzyma się z błędem; w ten sposób aktualizacja uruchamia ją ponownie.    |
    | Folder danych                        | Tworzy `%ProgramData%\Omnilinker\ErpSync`. Zmieniać go mogą tylko SYSTEM i administratorzy; pozostali użytkownicy mogą go tylko odczytywać, na przykład pliki logów. Zobacz [Pliki lokalne](/pl/erp/configuration-reference#pliki-lokalne). |
    | Grupa operatorów                     | Tworzy lokalną grupę **Omnilinker ERP Sync Operators** i dodaje do niej Ciebie.                                                                                                                                                             |
    | Aplikacja w zasobniku przy logowaniu | Dodaje wartość `OmnilinkerErpSyncServiceTray` w kluczu `HKLM\Software\Microsoft\Windows\CurrentVersion\Run`, dzięki czemu aplikacja w zasobniku uruchamia się dla każdego, kto zaloguje się na tym komputerze.                              |

    Na koniec instalator uruchamia usługę. Usługa uruchamia aplikację w zasobniku dla każdego, kto jest zalogowany,
    i otwiera się [kreator konfiguracji](/pl/erp/setup-wizard).

    Jeśli usługa `OmnilinkerErpSyncService` już istnieje, na przykład z wcześniejszej wersji, instalator zmienia
    jej ścieżkę programu i typ uruchomienia, a pozostałe ustawienia zostawia bez zmian, w tym konto na karcie
    **Logowanie**.
  </Step>

  <Step title="Sprawdź wynik">
    ```powershell theme={null}
    Get-Service OmnilinkerErpSyncService
    ```

    `Status` powinien mieć wartość `Running`.

    Instalator nie przerywa pracy, gdy któryś z jego kroków się nie powiedzie. To, czego nie udało się zrobić,
    zapisuje w `%ProgramData%\Omnilinker\ErpSync\logs\setup.log`, po jednym wierszu na problem. Udana instalacja
    zapisuje `done`.

    ```powershell theme={null}
    Get-Content "$env:ProgramData\Omnilinker\ErpSync\logs\setup.log" -Tail 20
    ```

    Aby naprawić problem, uruchom to samo polecenie instalatora jeszcze raz w PowerShell uruchomionym jako
    administrator. Każdy krok można bezpiecznie powtórzyć. Zobacz [Rozwiązywanie problemów](/pl/erp/troubleshooting).
  </Step>
</Steps>

## Kto może zmieniać agenta

Każdy, kto jest zalogowany na komputerze agenta, może otworzyć aplikację w zasobniku i zobaczyć status agenta, jego
logi i ustawienia. Hasło i klucz API nigdy nie są pokazywane.

Zmienianie agenta wymaga więcej. Tylko te osoby mogą w aplikacji w zasobniku zapisywać ustawienia, przejść przez
kreator konfiguracji, testować połączenie z bazą danych, włączać i wyłączać śledzenie zmian, wstrzymywać
synchronizację oraz wstrzymywać lub anulować weryfikację hash:

* członkowie lokalnej grupy **Omnilinker ERP Sync Operators**,
* administratorzy, których aplikacja w zasobniku działa z podwyższonymi uprawnieniami (**Uruchom jako
  administrator**).

Pozostali widzą komunikat „Only an administrator of this PC can do that.” Instalator dodaje do grupy osobę, która
zainstalowała agenta. Aby dodać kogoś jeszcze, uruchom w PowerShell jako administrator:

```powershell theme={null}
net localgroup "Omnilinker ERP Sync Operators" "<DOMAIN\user>" /add
```

Zmiana działa od razu. Ta osoba nie musi się wylogowywać.

Grupą możesz też zarządzać w **Zarządzanie komputerem** > **Użytkownicy i grupy lokalne** > **Grupy**.

## Następny krok

Przejdź przez [kreator konfiguracji](/pl/erp/setup-wizard). Otwiera się sam po instalacji. Jeśli się nie otworzy,
uruchom aplikację w zasobniku z podfolderu `tray` folderu instalacji.

## Zaktualizuj agenta

Agent aktualizuje się sam. Usługa sprawdza, czy jest nowa wersja, 5 minut po uruchomieniu, a potem co 4 godziny.
Gdy ją znajdzie, od razu ją pobiera i instaluje w nocy, między 01:00 a 05:00 czasu lokalnego, gdy nie trwa żadna
synchronizacja. Potem się zatrzymuje, a Windows po kilku sekundach uruchamia nową wersję.

Aktualizacja wykonuje te same kroki co instalator, więc usługa, grupa operatorów i uruchamianie aplikacji
w zasobniku przy logowaniu zostają na miejscu. Aplikacja w zasobniku zamyka się na czas podmiany plików. Usługa
uruchamia ją ponownie dla każdego, kto jest zalogowany.

Co aktualizacja zachowuje, a co zastępuje:

* Dane logowania, kolejka i logi zostają zachowane. Są przechowywane poza folderem instalacji.
* `appsettings.json` w folderze instalacji zostaje zastąpiony plikiem nowej wersji. Zmieniane wartości ustaw
  zamiast tego jako zmienne środowiskowe komputera. Zobacz
  [Zmień ustawienie](/pl/erp/configuration-reference#zmień-ustawienie).

Aby wyłączyć automatyczne aktualizacje, ustaw `AutoUpdateEnabled` na `false`. Zobacz
[Aktualizacje](/pl/erp/configuration-reference#aktualizacje). Aplikacja w zasobniku nie ma przycisku aktualizacji.

Aby zaktualizować agenta ręcznie, uruchom instalator nowej wersji tym samym poleceniem co przy pierwszej instalacji,
w PowerShell uruchomionym jako administrator.

## Przejdź z wcześniejszej wersji

Wcześniejsze wersje instalowały się w profilu osoby instalującej i do zarejestrowania usługi potrzebowały skryptu
`install-service.ps1`. W niektórych instalacjach zmieniono też konto usługi na karcie **Logowanie**. Aby przenieść
taką instalację do obecnego modelu:

<Steps>
  <Step title="Poczekaj, aż kolejka się opróżni">
    Sprawdź, czy żadne zdarzenia nie czekają na wysłanie: `pending` powinno mieć wartość `0` w oknie statusu
    aplikacji w zasobniku albo w `GET /api/sync/outbox/stats` w [lokalnym API](/pl/erp/local-api). Kolejka nie jest
    przenoszona do nowej instalacji.
  </Step>

  <Step title="Usuń starą usługę i aplikację">
    Zamknij aplikację w zasobniku. W PowerShell uruchomionym jako administrator uruchom `uninstall-service.ps1`
    ze starego folderu instalacji. Następnie, zalogowany na konto, które zainstalowało starą wersję, odinstaluj ją
    w **Ustawienia** > **Aplikacje** > **Zainstalowane aplikacje**.
  </Step>

  <Step title="Zainstaluj nową wersję">
    Wykonaj kroki z sekcji [Zainstaluj agenta](#zainstaluj-agenta).
  </Step>

  <Step title="Sprawdź konfigurację">
    Jeśli stara usługa działała jako Lokalny system, nowa usługa przy pierwszym uruchomieniu przenosi zapisaną
    konfigurację do nowego folderu danych, a kreator konfiguracji się nie otwiera. Jeśli stara usługa działała na
    innym koncie, jej konfiguracja zostaje w profilu tego konta. Przejdź wtedy ponownie przez
    [kreator konfiguracji](/pl/erp/setup-wizard).

    Potem możesz usunąć stary folder danych, `%LocalAppData%\Omnilinker\ErpSync` konta, na którym działała stara
    usługa.
  </Step>
</Steps>

Nowa usługa zaczyna z pustą lokalną bazą danych, więc odbudowuje swój stan wykrywania zmian, tak jak po nowej
instalacji.

## Usuń agenta

<Steps>
  <Step title="Odinstaluj aplikację">
    Zalogowany na konto administratora, który zainstalował agenta, otwórz **Ustawienia** > **Aplikacje** >
    **Zainstalowane aplikacje** (w Windows 10: **Aplikacje i funkcje**) i odinstaluj **Omnilinker ERP Sync**.

    Odinstalowanie zatrzymuje i usuwa usługę Windows, wyłącza uruchamianie aplikacji w zasobniku przy logowaniu
    i usuwa folder instalacji. Problemy są zapisywane w `setup.log`, tak jak podczas instalacji.
  </Step>

  <Step title="Usuń dane lokalne (opcjonalnie)">
    Odinstalowanie zachowuje dane agenta, na potrzeby wsparcia i na wypadek ponownej instalacji:

    * `%ProgramData%\Omnilinker\ErpSync`: zaszyfrowane dane logowania i pliki logów.
    * `C:\Windows\System32\config\systemprofile\AppData\Local\Omnilinker\ErpSync`: lokalna kolejka i zapisana
      kopia konfiguracji.

    Usuń oba foldery, jako administrator, jeśli nie zamierzasz ponownie instalować agenta na tym komputerze.
    Zdarzenia, które wciąż czekają w kolejce, zostaną utracone.
  </Step>

  <Step title="Usuń grupę operatorów (opcjonalnie)">
    Odinstalowanie zachowuje grupę **Omnilinker ERP Sync Operators**. Aby ją usunąć, uruchom w PowerShell jako
    administrator:

    ```powershell theme={null}
    net localgroup "Omnilinker ERP Sync Operators" /delete
    ```
  </Step>
</Steps>

Aby kopia agenta, do której nie masz już dostępu, nie mogła logować się do Omnilinkera, wygeneruj nowy klucz agenta
dla połączenia. Nie ma osobnej akcji unieważniania: wygenerowanie klucza od razu unieważnia poprzedni. Zobacz
[Tworzenie połączenia](/pl/erp/create-connection).

## Kopia przenośna (ZIP)

Pakiet zawiera też `install-service.ps1` i `uninstall-service.ps1`, przeznaczone dla kopii rozpakowanej z pliku ZIP
zamiast zainstalowanej instalatorem. Gdy tylko możesz, używaj instalatora. Skrypt tylko rejestruje usługę (jako
Lokalny system, z automatycznym uruchamianiem, ponownym uruchomieniem po awarii i nazwą wyświetlaną
**Omnilinker ERP Sync Service**). Nie tworzy grupy operatorów, nie ogranicza dostępu do folderu danych i nie
uruchamia aplikacji w zasobniku przy logowaniu. Bez grupy agenta może zmieniać tylko administrator, który uruchomi
aplikację w zasobniku z podwyższonymi uprawnieniami.

Rozpakuj kopię do folderu poza profilami użytkowników, na przykład `C:\Program Files\Omnilinker\ErpSync`, a potem
w tym folderze uruchom w PowerShell jako administrator:

```powershell theme={null}
powershell -ExecutionPolicy Bypass -File .\install-service.ps1
```

`uninstall-service.ps1` zatrzymuje usługę, czeka do 30 sekund na jej zatrzymanie (a potem kończy proces) i usuwa
usługę.
