# Windows Development Ortam Kurulum Rehberi

Bu doküman, ImajViewer Flutter projesini Windows üzerinde geliştirmek için gerekli ortamın sıfırdan kurulmasını adım adım anlatır.

## Gereksinimler

| Araç | Minimum Versiyon | Açıklama |
|------|-----------------|----------|
| Flutter SDK | 3.27+ (stable) | UI framework |
| Visual Studio 2022 | Build Tools veya Community | C++ derleyici (MSVC) |
| CMake | 3.14+ | Build sistemi |
| Inno Setup | 6.x | Windows installer (.exe) oluşturma |

## Adım 1: Flutter SDK Kurulumu

### Yöntem A: Resmi kurulum (Önerilen)

1. [Flutter SDK'yı indirin](https://docs.flutter.dev/get-started/install/windows)
2. ZIP'i `C:\src\flutter` dizinine çıkarın
3. PATH'e ekleyin:

```powershell
# PowerShell (Admin)
[Environment]::SetEnvironmentVariable(
  "PATH",
  "$([Environment]::GetEnvironmentVariable("PATH", "Machine"))\;C:\src\flutter\bin",
  "Machine"
)
```

4. Yeni terminalde doğrulayın:

```powershell
flutter doctor
```

### Yöntem B: Winget ile kurulum

```powershell
winget install --id OpenFlutter.FlutterSDK
```

### Flutter doctor kontrolleri

```powershell
flutter doctor
```

Çıktıda `[✗]` işaretli bileşenler için önerilen adımları uygulayın. En azından şunlar `✓` olmalı:

- Flutter
- Android toolchain (opsiyonel, sadece mobile geliştirme için)
- Visual Studio (eğer kuruluysa)
- Connected device (Windows)

## Adım 2: Visual Studio 2022 Build Tools Kurulumu

Flutter Windows build'i için MSVC C++ derleyicisi gerekir.

### Seçenek A: Visual Studio Build Tools (Sadece build araçları)

1. [Visual Studio Build Tools 2022](https://visualstudio.microsoft.com/visual-cpp-build-tools/) indirin
2. Kurulum sihirbazında **"Desktop development with C++"** workload'unu işaretleyin
3. Aşağıdaki bileşenler otomatik seçilecektir:
   - MSVC v143 - VS 2022 C++ x64/x86 build tools
   - Windows 10/11 SDK
   - CMake tools (opsiyonel ama önerilir)

### Seçenek B: Visual Studio Community (Tam IDE)

1. [Visual Studio Community 2022](https://visualstudio.microsoft.com/vs/community/) indirin
2. Kurulumda **"Desktop development with C++"** workload'unu seçin

### Doğrulama

```powershell
cl
```

Çıktıda `Microsoft (R) C/C++ Optimizing Compiler` görünmelidir.

## Adım 3: CMake Kurulumu

Visual Studio Build Tools ile birlikte gelir ancak bağımsız kurulum da yapılabilir.

### Winget ile:

```powershell
winget install --id Kitware.CMake
```

### Doğrulama:

```powershell
cmake --version
```

## Adım 4: Inno Setup 6 Kurulumu

Windows installer (.exe) oluşturmak için gereklidir.

1. [Inno Setup 6](http://www.jrsoftware.org/isdl.php#stable) indirin (`is.exe`)
2. Kurulumu tamamlayın (varsayılan: `C:\Program Files (x86)\Inno Setup 6`)

### Doğrulama:

```powershell
Test-Path "C:\Program Files (x86)\Inno Setup 6\ISCC.exe"
```

## Adım 5: Projeyi Hazırlama

```powershell
cd C:\projects\imajviewer

# Bağımlılıkları indir
flutter pub get

# Analiz et
flutter analyze

# Test çalıştır
flutter test
```

## Adım 6: Windows Build

### Debug build:

```powershell
flutter build windows --debug
```

Çıktı: `build\windows\x64\runner\Debug\`

### Release build:

```powershell
flutter build windows --release
```

Çıktı: `build\windows\x64\runner\Release\`

## Adım 7: Installer Oluşturma (Inno Setup)

```powershell
# Release build yapıldıktan sonra
& "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" windows\installer.iss
```

Çıktı: `dist\imajviewer_setup_1.1.0.exe`

## Tek Komutla Her Şey

Tüm build + installer pipeline'ını tek komutla çalıştırın:

```powershell
.\build-windows.ps1
```

Bu script:
1. `flutter pub get`
2. `flutter build windows --release`
3. Inno Setup ile `.exe` installer oluşturur

## Sorun Giderme

### "Unable to find Visual Studio installation" hatası

```powershell
flutter config --enable-windows-desktop
```

Visual Studio 2022'nin doğru kurulduğunu `flutter doctor` ile kontrol edin.

### CMake hataları

CMake'in PATH'te olduğundan emin olun:

```powershell
$env:PATH += ";C:\Program Files\CMake\bin"
cmake --version
```

### Inno Setup bulunamadı

`build-windows.ps1` script'i otomatik arar. Manuel çalıştırmak için:

```powershell
& "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" windows\installer.iss
```

### Flutter doctor'da Android SDK uyarısı

Sadece desktop geliştirme yapıyorsanız bu uyarıları görmezden gelebilirsiniz.

## Kurulum Sonrası

Ortam hazır olduğunda:

```powershell
# Build + installer
.\build-windows.ps1

# Manuel kurulum (build çıktılarından)
.\install.ps1

# Uninstall
.\uninstall.ps1
```

## Sistem Gereksinimleri (Minimum)

- Windows 10 (1809) veya üzeri
- 4 GB RAM (8 GB önerilir)
- ~4 GB disk alanı (Flutter SDK + VS Build Tools + proje)
- x64 mimari
