169 lines
5.8 KiB
Markdown
169 lines
5.8 KiB
Markdown
# BoxPacker3D - Porovnanie Installer riešení
|
|
|
|
V projekte máte **3 možnosti** ako vytvoriť inštalátor. Každá má svoje výhody a nevýhody.
|
|
|
|
---
|
|
|
|
## 📦 Možnosť 1: Visual Studio Installer Projects (.vdproj)
|
|
|
|
### ✅ **Výhody**
|
|
- **GUI Editor** - Všetko cez drag & drop vo Visual Studio
|
|
- **Jednoduchosť** - Žiadne učenie syntax, len klikanie
|
|
- **Integrácia** - Súčasť VS 2017 (po inštalácii rozšírenia)
|
|
- **MSI výstup** - Windows natívny formát
|
|
- **Automatizácia** - Upgrade management zabudovaný
|
|
|
|
### ❌ **Nevýhody**
|
|
- **Binárny súbor** - `.vdproj` nie je dobre verzovatný v Git
|
|
- **Menej flexibilné** - Obmedzené možnosti customizácie
|
|
- **Potrebuje VS** - Nedá sa buildnuť bez Visual Studio
|
|
- **Zastarávajúce** - Microsoft ho aktívne nerozvíja
|
|
|
|
### 📂 **Súbory v projekte**
|
|
- `BoxPacker3D.Setup.vdproj` - Setup projekt (kostra - treba dotvoriť v VS)
|
|
- `BoxPacker3D_WithSetup.sln` - Solution s Setup projektom
|
|
- `VISUAL_STUDIO_INSTALLER_GUIDE.md` - Podrobný návod
|
|
|
|
### 🚀 **Ako použiť**
|
|
1. Otvorte `BoxPacker3D_WithSetup.sln` vo VS 2017
|
|
2. Nainštalujte rozšírenie "Microsoft Visual Studio Installer Projects"
|
|
3. V Setup projekte pridajte súbory cez GUI (Project Output)
|
|
4. Build → MSI súbor v `BoxPacker3D.Setup\Release\`
|
|
|
|
**Najlepšie pre:** Vývojárov, ktorí nechcú riešiť syntax a preferujú GUI
|
|
|
|
---
|
|
|
|
## 🔧 Možnosť 2: WiX Toolset (.wxs)
|
|
|
|
### ✅ **Výhody**
|
|
- **Úplná kontrola** - XML súbor, plne scriptovateľný
|
|
- **Verzovatý** - Textový súbor, dokonalý pre Git
|
|
- **Profesionálny** - Používa Microsoft, Adobe, atď.
|
|
- **MSI výstup** - Windows natívny formát
|
|
- **CI/CD ready** - Command-line build
|
|
- **Kompletný** - Projekt je ready-to-build (na rozdiel od .vdproj)
|
|
|
|
### ❌ **Nevýhody**
|
|
- **Učenie** - XML syntax, treba sa naučiť WiX jazyk
|
|
- **Komplexný** - Viac kódu než VS Installer Projects
|
|
- **Inštalácia** - Treba stiahnuť WiX Toolset samostatne
|
|
|
|
### 📂 **Súbory v projekte**
|
|
- `BoxPacker3D.wxs` - **KOMPLETNÝ** WiX source (ready to build!)
|
|
- `BoxPacker3D_WiX.wixproj` - WiX projekt súbor
|
|
- `build-wix.bat` - Build script
|
|
|
|
### 🚀 **Ako použiť**
|
|
1. Stiahnite a nainštalujte [WiX Toolset 3.11+](https://wixtoolset.org/releases/)
|
|
2. Spustite `build-wix.bat`
|
|
3. MSI súbor: `bin\BoxPacker3D.msi`
|
|
|
|
**Alebo ručne:**
|
|
```batch
|
|
dotnet build BoxPacker3D.csproj -c Release
|
|
candle.exe BoxPacker3D.wxs -ext WixUIExtension
|
|
light.exe BoxPacker3D.wixobj -out BoxPacker3D.msi -ext WixUIExtension
|
|
```
|
|
|
|
**Najlepšie pre:** Vývojárov, ktorí chcú plnú kontrolu a CI/CD integráciu
|
|
|
|
---
|
|
|
|
## 🎨 Možnosť 3: Inno Setup (.iss)
|
|
|
|
### ✅ **Výhody**
|
|
- **Zadarmo navždy** - Žiadne licenčné poplatky
|
|
- **Jednoduchý** - Pascal-like skriptovací jazyk
|
|
- **EXE výstup** - Samostatný inštalátor
|
|
- **Malý** - Najmenšie súbory
|
|
- **Flexibilný** - Custom stránky, skripty, akcie
|
|
- **Verzovatý** - Textový `.iss` súbor
|
|
|
|
### ❌ **Nevýhody**
|
|
- **EXE, nie MSI** - Nie je Windows natívny (ale funguje rovnako dobre)
|
|
- **Samostatný nástroj** - Treba stiahnuť Inno Setup
|
|
- **Menej "corporate"** - MSI vyzerá profesionálnejšie v niektorých firmách
|
|
|
|
### 📂 **Súbory v projekte**
|
|
- `installer.iss.OLD` - Inno Setup script (odstráňte .OLD)
|
|
- `build-installer-inno.bat.OLD` - Build script (odstráňte .OLD)
|
|
- `INSTALLER_README_INNO.md.OLD` - Návod (odstráňte .OLD)
|
|
|
|
### 🚀 **Ako použiť**
|
|
1. Odstráňte `.OLD` príponu zo súborov
|
|
2. Stiahnite [Inno Setup](https://jrsoftware.org/isdl.php)
|
|
3. Otvorte `installer.iss` v Inno Setup Compiler
|
|
4. Build → EXE súbor v `installer\BoxPacker3D_Setup.exe`
|
|
|
|
**Najlepšie pre:** Malé projekty, shareware, open-source aplikácie
|
|
|
|
---
|
|
|
|
## 🤔 Ktorú možnosť si vybrať?
|
|
|
|
### Preferujete **GUI** a máte **VS 2017**?
|
|
→ **Visual Studio Installer Projects** (.vdproj)
|
|
- Otvorte návod: `VISUAL_STUDIO_INSTALLER_GUIDE.md`
|
|
|
|
### Chcete **plnú kontrolu** a **Git-friendly** riešenie?
|
|
→ **WiX Toolset** (.wxs)
|
|
- Spustite: `build-wix.bat` (po inštalácii WiX)
|
|
- **Bonus:** WiX súbor je už kompletný, pripravený na build!
|
|
|
|
### Chcete **najjednoduchšie** a **najmenšie** súbory?
|
|
→ **Inno Setup** (.iss)
|
|
- Odstráňte `.OLD` z `installer.iss.OLD`
|
|
- Otvorte v Inno Setup Compiler
|
|
|
|
---
|
|
|
|
## 📊 Priame porovnanie
|
|
|
|
| Feature | VS Installer | WiX | Inno Setup |
|
|
|---------|-------------|-----|------------|
|
|
| **Výstup** | MSI | MSI | EXE |
|
|
| **GUI Editor** | ✅ Áno | ❌ Nie | ⚠️ Čiastočný |
|
|
| **Textový súbor** | ❌ Nie | ✅ Áno | ✅ Áno |
|
|
| **Git-friendly** | ❌ Nie | ✅ Áno | ✅ Áno |
|
|
| **CI/CD** | ⚠️ Potrebuje VS | ✅ Áno | ✅ Áno |
|
|
| **Komplexnosť** | 😊 Ľahké | 😐 Stredné | 😊 Ľahké |
|
|
| **Flexibilita** | ⚠️ Obmedzená | ✅ Vysoká | ✅ Vysoká |
|
|
| **Inštalácia** | VS rozšírenie | WiX Toolset | Inno Setup |
|
|
| **Cena** | ✅ Zadarmo | ✅ Zadarmo | ✅ Zadarmo |
|
|
| **Ready to build** | ❌ Nie* | ✅ Áno | ✅ Áno |
|
|
|
|
*`.vdproj` je len kostra, treba dotvoriť v GUI
|
|
|
|
---
|
|
|
|
## 🎯 Moja odporúčanie
|
|
|
|
### Pre **nových** používateľov:
|
|
**Inno Setup** - Najjednoduchší, funguje okamžite, malé súbory
|
|
|
|
### Pre **korporátne** prostredie:
|
|
**WiX** - Profesionálny MSI, plná kontrola, CI/CD ready, **kompletný projekt už pripravený**
|
|
|
|
### Pre **VS 2017** používateľov:
|
|
**VS Installer Projects** - Ak už máte VS otvorené, GUI je pohodlné
|
|
|
|
---
|
|
|
|
## 📝 Poznámky
|
|
|
|
- Všetky tri možnosti vytvárajú **rovnako funkčné** inštalátory
|
|
- MSI (VS Installer, WiX) sa lepšie integruje do Windows systému
|
|
- EXE (Inno Setup) je univerzálnejší a menší
|
|
- **WiX súbor (`BoxPacker3D.wxs`) je už kompletný** - na rozdiel od .vdproj kotvry
|
|
|
|
---
|
|
|
|
## 🆘 Potrebujete pomoc?
|
|
|
|
1. **VS Installer Projects** → `VISUAL_STUDIO_INSTALLER_GUIDE.md`
|
|
2. **WiX** → Spustite `build-wix.bat` a sledujte chyby
|
|
3. **Inno Setup** → `INSTALLER_README_INNO.md.OLD` (odstráňte .OLD)
|
|
|
|
Akákoľvek metóda je dobrá - záleží len na vašich preferenciách! 🎉
|