Files
pgsql-jellyfin/docs/INSTALLER_NEEDS_UPDATE.md
wjones 61c71c1882 Update installer: add docs, scripts, and Start Menu tools
- Expanded [Files] section to include key documentation and PowerShell/batch scripts for database management
- Fixed INSTALLER_GUIDE.md path and improved file organization in installer script
- Added Start Menu shortcuts for documentation and database tools
- Updated .gitignore to track wwwroot/*
- Changed .csproj.user to use a relative publish profile name
- Added INSTALLER_NEEDS_UPDATE.md and INSTALLER_UPDATE_COMPLETE.md for documentation and change tracking
- Improves user onboarding, support, and maintainability
2026-02-28 16:45:58 -05:00

263 lines
9.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🔍 Jellyfin Setup Installer Analysis
## Current Status: ✅ Mostly Good, Minor Updates Recommended
---
## What the Installer Currently Includes
### ✅ Already Working Correctly:
**Line 38:**
```inno
Source: "lib\Release\net11.0\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
```
This line **already copies everything** from `lib\Release\net11.0`, which includes:
- ✅ All DLLs and executables
- ✅ SQL files in `sql/` directory (auto-included)
- ✅ Any subdirectories and files
**Why it works:**
- The `recursesubdirs createallsubdirs` flags copy all subdirectories
- Since we added SQL files to the project with `<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>`, they're in the build output
- The installer automatically includes them!
---
## 📋 Recommended Updates
### 1. ⚠️ Documentation Reference (Minor Issue)
**Current (Line 43):**
```inno
Source: "INSTALLER_GUIDE.md"; DestDir: "{app}\docs"; DestName: "INSTALLER_GUIDE.txt"
```
**Problem:** This file is now in `docs/INSTALLER_GUIDE.md`
**Fix:**
```inno
Source: "docs\INSTALLER_GUIDE.md"; DestDir: "{app}\docs"; DestName: "INSTALLER_GUIDE.txt"
```
### 2. 📚 Add Additional Documentation (Optional)
Consider adding key documentation files for users:
```inno
; Copy essential documentation
Source: "README.md"; DestDir: "{app}"; Flags: isreadme; DestName: "README.txt"
Source: "docs\START_HERE.md"; DestDir: "{app}\docs"; DestName: "START_HERE.txt"
Source: "docs\QUICKSTART_POSTGRESQL.md"; DestDir: "{app}\docs"; DestName: "QUICKSTART_POSTGRESQL.txt"
Source: "docs\QUICK_REFERENCE.md"; DestDir: "{app}\docs"; DestName: "QUICK_REFERENCE.txt"
Source: "docs\INSTALLER_GUIDE.md"; DestDir: "{app}\docs"; DestName: "INSTALLER_GUIDE.txt"
Source: "docs\ADD_INDEXES_GUIDE.md"; DestDir: "{app}\docs"; DestName: "ADD_INDEXES_GUIDE.txt"
Source: "docs\DIAGNOSTICS_COMPLETE_SUMMARY.md"; DestDir: "{app}\docs"; DestName: "DIAGNOSTICS_COMPLETE_SUMMARY.txt"
```
### 3. 🛠️ Add PowerShell Scripts (Recommended)
Include the database management scripts:
```inno
; Database management scripts
Source: "db-config.ps1"; DestDir: "{app}"; Flags: ignoreversion
Source: "Fix-ItemValues-Performance.ps1"; DestDir: "{app}"; Flags: ignoreversion
Source: "db-quick.ps1"; DestDir: "{app}"; Flags: ignoreversion
Source: "publish-with-sql.ps1"; DestDir: "{app}"; Flags: ignoreversion
Source: "Add-All-Indexes.bat"; DestDir: "{app}"; Flags: ignoreversion
```
### 4. 📖 Add Shortcuts to Documentation
Add a shortcut to the documentation:
```inno
[Icons]
; Add documentation shortcut
Name: "{group}\Documentation"; Filename: "{app}\docs"; Comment: "View Jellyfin documentation"
Name: "{group}\Database Management"; Filename: "{app}\db-quick.ps1"; Comment: "Database management tools"
```
---
## 🎯 Priority Recommendations
### Must Do (Critical):
1.**No critical changes needed!** SQL files are already included automatically
### Should Do (Important):
1. 🔧 **Fix documentation path** - Update INSTALLER_GUIDE.md path
2. 📄 **Add START_HERE.md** - Helps new users get started
### Could Do (Nice to Have):
1. 📚 Add more documentation files
2. 🛠️ Include PowerShell scripts for database management
3. 🔗 Add shortcuts to documentation and scripts
---
## 📝 Proposed Updated [Files] Section
```inno
[Files]
; ============================================================================
; Application Files
; ============================================================================
; Copy all files from lib\Release\net11.0 (includes SQL files automatically)
Source: "lib\Release\net11.0\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; ============================================================================
; Configuration Files
; ============================================================================
; Copy startup configuration with Windows defaults
Source: "Jellyfin.Server\Resources\Configuration\startup.windows.json"; DestDir: "{commonappdata}\jellyfin"; DestName: "startup.json"; Flags: onlyifdoesntexist
; ============================================================================
; Database Management Scripts
; ============================================================================
; PowerShell scripts for database management
Source: "db-config.ps1"; DestDir: "{app}"; Flags: ignoreversion
Source: "Fix-ItemValues-Performance.ps1"; DestDir: "{app}"; Flags: ignoreversion
Source: "db-quick.ps1"; DestDir: "{app}"; Flags: ignoreversion
Source: "Add-All-Indexes.bat"; DestDir: "{app}"; Flags: ignoreversion
; ============================================================================
; Documentation
; ============================================================================
; Essential documentation
Source: "README.md"; DestDir: "{app}"; Flags: isreadme; DestName: "README.txt"
Source: "docs\START_HERE.md"; DestDir: "{app}\docs"; DestName: "START_HERE.txt"
Source: "docs\QUICKSTART_POSTGRESQL.md"; DestDir: "{app}\docs"; DestName: "QUICKSTART_POSTGRESQL.txt"
Source: "docs\INSTALLER_GUIDE.md"; DestDir: "{app}\docs"; DestName: "INSTALLER_GUIDE.txt"
Source: "docs\QUICK_REFERENCE.md"; DestDir: "{app}\docs"; DestName: "QUICK_REFERENCE.txt"
; Performance and troubleshooting
Source: "docs\ADD_INDEXES_GUIDE.md"; DestDir: "{app}\docs"; DestName: "ADD_INDEXES_GUIDE.txt"
Source: "docs\DIAGNOSTICS_COMPLETE_SUMMARY.md"; DestDir: "{app}\docs"; DestName: "DIAGNOSTICS_COMPLETE_SUMMARY.txt"
Source: "docs\POSTGRESQL_TROUBLESHOOTING.md"; DestDir: "{app}\docs"; DestName: "POSTGRESQL_TROUBLESHOOTING.txt"
```
---
## 📝 Proposed Updated [Icons] Section
```inno
[Icons]
; ============================================================================
; Start Menu Shortcuts
; ============================================================================
; Application shortcuts
Name: "{group}\Jellyfin Server"; Filename: "{app}\jellyfin.exe"; WorkingDir: "{app}"; Comment: "Start Jellyfin media server"
Name: "{group}\Jellyfin Web Interface"; Filename: "http://localhost:8096"; Comment: "Open Jellyfin in web browser"
; Data and logs
Name: "{group}\Jellyfin Logs"; Filename: "{commonappdata}\jellyfin\log"; Comment: "View Jellyfin log files"
Name: "{group}\Jellyfin Data"; Filename: "{commonappdata}\jellyfin"; Comment: "Jellyfin data directory"
; Documentation and tools
Name: "{group}\Documentation"; Filename: "{app}\docs"; Comment: "View Jellyfin documentation"
Name: "{group}\Database Tools"; Filename: "powershell.exe"; Parameters: "-ExecutionPolicy Bypass -File ""{app}\db-quick.ps1"""; WorkingDir: "{app}"; Comment: "Database management tools"
Name: "{group}\Performance Optimization"; Filename: "notepad.exe"; Parameters: """{app}\docs\ADD_INDEXES_GUIDE.txt"""; Comment: "Database performance guide"
; Uninstall
Name: "{group}\{cm:UninstallProgram,Jellyfin PostgreSQL}"; Filename: "{uninstallexe}"
; Desktop shortcut (optional)
Name: "{commondesktop}\Jellyfin Server"; Filename: "{app}\jellyfin.exe"; WorkingDir: "{app}"; Tasks: desktopicon
```
---
## ✅ What's Already Working
1. **SQL files automatically included**
- Because `lib\Release\net11.0\*` with `recursesubdirs` flag copies everything
- The SQL files we added to the project are in the build output
2. **Service installation**
- Windows Service setup is already configured
3. **PostgreSQL configuration wizard**
- Installer has a wizard page for PostgreSQL setup
4. **Firewall rules**
- Automatically adds Firewall exception
5. **Proper permissions**
- Sets correct permissions on data directories
---
## 🚀 Quick Implementation
### Minimal Update (Fix documentation path):
```inno
; Line 43 - Just fix this one line
Source: "docs\INSTALLER_GUIDE.md"; DestDir: "{app}\docs"; DestName: "INSTALLER_GUIDE.txt"
```
### Recommended Update (Add essentials):
Add after line 43:
```inno
Source: "docs\START_HERE.md"; DestDir: "{app}\docs"; DestName: "START_HERE.txt"
Source: "docs\QUICKSTART_POSTGRESQL.md"; DestDir: "{app}\docs"; DestName: "QUICKSTART_POSTGRESQL.txt"
Source: "db-config.ps1"; DestDir: "{app}"; Flags: ignoreversion
Source: "Fix-ItemValues-Performance.ps1"; DestDir: "{app}"; Flags: ignoreversion
Source: "Add-All-Indexes.bat"; DestDir: "{app}"; Flags: ignoreversion
```
---
## 📊 Summary
### Current State:
-**SQL files**: Already included automatically
-**Core functionality**: Working perfectly
- ⚠️ **Documentation path**: Needs minor fix
- **Scripts**: Not included (recommended to add)
### Priority:
1. **Critical**: None! Everything essential works
2. **High**: Fix documentation path
3. **Medium**: Add START_HERE.md and key docs
4. **Low**: Add PowerShell scripts and shortcuts
### Impact of Not Updating:
- **SQL files**: No impact - already working ✅
- **Documentation**: Minor - one guide has wrong path
- **Scripts**: Users would need to download separately or access from source
---
## 🎯 Recommendation
**Minimum viable update:**
```inno
; Just fix line 43
Source: "docs\INSTALLER_GUIDE.md"; DestDir: "{app}\docs"; DestName: "INSTALLER_GUIDE.txt"
```
**Recommended update:**
Add the [Files] and [Icons] sections from the "Proposed Updated" sections above.
**The installer will work fine without updates**, but adding the scripts and documentation would be a nice touch for users! 🎉
---
## 📝 Files to Create
I can create:
1. `jellyfin-setup-updated.iss` - Updated installer script with all recommendations
2. `INSTALLER_UPDATE_GUIDE.md` - Step-by-step guide for applying updates
Would you like me to create these files?