e-Pomoc techniczna
Ważne zmiany w wersji 57.0.0 InsERT nexo
Program: Biuro nexo, Gestor nexo, Gratyfikant nexo, InsERT nexo, Rachmistrz nexo, Rewizor nexo, Sello NX, Subiekt nexo
Kategoria: Archiwizacja, Bazy danych, Instalacja, Rozwiązania sferyczne
Wersja 57.0.0 wprowadza istotne zmiany w obszarze technologii leżącej u podstaw systemu InsERT nexo. Z punktu widzenia użytkowników, serwisantów oraz autorów rozwiązań własnych, najważniejsze z nich to:
-
zmiana .NET Framework 4.7.2 na .NET 8,
-
zmiana architektury aplikacji z 32-bitowej na 64-bitową,
-
zmiana lokalizacji folderu instalacyjnego nexo z „C:\Program Files (x86)\InsERT\nexo” na „C:\Program Files\InsERT\nexo”,
-
zmiana biblioteki System.Data.SqlClient na Microsoft.Data.SqlClient.
Kto powinien zwrócić szczególną uwagę?
W większości przypadków aktualizacja do wersji 57 nie będzie różniła się od poprzednich aktualizacji i powinna przebiec bezproblemowo. Istnieją jednak scenariusze, w których wybrane funkcje programu zmienią sposób działania albo przestaną działaćw ogóle, a przywrócenie ich użyteczności wymagać będzie interwencji użytkownika. Poniżej wymieniono funkcje, których to dotyczy:
-
Rozwiązania własne – wszystkie dodatki do nexo muszą być kompatybilne z .NET 8 i platformą x64, co oznacza konieczność przebudowania istniejących rozwiązań.
-
Instalatory rozwiązań własnych – instalatory rozwiązań własnych utworzone przy użyciu SDK z wersji starszych niż 57 przestaną działać. W dalszej części artykułu opisany został proces budowania nowych instalatorów przy pomocy SDK w wersji 57.
-
Harmonogram archiwizacji – jeśli w wersji starszej niż 57 używany jest harmonogram archiwizacji, to po aktualizacji do wersji 57 przestanie on działać, o czym poinformuje komunikat podczas instalacji. W dalszej części tego artykułu wyjaśniony został proces przywrócenia działania harmonogramu.
Wersja 57 a Serwer Urządzeń Zewnętrznych
Wersja 57 współpracuje z Serwerem Urządzeń Zewnętrznych w wersji co najmniej 19. Nie ma możliwości pracy z SUZ w wersjach niższych niż 19. Podmioty w wersjach niższych niż 57 nie mogą korzystać z SUZ w wersji 19, tylko powinny korzystać ze starszych wersji.
Rozwiązywanie problemów
-
Błąd połączenia z bazą danych na serwerze z wymuszonym szyfrowaniem
-
Podczas uruchamiania podmiotów w wersjach starszych niż 56 uruchamia się instalator
-
Podczas aktualizacji z wersji starszej niż 56.1.0 program nie uruchamia się ponownie
Rozwiązania własne – instalatory z poprzednich wersji
Instalatory rozwiązań własnych, tworzone dostępnym w SDK narzędziem QuickInstaller lub przy pomocy szablonów projektów sferycznych dla Visual Studio, działają w oparciu o plik InsLauncher.exe, który dostępny jest w folderze instalacyjnym nexo. Ze względu na to, iż wersja 57 zmienia lokalizację tego folderu, instalatory te nie mogą poprawnie działać. Aby przywrócić ich działanie, należy utworzyć nowy instalator, korzystając z narzędzi dostępnych w SDK w wersji 57, czyli QuickInstallerWizard lub nowej odsłony szablonów projektów dla Visual Studio. Szczegółowe informacje na temat korzystania z tych narzędzi zawarte będą w pliku pomocy dołączonym do SDK.
Rozwiązania własne – tworzenie i konwersja rozwiązań
Wszystkie rozwiązania własne korzystające ze Sfery wymagają dostosowania do współdziałania z .NET 8 w 64 bitach. W pliku pomocy dołączonym do SDK w wersji 57 opisano sposoby konwersji istniejących rozwiązań do .NET 8, a także odświeżono rozdziały poświęcone tworzeniu nowych rozwiązań od zera.
Harmonogram archiwizacji
Harmonogram archiwizacji działa w oparciu o plik archiwizacja-nexo.exe, który znajduje się w folderze instalacyjnym nexo. Ze względu na to, iż wersja 57 zmienia lokalizację tego folderu, istniejące harmonogramy przestaną działać i konieczna będzie ich aktualizacja, aby korzystały z wymienionego pliku w jego nowej lokalizacji. Co ważne, nastąpi to od razu po instalacji wersji 57, nawet jeśli żaden podmiot nie będzie jeszcze skonwertowany do tej wersji.
Aby przywrócić działanie harmonogramu archiwizacji, należy:
1. Zainstalować wersję 57.
2. Uruchomić Program serwisowy.
3. Dla każdego podmiotu, który ma ustawiony harmonogram, otworzyć okno Parametrów archiwizacji i w sekcji dotyczącej harmonogramu wybrać Konfiguruj, a następnie Zmień.

4. W edytorze harmonogramu wybrać OK (wprowadzanie zmian nie jest konieczne) i potwierdzić aktualizację, wpisując hasło użytkownika.


Ustawienia harmonogramu zostaną zaktualizowane, dzięki czemu archiwizacja będzie działać. Zalecane jest, aby po wykonaniu opisanych czynności otworzyć harmonogram zadań systemu Windows i ręcznie uruchomić poszczególne zadania archiwizacji w celu przetestowania poprawności ich działania. Jeśli archiwizacja zostanie przeprowadzona poprawnie, to plik archiwum powinien znajdować się we właściwym docelowym katalogu. Można również sprawdzić przebieg archiwizacji w pliku logu, zapisywanym w katalogu:
- C:\Users\{użytkownik}\AppData\Local\InsERT\InsLauncherLogs\BackupLogs.
Aby ułatwić aktualizowanie harmonogramów, w Programie serwisowym w wersji 57 dodano na liście podmiotów kolumnę wyświetlającą informację o tym, czy dany podmiot ma zdefiniowany harmonogram archiwizacji.

Harmonogram można także zaktualizować z poziomu poszczególnych programów nexo w oknie parametrów archiwizacji, które wyświetla się przed archiwizacją podmiotu wykonywaną przy zamykaniu programu.

Zapisane dane połączenia do bazy (connection string)
Zmiana biblioteki System.Data.SqlClient na Microsoft.Data.SqlClient niesie ze sobą bardzo ważną konsekwencję dla wszystkich funkcji korzystających z połączeń bazodanowych. Microsoft.Data.SqlClient wprowadza zmianę domyślnej wartości flagi Encrypt używanej przy zapisie parametrów połączenia w postaci connection stringa. W System.Data.SqlClient domyślną wartością było false, natomiast w Microsoft.Data.SqlClient domyślna wartość to true, co może prowadzić do błędów połączeń.
Błędy takie mogą wystąpić w rozwiązaniach własnych, które przechowują lub generują na poczekaniu connection string. Nie dotyczy to wzorców wydruków z zapisanymi connection stringami, ponieważ one będą automatycznie poprawiane przy konwersji do wersji 57.
Błąd połączenia spowodowany zmianą domyślnej wartości Encrypt może wyglądać w następująco:
Microsoft.Data.SqlClient.SqlException: 'A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.)'
Poniżej zamieszczono możliwe rozwiązania tego problemu:
-
Pierwszym sposobem jest ustawienie w connection stringu flagi Encrypt=False lub Trust Server Certificate=True.
Uwaga! Ze względów bezpieczeństwa rozwiązanie to jest niezalecane w środowisku produkcyjnym. -
Drugim sposobem jest zainstalowanie na SQL Serverze certyfikatu podpisanego przez zaufane Certification Authority (CA).
Sposób ten jest bezpieczny i zalecany w przypadku pracy na środowisku produkcyjnym.
Błąd połączenia z bazą danych na serwerze z wymuszonym szyfrowaniem
W sytuacji, gdy nexo łączy się z instancją SQL Servera, na której włączono wymuszone szyfrowanie połączeń, ale nie zainstalowano certyfikatu podpisanego przez zaufane Certification Authority (CA), może wystąpić następujący błąd:
Microsoft.Data.SqlClient.SqlException: 'A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.)'
Rozwiązaniem jest wyłączenie wymuszonego szyfrowania (co nie jest zalecane ze względów bezpieczeństwa) albo zainstalowanie na instancji SQL Servera odpowiedniego certyfikatu.
W wersji 58 zostanie wprowadzona poprawka eliminująca ten błąd, tzn. możliwe będzie uruchamianie programu na instancji SQL Servera z wymuszonym szyfrowaniem i bez odpowiedniego certyfikatu, ale tylko w przypadku podmiotów w wersjach innych niż 57 (czyli np. 56 lub 58). Dla podmiotów w wersji 57 w dalszym ciągu konieczne będzie wyłączenie wymuszonego szyfrowania albo zainstalowanie certyfikatu. Konwersja podmiotu z wersji 57 do 58 będzie możliwa.
Podczas uruchamiania podmiotów w wersjach starszych niż 56 uruchamia się instalator
Może dojść do sytuacji, w której po zainstalowaniu wersji 57 podczas uruchamiania podmiotów w wersjach starszych niż 56 uruchomi się instalator tej wersji. Np. podczas uruchamiania podmiotu w wersji 55 pojawi się instalator wersji 55, mimo że jest już zainstalowana wersja 57. W takiej sytuacji należy anulować instalację niższej wersji i kontynuować pracę z programem. Jeśli istnieje potrzeba częstego uruchamiania starszych podmiotów i pojawianie się instalatora jest uciążliwe, to można użyć programu serwisowego, aby odłączyć od podmiotu pakiet MoriaLauncher, co sprawi, że instalator przestanie się pokazywać.
Podczas aktualizacji z wersji starszej niż 56.1.0 program nie uruchamia się ponownie
U użytkowników z aktywnym abonamentem po pobraniu nowej wersji program proponuje jej instalację i ponowne uruchomienie programu. Owo ponowne uruchomienie nie powiedzie się w przypadku aktualizacji z wersji starszych niż 56.1.0 do wersji 57 lub wyższej. Należy w takim wypadku samodzielnie uruchomić program. Jest to tymczasowa niedogodność. Problem nie będzie występował przy aktualizacji z wersji 56.1.0 do 57 lub wyższej, a także z 57 do kolejnych wersji.
Nie można uruchomić podmiotów w wersji starszej niż 57
Do uruchamiania podmiotów w wersji starszej niż 57 potrzebne jest zainstalowane oprogramowanie Microsoft Visual C++ 2015-2022 Redistributable w wersji 32-bitowej. W wersjach nexo starszych niż 57 było ono dołączane do instalatora. W wersji 57 instalator zawiera tylko 64-bitową wersję tego oprogramowania, niezbędną do uruchamiania podmiotów w wersji 57. W wielu przypadkach może się zdarzyć, że Microsoft Visual C++ 2015-2022 Redistributable w wersji 32-bitowej będzie już zainstalowane z poprzednimi wersjami nexo albo innych programów, ale w sytuacji, gdy np. zostanie zainstalowane nexo w wersji 57 na nowym komputerze i zajdzie potrzeba uruchomienia starszych podmiotów, możliwe jest, że na komputerze nie będzie tego oprogramowania. W takiej sytuacji należy je samodzielnie doinstalować.
Po instalacji wersji 57 nie działają skróty programów
Skróty do programów najczęściej odwołują się do programu InsLauncher.exe, który uruchamia pozostałe aplikacje. Instalacja wersji 57 zmienia jego lokalizację, przez co skróty mogą przestać działać. Skróty, które są domyślnie tworzone przez instalator na pulpicie lub w menu start, są podczas instalacji automatycznie aktualizowane i będą działać po zakończeniu instalacji. Skróty utworzone przez użytkownika na pulpicie, przypięte do paska zadań itd., przestaną działać. Są dwa rozwiązania tego problemu:
-
usunięcie i ponowne utworzenie skrótów,
-
edycja istniejących skrótów i uwzględnienie w nich aktualnej ścieżki do programu InsLauncher.exe, czyli „C:\Program Files\InsERT\nexo” zamiast „C:\Program Files (x86)\InsERT\nexo”
Pomoc zdalna
Nasz konsultant połączy się z Twoim komputerem, by udzielić niezbędnej pomocy.
teleKonsultant
Kupując abonament na teleKonsultanta, zyskujesz telefoniczną pomoc eksperta oraz szereg innych usług.
Forum użytkowników
Wymień się uwagami i doświadczeniami z innymi użytkownikami systemów InsERT.
