feat(cli): add dedicated Inno Setup installer for the Windows CLI
Installateur Inno Setup séparé de la GUI (validé GO par Qwen), pour tests
internes et intégration de la brique CLI dans un autre logiciel.
- installer/Anonymisation-CLI.iss : AppId distinct de la GUI
(B2F4A7C1-…), PrivilegesRequired=lowest, DefaultDirName
{localappdata}\Programs\Anonymisation-CLI, source dist\Anonymisation-CLI.exe.
Clés registre HKCU stables (InstallPath/ExePath/Version) + App Paths HKCU
pour résolution tierce, supprimées à la désinstallation (uninsdeletekey).
Pas de PATH système, pas de raccourci bureau. GUI .iss non modifiée.
- installer/Anonymisation-CLI-README.txt : usage, codes retour, lookup registre.
- scripts/build_windows_cli_installer_only.ps1 : build ISCC dédié,
sortie release\Anonymisation-CLI-Setup.exe + SHA-256.
- docs/build-windows-oneclick.md : section « Installateur CLI dédié ».
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -147,6 +147,50 @@ Un log lisible est écrit à côté de l'EXE : `anonymisation_cli.log`.
|
||||
locaux/embarqués ;
|
||||
- rastérisation séquentielle en mode frozen (cf. limitations GUI).
|
||||
|
||||
### Installateur CLI dédié (Inno Setup, séparé de la GUI)
|
||||
|
||||
Pour les tests internes et l'intégration de la brique CLI dans un autre logiciel,
|
||||
un installateur Inno Setup **distinct de la GUI** est fourni :
|
||||
|
||||
- script : `installer\Anonymisation-CLI.iss` (AppId propre, ne partage pas la
|
||||
désinstallation de la GUI ; `installer\Anonymisation.iss` n'est pas modifié) ;
|
||||
- build : `scripts\build_windows_cli_installer_only.ps1` ;
|
||||
- sortie : `release\Anonymisation-CLI-Setup.exe` (+ `.sha256.txt`).
|
||||
|
||||
```powershell
|
||||
# 1. builder l'EXE CLI (cf. section précédente) -> dist\Anonymisation-CLI.exe
|
||||
# 2. builder l'installateur :
|
||||
powershell -ExecutionPolicy Bypass -File .\scripts\build_windows_cli_installer_only.ps1
|
||||
```
|
||||
|
||||
Caractéristiques de l'installateur :
|
||||
|
||||
- **sans droits admin** (`PrivilegesRequired=lowest`) ;
|
||||
- dossier par défaut : `%LOCALAPPDATA%\Programs\Anonymisation-CLI` ;
|
||||
- **pas** d'ajout au PATH système, **pas** de raccourci bureau (entrée menu
|
||||
Démarrer vers le README seulement) ;
|
||||
- désinstalleur Windows standard, qui **supprime les clés de registre créées**.
|
||||
|
||||
#### Clés de registre HKCU (intégration logicielle tierce)
|
||||
|
||||
```
|
||||
HKCU\Software\CHUXX\Anonymisation-CLI
|
||||
InstallPath = <dossier d'installation>
|
||||
ExePath = <dossier>\Anonymisation-CLI.exe
|
||||
Version = <version>
|
||||
|
||||
HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths\Anonymisation-CLI.exe
|
||||
(Default) = <dossier>\Anonymisation-CLI.exe
|
||||
Path = <dossier>
|
||||
```
|
||||
|
||||
Un autre logiciel retrouve l'exe ainsi (PowerShell) :
|
||||
|
||||
```powershell
|
||||
$exe = (Get-ItemProperty 'HKCU:\Software\CHUXX\Anonymisation-CLI').ExePath
|
||||
& $exe "C:\doc.pdf" "C:\sortie"
|
||||
```
|
||||
|
||||
## Blocage Windows / SmartScreen
|
||||
|
||||
Un exécutable PyInstaller non signé peut déclencher Microsoft Defender SmartScreen, surtout s'il est téléchargé depuis Internet ou envoyé par e-mail. La signature réduit fortement le risque et évite l'éditeur inconnu, mais elle ne garantit pas toujours l'absence totale d'avertissement SmartScreen pour une toute nouvelle version : Windows tient aussi compte de la réputation du fichier et de son hash.
|
||||
|
||||
Reference in New Issue
Block a user