9.5 KiB
9.5 KiB
Visual Studio Installer Projects - Návod
1. Inštalácia rozšírenia pre VS 2017
Krok 1: Otvorte VS 2017
- Spustite Visual Studio 2017
- Prejdite na Tools → Extensions and Updates...
- V ľavom paneli vyberte Online
- Do vyhľadávacieho poľa napíšte:
Microsoft Visual Studio Installer Projects - Nájdite oficiálne rozšírenie od Microsoft
- Kliknite Download
- Po stiahnutí zatvorte VS 2017 - inštalácia sa spustí automaticky
- Postupujte podľa VSIX Installer krokov
- Reštartujte VS 2017
Alternatíva - Priame stiahnutie:
- Navštívte: https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.MicrosoftVisualStudio2017InstallerProjects
- Stiahnite
.vsixsúbor a spustite ho
2. Vytvorenie Setup projektu
Krok 1: Pridajte Setup projekt do solution
- Otvorte
BoxPacker3D.slnvo VS 2017 - V Solution Explorer kliknite pravým na solution (nie projekt)
- Add → New Project...
- V ľavom paneli: Other Project Types → Visual Studio Installer
- Vyberte šablónu: Setup Project
- Meno:
BoxPacker3D.Setup - Kliknite OK
Krok 2: Nastavte základné vlastnosti
- V Solution Explorer kliknite pravým na
BoxPacker3D.Setup - Vyberte Properties
- Nastavte:
- Author: Vaše meno alebo firma
- Description:
3D Box Packer - Aplikácia pre 3D balenie kusov - Manufacturer: Vaše meno/firma
- ManufacturerUrl: Vaša web stránka (voliteľné)
- ProductName:
3D Box Packer - Title:
3D Box Packer Installer - Version:
1.0.0
3. Pridanie súborov do inštalátora
Metóda A: Project Output (Odporúčané)
-
V Solution Explorer otvorte
BoxPacker3D.Setup -
Vidíte File System Editor s tromi priečinkami:
- Application Folder
- User's Desktop
- User's Programs Menu
-
Kliknite pravým na "Application Folder" → Add → Project Output...
-
V dialógu:
- Project: Vyberte
BoxPacker3D - Configuration: Vyberte
Release .NET 9.0 - Zaškrtnite: Primary output (obsahuje EXE a všetky DLLs)
- Kliknite OK
- Project: Vyberte
-
Pridajte konfiguračné súbory:
- Kliknite pravým na Application Folder → Add → File...
- Navigujte do priečinka projektu
- Vyberte:
appsettings.jsonaitems.db - Kliknite OK
Metóda B: Publish Output (Alternatíva)
Ak metóda A nefunguje správne:
-
Najprv publikujte projekt:
dotnet publish -c Release -r win-x64 --self-contained false -
V Setup projekte:
- Kliknite pravým na Application Folder → Add → File...
- Navigujte do:
bin\Release\net9.0-windows\win-x64\publish\ - Vyberte všetky súbory (
.exe,.dll,.json,.db) - Kliknite OK
4. Vytvorenie Desktop ikony (voliteľné)
- V File System Editor kliknite pravým na User's Desktop
- Add → File...
- V dialógu vyberte Application Folder (nie súbor!)
- V zozname nájdite Primary output from BoxPacker3D
- Kliknite OK
- Ikona sa vytvorí automaticky
Alebo:
- Kliknite pravým na User's Desktop → Create New Shortcut
- V dialógu vyberte Application Folder
- Vyberte Primary output from BoxPacker3D
- Kliknite OK
- Premenujte shortcut na "3D Box Packer"
5. Start Menu položka
- V File System Editor kliknite pravým na User's Programs Menu
- Add → Folder
- Premenujte priečinok na
3D Box Packer - Kliknite pravým na tento priečinok → Create New Shortcut
- V dialógu vyberte Application Folder
- Vyberte Primary output from BoxPacker3D
- Kliknite OK
- Premenujte shortcut na "3D Box Packer"
6. Nastavenie .NET 9 prerequisite
Varient 1: Launch Conditions (Upozornenie)
- V Solution Explorer kliknite pravým na
BoxPacker3D.Setup - View → Launch Conditions
- Kliknite pravým na Requirements on Target Machine → Add Launch Condition
- Vlastnosti:
- Condition:
NETFRAMEWORK90FULL="#1" - Message:
Táto aplikácia vyžaduje .NET 9. Stiahnite z https://dotnet.microsoft.com/download/dotnet/9.0
- Condition:
Variant 2: Bootstrapper (Automatická inštalácia)
- Kliknite pravým na
BoxPacker3D.Setup→ Properties - Nájdite sekciu Prerequisites...
- V dialógu:
- Zaškrtnite Create setup program to install prerequisite components
- V zozname hľadajte
.NET Desktop Runtime 9.0(ak nie je, musíte použiť custom bootstrapper) - Vyberte umiestnenie: Download prerequisites from the component vendor's web site
- Kliknite OK
Poznámka: Ak .NET 9 nie je v zozname prerequisite (starší VS 2017), použite Launch Condition a užívateľ si musí nainštalovať .NET 9 manuálne.
7. Build inštalátora
Jednoduchý build:
- V Solution Explorer kliknite pravým na
BoxPacker3D.Setup - Vyberte Build
- Počkajte na dokončenie
- MSI súbor nájdete v:
BoxPacker3D.Setup\Release\BoxPacker3D.Setup.msi
Batch script pre automatizáciu:
Vytvorte build-installer-vstudio.bat:
@echo off
echo ================================================
echo Building BoxPacker3D with VS Installer Projects
echo ================================================
echo.
echo [1/3] Building Release configuration...
msbuild BoxPacker3D.sln /p:Configuration=Release /p:Platform="Any CPU" /v:minimal
if errorlevel 1 (
echo ERROR: Project build failed!
pause
exit /b 1
)
echo.
echo [2/3] Building Setup project...
msbuild BoxPacker3D.Setup\BoxPacker3D.Setup.vdproj /p:Configuration=Release /v:minimal
if errorlevel 1 (
echo ERROR: Setup build failed!
pause
exit /b 1
)
echo.
echo [3/3] Installer created successfully!
echo Location: BoxPacker3D.Setup\Release\BoxPacker3D.Setup.msi
echo.
explorer /select,"BoxPacker3D.Setup\Release\BoxPacker3D.Setup.msi"
pause
8. Vlastnosti MSI inštalátora
Upgrade Behavior (Automatický upgrade)
- V Solution Explorer kliknite pravým na
BoxPacker3D.Setup - Properties
- Nastavte:
- RemovePreviousVersions:
True(umožní upgrade cez nainštalovanie novej verzie) - DetectNewerInstalledVersion:
True(zabráni inštalácii staršej verzie)
- RemovePreviousVersions:
Product Code a Upgrade Code
- ProductCode: Automaticky sa vygeneruje nový pri každom zmene verzie
- UpgradeCode: NIKDY nemeňte! Toto ID identifikuje vašu aplikáciu naprieč verziami
9. Pokročilé nastavenia
Custom Actions (Voliteľné)
Ak potrebujete spustiť akcie počas inštalácie:
- Kliknite pravým na
BoxPacker3D.Setup→ View → Custom Actions - Môžete pridať:
- Install: Spustí sa pri inštalácii
- Commit: Po úspešnej inštalácii
- Rollback: Ak inštalácia zlyhá
- Uninstall: Pri odinštalácii
Registry Keys (Voliteľné)
- View → Registry
- Navigujte do
HKEY_LOCAL_MACHINE\Software - Kliknite pravým → New → Key
- Vytvorte štruktúru napr.
YourCompany\BoxPacker3D - Pridajte hodnoty (napr. install path)
File Associations (Voliteľné)
- View → File Types
- Pridajte vlastné prípony (.box, .pack, atď.)
- Asociujte s vašou aplikáciou
10. Testovanie
Pred vydaním:
-
Nainštalujte MSI na čistom PC alebo VM
-
Overte že:
- ✅ Aplikácia sa spustí
- ✅ Všetky súbory sú prítomné
- ✅ items.db sa vytvorí/skopíruje
- ✅ appsettings.json funguje
- ✅ Desktop ikona funguje (ak je)
- ✅ Start Menu položka funguje
- ✅ Uninstaller funguje správne
-
Test upgrade:
- Zmeňte verziu v Setup properties (napr. 1.0.0 → 1.0.1)
- Rebuild
- Nainštalujte cez starú verziu
- Overte že upgrade prebehol bez chýb
11. Distribúcia
MSI súbor je pripravený na distribúciu:
- Môžete ho nahrať na web
- Poslať emailom
- Distribuovať na USB
- Nie je potrebný žiadny iný súbor
Veľkosť inštalátora:
- Framework-dependent (vyžaduje .NET 9): ~5-10 MB
- Self-contained (zahrnutý .NET runtime): ~60-80 MB
12. Riešenie problémov
"The project could not be opened"
- Príčina: Rozšírenie nie je nainštalované
- Riešenie: Nainštalujte "Microsoft Visual Studio Installer Projects"
"Unable to update dependencies"
- Príčina: Konflikt verzií
- Riešenie: Použite Project Output namiesto manuálneho pridávania súborov
MSI zlyhá pri inštalácii
- Skontrolujte Windows Event Log (Application)
- Zapnite MSI logging:
msiexec /i BoxPacker3D.Setup.msi /l*v install.log
items.db sa neprenesie
- V Properties súboru
items.dboverte:- Build Action: None alebo Content
- Copy to Output Directory: Copy if newer
- Pridajte manuálne do Application Folder v Setup projekte
Porovnanie: VS Installer vs Inno Setup
| Feature | VS Installer Projects | Inno Setup |
|---|---|---|
| Výstup | MSI | EXE |
| GUI | ✅ Visual Studio | ❌ Text editor |
| Verzovanie | ⚠️ Binárny .vdproj | ✅ Text .iss |
| Cena | ✅ Zadarmo | ✅ Zadarmo |
| Jednoduchosť | ✅ Drag & drop | ⚠️ Scripting |
| Flexibilita | ⚠️ Obmedzená | ✅ Vysoká |
| Windows štandard | ✅ MSI natívny | ⚠️ EXE custom |
| CI/CD | ⚠️ Potrebuje VS | ✅ Command-line |
Ďalšie kroky
- Nainštalujte rozšírenie
- Vytvorte Setup projekt
- Pridajte súbory pomocou Project Output
- Nastavte vlastnosti
- Build a test
- Distribuujte MSI
Tip: Ak plánujete často updatovať, zachovajte UpgradeCode konštantný a len zvyšujte verziu!