# πŸ“¦ ZPL2PDF - Windows Installer (Inno Setup) Professional Windows installer for ZPL2PDF with multi-language support. --- ## 🎯 **Features** The installer provides: - βœ… **Multi-language interface** (8 languages) - βœ… **Automatic file association** (.zpl files) - βœ… **PATH integration** (optional) - βœ… **Language configuration** during installation - βœ… **Default folders creation** (watch/output) - βœ… **Start Menu shortcuts** - βœ… **Desktop icon** (optional) - βœ… **Clean uninstallation** --- ## πŸ“‹ **Requirements** ### 1. Inno Setup Compiler Download and install from: https://jrsoftware.org/isinfo.php **Minimum version:** 6.2.0 or higher **Installation:** ```powershell # Option 1: Download installer # Visit: https://jrsoftware.org/isdl.php # Option 2: Using winget winget install JRSoftware.InnoSetup # Option 3: Using Chocolatey choco install innosetup ``` ### 2. Build Artifacts Build all platforms first: ```powershell .\scripts\build-all-platforms.ps1 ``` This creates the required files in `build/publish/`. --- ## πŸš€ **How to Build the Installer** ### **Option 1: GUI (Easiest)** 1. Open **Inno Setup Compiler** 2. Click "**File**" β†’ "**Open**" 3. Select `installer/ZPL2PDF-Setup.iss` 4. Click "**Build**" β†’ "**Compile**" (or press `F9`) 5. Wait ~30 seconds 6. Installer will be created: `installer/ZPL2PDF-Setup-2.0.0.exe` ### **Option 2: Command Line** ```powershell # Using Inno Setup compiler & "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" installer\ZPL2PDF-Setup.iss # Output: installer/ZPL2PDF-Setup-2.0.0.exe ``` ### **Option 3: Automated Script** ```powershell # Use the build script .\installer\build-installer.ps1 # Or with custom version .\installer\build-installer.ps1 -Version "2.0.1" ``` --- ## πŸ“¦ **What Gets Installed** ### **Files:** ``` C:\Program Files\ZPL2PDF\ β”œβ”€β”€ ZPL2PDF.exe (Main executable) β”œβ”€β”€ zpl2pdf.json.example (Configuration template) β”œβ”€β”€ ZPL2PDF.ico (Application icon) β”œβ”€β”€ docs\ β”‚ β”œβ”€β”€ README.md β”‚ β”œβ”€β”€ README.pt.md β”‚ β”œβ”€β”€ LICENSE β”‚ β”œβ”€β”€ CHANGELOG.md β”‚ └── CONTRIBUTING.md └── samples\ β”œβ”€β”€ example.txt β”œβ”€β”€ test-10x15.txt └── ... ``` ### **User Folders:** ``` %USERPROFILE%\Documents\ZPL2PDF Auto Converter\ β”œβ”€β”€ watch\ (Drop ZPL files here) └── output\ (PDFs generated here) ``` ### **Registry:** ``` HKEY_CURRENT_USER\Software\ZPL2PDF\ β”œβ”€β”€ InstallPath = "C:\Program Files\ZPL2PDF" β”œβ”€β”€ Version = "2.0.0" └── WatchFolder = "...\Documents\ZPL2PDF Auto Converter\watch" HKEY_CURRENT_USER\Environment\ └── ZPL2PDF_LANGUAGE = "pt-BR" (if configured) ``` ### **Start Menu:** ``` Start Menu\Programs\ZPL2PDF\ β”œβ”€β”€ ZPL2PDF (Launch help) β”œβ”€β”€ ZPL2PDF (Start Daemon) (Start monitoring) β”œβ”€β”€ ZPL2PDF (Stop Daemon) (Stop monitoring) β”œβ”€β”€ Documentation β”œβ”€β”€ Sample Files β”œβ”€β”€ Watch Folder β”œβ”€β”€ Output Folder └── Uninstall ZPL2PDF ``` --- ## 🌍 **Multi-Language Support** ### **Installer Languages:** During installation, user can choose: 1. English 2. PortuguΓͺs (Brasil) 3. EspaΓ±ol 4. FranΓ§ais 5. Deutsch 6. Italiano 7. ζ—₯本θͺž (Japanese) ### **Application Language:** The installer offers a **language configuration page** where user selects the ZPL2PDF interface language: - English (en-US) - PortuguΓͺs Brasil (pt-BR) - EspaΓ±ol (es-ES) - FranΓ§ais (fr-FR) - Deutsch (de-DE) - Italiano (it-IT) - ζ—₯本θͺž (ja-JP) - δΈ­ζ–‡ (zh-CN) This sets the `ZPL2PDF_LANGUAGE` environment variable permanently. --- ## βš™οΈ **Installation Options** ### **Standard Installation:** - βœ… Install application - βœ… Create shortcuts - βœ… Create default folders - βœ… Register .zpl file association ### **Optional Tasks:** | Task | Description | Default | |------|-------------|---------| | **Desktop Icon** | Create icon on desktop | ❌ Unchecked | | **Quick Launch** | Add to Quick Launch (Windows 7) | ❌ Unchecked | | **Add to PATH** | Add to system PATH variable | ❌ Unchecked | | **Set Language** | Configure application language | βœ… Checked | --- ## πŸ”§ **Customization** ### **Change Version:** Edit `ZPL2PDF-Setup.iss`: ```pascal #define MyAppVersion "2.0.1" // Change here ``` ### **Add More Files:** ```pascal [Files] Source: "path\to\file"; DestDir: "{app}"; Flags: ignoreversion ``` ### **Add More Shortcuts:** ```pascal [Icons] Name: "{group}\MyShortcut"; Filename: "{app}\{#MyAppExeName}"; Parameters: "run" ``` ### **Add Custom Actions:** ```pascal [Run] Filename: "{app}\setup-helper.exe"; Description: "Configure application"; Flags: postinstall ``` --- ## πŸ› **Troubleshooting** ### **Error: "Cannot find file"** **Solution:** Build all platforms first: ```powershell .\scripts\build-all-platforms.ps1 ``` ### **Error: "ISCC.exe not found"** **Solution:** Install Inno Setup or update the path in build script. ### **Installer doesn't show multi-language** **Solution:** Make sure all `.isl` files are installed with Inno Setup (default installation includes them). ### **Language not persisting** **Solution:** Check that `ZPL2PDF_LANGUAGE` environment variable is set: ```powershell [Environment]::GetEnvironmentVariable("ZPL2PDF_LANGUAGE", "User") ``` --- ## πŸ“Š **Installer Statistics** | Metric | Value | |--------|-------| | **Installer Size** | ~50 MB (compressed) | | **Installed Size** | ~120 MB | | **Supported Languages** | 8 (installer) | | **Compression** | LZMA2 (maximum) | | **Architectures** | x64 (Windows 10/11) | --- ## 🎯 **Next Steps** After building the installer: 1. βœ… Test installation on clean Windows VM 2. βœ… Test all language options 3. βœ… Test file association (.zpl files) 4. βœ… Test daemon mode start/stop 5. βœ… Test uninstallation 6. βœ… Sign the installer (optional, for code signing) 7. βœ… Upload to GitHub Releases --- ## πŸ“š **Additional Resources** - [Inno Setup Documentation](https://jrsoftware.org/ishelp/) - [Inno Setup Examples](https://jrsoftware.org/ishelp/topic_samples.htm) - [Code Signing Guide](https://jrsoftware.org/ishelp/topic_setup_signtool.htm) --- ## βœ… **Validation Checklist** - [ ] Inno Setup installed - [ ] Build artifacts created - [ ] Installer compiles without errors - [ ] Installation succeeds - [ ] Application launches correctly - [ ] Language selection works - [ ] File association works (.zpl files) - [ ] Start Menu shortcuts created - [ ] Daemon start/stop works - [ ] Uninstallation succeeds - [ ] Environment variable set correctly --- **Ready to build?** Open `ZPL2PDF-Setup.iss` in Inno Setup and press `F9`! πŸš€