126 lines
3.5 KiB
Markdown
126 lines
3.5 KiB
Markdown
# rmtPocketWatcher - Windows Build Instructions
|
|
|
|
This document explains how to build rmtPocketWatcher for Windows distribution.
|
|
|
|
## Prerequisites
|
|
|
|
- Flutter SDK 3.22.3 or later
|
|
- Windows 10/11 with Visual Studio Build Tools
|
|
- PowerShell (for advanced build script)
|
|
|
|
## Quick Build (Batch Script)
|
|
|
|
For a simple build process, use the batch script:
|
|
|
|
```cmd
|
|
build_windows.bat
|
|
```
|
|
|
|
This will create:
|
|
- `build\windows\standalone\rmtpocketwatcher.exe` - Standalone executable with all dependencies
|
|
- `build\rmtPocketWatcher-Windows-Standalone.zip` - Distribution archive
|
|
|
|
## Advanced Build (PowerShell Script)
|
|
|
|
For more control and MSIX installer creation:
|
|
|
|
```powershell
|
|
# Release build (recommended for distribution)
|
|
.\build_windows.ps1 -Release
|
|
|
|
# Debug build (for development)
|
|
.\build_windows.ps1 -Debug
|
|
```
|
|
|
|
This creates:
|
|
- **Standalone Package**: Complete folder with all dependencies
|
|
- **Portable Executable**: Single-file distribution (if possible)
|
|
- **MSIX Installer**: Windows Store-style installer
|
|
- **Distribution Archive**: ZIP file ready for sharing
|
|
|
|
## Output Files
|
|
|
|
After building, you'll find:
|
|
|
|
### Standalone Distribution
|
|
- `build\windows\standalone\` - Complete application folder
|
|
- `build\windows\standalone\rmtpocketwatcher.exe` - Main executable
|
|
- `build\windows\standalone\data\` - Flutter engine and assets
|
|
- `build\windows\standalone\VERSION.txt` - Version information
|
|
|
|
### Distribution Archives
|
|
- `build\rmtPocketWatcher-Windows-v{version}.zip` - Full standalone package
|
|
- `build\rmtPocketWatcher-Windows-Portable-v{version}.zip` - Portable version (exe only)
|
|
|
|
### Installer (if created)
|
|
- `build\windows\x64\runner\Release\*.msix` - Windows installer package
|
|
|
|
## Distribution Options
|
|
|
|
### Option 1: Standalone ZIP (Recommended)
|
|
- Share the `rmtPocketWatcher-Windows-v{version}.zip` file
|
|
- Users extract and run `rmtpocketwatcher.exe`
|
|
- No installation required
|
|
- All dependencies included
|
|
|
|
### Option 2: Portable Executable
|
|
- Share the `rmtPocketWatcher-Windows-Portable-v{version}.zip` file
|
|
- Contains only the executable
|
|
- Smallest download size
|
|
- May require Visual C++ Redistributable on target machine
|
|
|
|
### Option 3: MSIX Installer
|
|
- Share the `.msix` file
|
|
- Windows Store-style installation
|
|
- Automatic updates support
|
|
- Requires Windows 10 version 1809 or later
|
|
|
|
## Testing
|
|
|
|
To test the standalone build:
|
|
|
|
```cmd
|
|
cd build\windows\standalone
|
|
rmtpocketwatcher.exe
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Build Fails
|
|
- Ensure Flutter is properly installed: `flutter doctor`
|
|
- Check Windows development setup: `flutter doctor -v`
|
|
- Clean and retry: `flutter clean && flutter pub get`
|
|
|
|
### MSIX Creation Fails
|
|
- MSIX creation is optional and may fail on some systems
|
|
- The standalone executable will still be created
|
|
- Install Windows SDK if you need MSIX support
|
|
|
|
### Runtime Issues
|
|
- Ensure the `.env` file is present in the build directory
|
|
- Check that all assets are included in the `data` folder
|
|
- Verify Visual C++ Redistributable is installed on target machine
|
|
|
|
## CI/CD Integration
|
|
|
|
The build scripts are designed to work with the GitHub Actions workflow in `.gitea/workflows/release.yml`. The workflow automatically:
|
|
|
|
1. Builds both standalone and portable versions
|
|
2. Creates MSIX installer (if possible)
|
|
3. Packages everything for release
|
|
4. Uploads artifacts to the release
|
|
|
|
## Manual Flutter Commands
|
|
|
|
If you prefer manual control:
|
|
|
|
```cmd
|
|
# Basic build
|
|
flutter build windows --release
|
|
|
|
# Create MSIX (requires msix package)
|
|
flutter pub get
|
|
flutter pub run msix:create
|
|
```
|
|
|
|
Note: Manual builds won't include the packaging and organization provided by the build scripts. |