# rmtPocketWatcher - Distribution Guide

This guide explains how to distribute rmtPocketWatcher to end users.

## Available Distribution Formats

### 1. Standalone ZIP Package (Recommended)
**File**: `rmtPocketWatcher-Windows-v{version}.zip`
- **Size**: ~50-100MB (includes all dependencies)
- **Requirements**: Windows 10/11 (any edition)
- **Installation**: Extract ZIP and run `rmtpocketwatcher.exe`
- **Pros**: Works on any Windows system, no installation needed
- **Cons**: Larger download size

### 2. MSIX Installer
**File**: `rmtpocketwatcher.msix`
- **Size**: ~30-60MB
- **Requirements**: Windows 10 version 1809+ or Windows 11
- **Installation**: Double-click to install via Windows Package Manager
- **Pros**: Clean installation/uninstallation, automatic updates support
- **Cons**: Requires newer Windows versions

### 3. Portable Executable (Future)
**File**: `rmtPocketWatcher-Windows-Portable-v{version}.zip`
- **Size**: ~5-15MB (single executable)
- **Requirements**: Windows 10/11 + Visual C++ Redistributable
- **Installation**: Extract and run `rmtpocketwatcher.exe`
- **Pros**: Smallest download, truly portable
- **Cons**: May require additional runtime libraries

## Distribution Channels

### Direct Download
1. Upload files to your Gitea releases page
2. Users download appropriate version for their system
3. Provide installation instructions

### GitHub/Gitea Releases
- Automated via CI/CD pipeline
- Includes release notes and changelogs
- Multiple download options in one place

## User Instructions

### For Standalone ZIP (Most Users)
```
1. Download rmtPocketWatcher-Windows-v{version}.zip
2. Extract the ZIP file to any folder (e.g., Desktop, Program Files)
3. Double-click rmtpocketwatcher.exe to run
4. No installation or admin rights required
```

### For MSIX Installer (Advanced Users)
```
1. Download rmtpocketwatcher.msix
2. Double-click the file
3. Click "Install" when prompted
4. Find "rmtPocketWatcher" in Start Menu
5. Uninstall via Settings > Apps if needed
```

## System Requirements

### Minimum Requirements
- **OS**: Windows 10 version 1903 or later
- **RAM**: 4GB (8GB recommended)
- **Storage**: 200MB free space
- **Network**: Internet connection for price data

### Recommended Requirements
- **OS**: Windows 11
- **RAM**: 8GB or more
- **Storage**: 1GB free space (for data storage)
- **Network**: Stable broadband connection

## Troubleshooting

### Common Issues

#### "Windows protected your PC" SmartScreen Warning
- Click "More info" → "Run anyway"
- This happens because the app isn't digitally signed
- Consider code signing for production releases

#### Missing Visual C++ Runtime
- Download and install Microsoft Visual C++ Redistributable
- Usually only affects portable versions
- Standalone ZIP includes all dependencies

#### Antivirus False Positives
- Some antivirus software may flag the executable
- Add exception for rmtpocketwatcher.exe
- This is common with unsigned executables

#### App Won't Start
- Check Windows Event Viewer for error details
- Ensure .env file is present (for standalone version)
- Try running as administrator

### Performance Issues
- Close other resource-intensive applications
- Check network connectivity for real-time data
- Consider increasing Windows virtual memory

## Security Considerations

### For Developers
- Consider code signing certificates for production
- Implement automatic update verification
- Use HTTPS for all network communications

### For Users
- Download only from official sources
- Verify file checksums if provided
- Keep Windows and antivirus software updated

## Update Process

### Automatic Updates (Built-in)
- App checks for updates every 4 hours
- Shows notification banner when available
- Users can manually check via refresh button
- Downloads handled by system browser

### Manual Updates
- Download new version
- Replace old files with new ones (standalone)
- Or install new MSIX over existing installation

## Support Information

### Getting Help
- Check the GitHub/Gitea issues page
- Review the README.md file
- Contact Lambda Banking Conglomerate

### Reporting Issues
- Include Windows version and build number
- Describe steps to reproduce the problem
- Attach relevant log files if available
- Mention which distribution format you're using

## Developer Notes

### Building for Distribution
```powershell
# Create all distribution formats
.\build_windows.ps1 -Release

# Test the build
cd build\windows\standalone
.\rmtpocketwatcher.exe
```

### CI/CD Integration
- Builds are automated via GitHub Actions
- Releases are created automatically on version changes
- All distribution formats are included in releases

### Version Management
- Update version in `pubspec.yaml`
- Follow semantic versioning (MAJOR.MINOR.PATCH)
- Include changelog in release notes