Kuvajärjestäjä 2.0.1 – julkaisijan ohje
=======================================

1. Windows-asennuspaketti
- Aja Windowsissa build_windows_setup.bat.
- Se luo installer_output\Kuvajarjestaja-2.0.1-setup.exe -asennuspaketin.
- Ensisijainen sovellusjulkaisu on PyInstallerin onedir-rakenne. Asennuspaketti
  asentaa koko rakenteen, eikä ohjelmaa pakata yhdeksi itsepurkautuvaksi EXEksi.
- Rakennus tehdään joka kerta uudessa .venv-build-virtuaaliympäristössä.
- Käytössä on PyInstaller 6.21.0 ja UPX on poistettu käytöstä.
- Asennuspaketin luominen vaatii Python 3.12:n tai uudemman ja Inno Setup 6:n.
- Samalla syntyvät portable-ZIP ja installer_output\SHA256SUMS.txt.

2. Koodin allekirjoitus
- Hanki Windows-koodin allekirjoitussertifikaatti erikseen.
- Asenna Windows SDK:n SignTool tai käytä sertifikaatin tarjoajan ohjetta.
- sign_windows_release.bat on malliskripti. Aseta ympäristömuuttujat CERT_FILE ja CERT_PASSWORD tai muokkaa skriptiä.
- Allekirjoita sekä dist-kansion EXE että installer_output-kansion setup.exe.
- Allekirjoitus auttaa käyttäjää näkemään julkaisijan. Uuden ohjelman SmartScreen-maine kasvaa käytön ja latausten myötä eikä varoitus välttämättä poistu heti.

3. Päivitysilmoitus
- Painike löytyy aina ohjelman yläpalkista: Tarkista päivitykset.
Ohjelman oletusosoite on:
https://wpplugi.com/kuvajarjestaja/paivitys.json

Lataa paketin mukana oleva paivitys.json palvelimelle tai luo siihen UTF-8 JSON-tiedosto, esimerkiksi:
{
  "version": "2.0.1",
  "download_url": "https://wpplugi.com/kuvajarjestaja/",
  "notes": "Korjattu videoiden metatietojen käsittely."
}

Ohjelma tarkistaa vain nämä tiedot käyttäjän painaessa Tarkista päivitykset. Se ei lataa tai asenna mitään automaattisesti.

4. Tarkistussumma julkaisusivulle
- build_windows_setup.bat luo SHA256SUMS.txt-tiedoston automaattisesti.
- Julkaise sekä lataustiedostot että SHA256SUMS.txt samalla lataussivulla.

5. Valinnainen oma PyInstaller-bootloader
- Käytä build_custom_bootloader.bat-tiedostoa vain tarvittaessa.
- Se kloonaa PyInstaller 6.21.0:n lähdekoodin ja kääntää bootloaderin paikallisesti.
- Rakennus vaatii Visual Studio Build Toolsin C++-työkalut.
- Oma bootloader ei itsessään takaa virustorjuntahavaintojen poistumista.
