Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
napoveda_iskam_4:instalace:instalaceklienta [2021/02/01 10:10] dubpetrnapoveda_iskam_4:instalace:instalaceklienta [2026/01/28 13:10] (aktuální) dubpetr
Řádek 1: Řádek 1:
- 
 ====== Instalace klientské aplikace ====== ====== Instalace klientské aplikace ======
 Na této stránce naleznete vše potřebné pro instalaci klienta ISKAM4 na pracovní stanici. Na této stránce naleznete vše potřebné pro instalaci klienta ISKAM4 na pracovní stanici.
Řádek 10: Řádek 9:
 ===== Postup ===== ===== Postup =====
  
-ISKAM vyžaduje pro svůj běh OS Windows v libovolné verzi aktuálně podporované firmou Microsoft (Windows XP tedy nejsou podporovány a ISKAM na nich nemusí fungovat vůbec nebo správně.)+ISKAM vyžaduje pro svůj běh OS Windows v libovolné verzi aktuálně podporované firmou Microsoft (Windows XP tedy nejsou podporovány a ISKAM na nich nemusí fungovat vůbec nebo správně.) Pokud na stanicích kontrolujete podpisy kódu, tak my od května 2023 podepisujeme EXE a DLL soubory ISKAMu pomocí certifikátu, který je vystaven prostřednictvím interní certifikační autority ApS Brno. [[https://www.aps-brno.cz/is/ISKAM4/ApSBrnoCA.cer|Kořenový certifikát certifikační autority]] si můžete nahrát mezi důvěryhodné kořenové certifikační autority.
  
 ==== Základní instalace ISKAMu ==== ==== Základní instalace ISKAMu ====
  
-Instalaci provedete instalátorem z [[http://www.aps-brno.cz/is/ISKAM4/ISKaM4.exe]]. +Instalaci provedete instalátorem z [[https://www.aps-brno.cz/is/ISKAM4/ISKAM4.msi]]. 
  
 ==== Instalace pokladny v restauraci nebo menze ==== ==== Instalace pokladny v restauraci nebo menze ====
Řádek 44: Řádek 43:
  
 Pozn.: ISKAMu nezáleží na konkrétní verzi SQL Server LocalDB, lze použít jakoukoliv. Verze 2019 však má známý bug (stav k 28.1.2021) v instalátoru a samostatná instalaci LocalDB selže. Je nutné nainstalovat celý Express + LocalDB a pak Express odinstalovat, což je dost proti smyslu existence LocalDB. Proto doporučujeme použít verzi 2017. Pozn.: ISKAMu nezáleží na konkrétní verzi SQL Server LocalDB, lze použít jakoukoliv. Verze 2019 však má známý bug (stav k 28.1.2021) v instalátoru a samostatná instalaci LocalDB selže. Je nutné nainstalovat celý Express + LocalDB a pak Express odinstalovat, což je dost proti smyslu existence LocalDB. Proto doporučujeme použít verzi 2017.
 +
 +==== MS OLE DB Driver ====
 +
 +Při použití novější verze LocalDB, než 2017 (může být na počítači např. kvůli jinému používanému SW), je nutné před prvním spuštěním ISKAMu se zapnutým parametrem LocalDB provést instalaci [[https://docs.microsoft.com/cs-cz/sql/connect/oledb/download-oledb-driver-for-sql-server?view=sql-server-ver15|MS OLE DB Driveru]]. Jinak nebude fungovat přilinkovaný server a tedy ani výdej stravy v ISKAMu. 
  
 ==== SQL Native Client 11 ==== ==== SQL Native Client 11 ====
Řádek 51: Řádek 54:
 x86: http://go.microsoft.com/fwlink/?LinkID=239647&clcid=0x409 x86: http://go.microsoft.com/fwlink/?LinkID=239647&clcid=0x409
  
-x64: http://go.microsoft.com/fwlink/?LinkID=239648&clcid=0x409+x64: https://www.microsoft.com/en-US/download/details.aspx?id=50402
  
 ==== .NET Framework 4.5 ==== ==== .NET Framework 4.5 ====
Řádek 59: Řádek 62:
  
 ===== Další tipy a triky ===== ===== Další tipy a triky =====
 +
 +=== Jak ověřím, že je sever dostupný ===
 +
 +Pokud Vám ISKAM napíše, že nelze navázat spojení s serverem, tak příčinou může být špatně nastavený firewall, špatně zadané přihlašovací údaje, nebo dočasný problém s konektivitou. Pro ověření síťové dostupnosti lze použít několik nástrojů:
 +
 +''telnet <název nebo IP adresa serveru> 1433'' - pokusí se navázat spojení na zadaný server a port. 1433 je výchozí port pro SQL server. Pokud se spojení naváže, tak uvidíte v podstatě jen černou obrazovku, kterou můžete zavřít. 
 +
 +''Test-NetConnection <název nebo IP adresa serveru> -Port 1433'' - powershellový příkaz, který udělá podobný test, jako telnet.
 +
 +<code>
 +Write-Host "=== Test dostupnosti MS SQL Serveru ===" -ForegroundColor Cyan
 +
 +$server = Read-Host "Zadej název serveru (např. SERVER nebo SERVER\INSTANCE)"
 +
 +$connectionString = "Server=$server;Database=master;User Id=test;Password=test;Connect Timeout=5;"
 +
 +$conn = New-Object System.Data.SqlClient.SqlConnection $connectionString
 +
 +try {
 +    $con = $conn.Open()
 +    Write-Host "Připojeno – uživatel test/test existuje." -ForegroundColor Yellow
 +    $cmd = $conn.CreateCommand()
 +    $cmd.CommandText = "SELECT ORIGINAL_LOGIN() AS original_login, SUSER_SNAME() AS suser_sname, @@SERVERNAME AS servername;"
 +    $r = $cmd.ExecuteReader()
 +    while ($r.Read()) {
 +        "original_login=$($r['original_login']) | suser_sname=$($r['suser_sname']) | servername=$($r['servername'])"
 +    }
 +    $r.Close()
 +}
 +catch {
 +    Write-Host "Výsledek:" -ForegroundColor Cyan
 +    Write-Host $_.Exception.Message -ForegroundColor White
 +}
 +finally {
 +    $conn.Close()
 +}
 +
 +Write-Host "`nHotovo."
 +
 +</code>
 +
 +Když spustíte tento powershell script, tak se zeptá na název serveru. Pokud váš SQL server neběží na výchozím portu, tak je potřeba zadat ve tvaru ''<název nebo ip adresa serveru>,<port>''. Script se pokusí o reálné přihlášení k databázi a vypíše důvody neúspěchu. Očekávaným "pozitivním" výsledkem je, že se login nezdaří, protože na serveru nebude účet "test", pod kterým to script zkouší.
 +
  
 === Jak poznám, jestli mám SqlLocalDB nainstalován? === === Jak poznám, jestli mám SqlLocalDB nainstalován? ===
Řádek 65: Řádek 111:
  
 Další možností je z příkazového řádku spustit ''sqllocaldb i''. Tento příkaz by měl vypsat všechny "instance" LocalDB na Vašem počítači, minimálně by tam měla být tzv. výchozí instance pojmenovaná MSSQLLocalDB. Tj. příkaz by měl po spuštění vypsat ''MSSQLLocalDB''. Pokud místo toho operační systém zahlásí, že soubor sqllocaldb nebyl nalezen, tak instalace neproběhla korektně. Další možností je z příkazového řádku spustit ''sqllocaldb i''. Tento příkaz by měl vypsat všechny "instance" LocalDB na Vašem počítači, minimálně by tam měla být tzv. výchozí instance pojmenovaná MSSQLLocalDB. Tj. příkaz by měl po spuštění vypsat ''MSSQLLocalDB''. Pokud místo toho operační systém zahlásí, že soubor sqllocaldb nebyl nalezen, tak instalace neproběhla korektně.
 +
 +=== Co dělat, pokud se lokální databáze nespustí? ===
 +Může to způsobit, pokud je počet bajtů disku na sektor větší než 4kB (4096B), typicky u M.2 disků apod. Lze to zjistit tak, že spustím příkazový řádek ve Windows s právy administrátora a zavolám příkaz //fsutil fsinfo sectorinfo C:// (je třeba změnit C: na písmeno disku, kde je lokální DB nainstalována). Pokud bude pro parametr //PhysicalBytesPerSectorForAtomicity// nebo //PhysicalBytesPerSectorForPerformance// hodnota vyšší než 4096B, bude třeba upravit registry, buď přímo spuštěním skriptu pod oprávněním administrátora v PowerShellu níže, popř. ručně, hodnoty dle skriptu.
 +
 +//New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" -Name "ForcedPhysicalSectorSizeInBytes" -PropertyType MultiString -Force -Value "* 4095"//
  
 === Co dělat, když si ISKAM nevytvoří databázové soubory ve složce data, popř. hlásí, že se nepodařilo přihlásit? === === Co dělat, když si ISKAM nevytvoří databázové soubory ve složce data, popř. hlásí, že se nepodařilo přihlásit? ===