Go to file
duffyduck 6a9a73106d Add release script for automated build and Gitea upload
Handles version bump, build, Inno Setup via Docker, git tag,
push, Gitea release creation and setup.exe upload in one step.

Usage: ./release.sh 0.1.0.0 "Release description"

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 10:40:32 +02:00
installer Switch to .NET 8 for cross-platform build support 2026-04-03 10:33:21 +02:00
src/StarfaceOutlookSync Switch to .NET 8 for cross-platform build support 2026-04-03 10:33:21 +02:00
.gitignore Update .gitignore for C# standalone app 2026-04-03 10:26:39 +02:00
README.md Restructure README: Docker as preferred installer build method 2026-04-03 10:37:48 +02:00
StarfaceOutlookSync.sln Rewrite as standalone C# WinForms app 2026-04-03 10:26:58 +02:00
release.sh Add release script for automated build and Gitea upload 2026-04-03 10:40:32 +02:00

README.md

Starface Kontakt-Sync

Windows-Anwendung zur bidirektionalen Synchronisation von Kontakten zwischen Microsoft Outlook und einer Starface Telefonanlage.

Funktionen

  • Bidirektionale Synchronisation von Kontakten zwischen Outlook und Starface
  • Profil-System zum Verwalten mehrerer Sync-Konfigurationen (verschiedene Adressbuecher oder Anlagen)
  • Starface-Adressbuecher: Zentrales Adressbuch, persoenliches Adressbuch und Tag-basierte Adressbuecher
  • Outlook-Kontaktordner: Frei waehlbarer Kontaktordner als Sync-Ziel
  • Sync-Richtung konfigurierbar: Outlook -> Starface, Starface -> Outlook oder bidirektional
  • Intelligentes Matching: Kontakte werden anhand von E-Mail-Adresse oder Name abgeglichen
  • Aenderungserkennung: Nur geaenderte Kontakte werden uebertragen (Hash-basiert)
  • Auto-Sync: Optionaler automatischer Sync in konfigurierbarem Intervall
  • System Tray: Laeuft im Hintergrund, Schnell-Sync per Rechtsklick
  • Kompatibel mit Outlook Classic und dem neuen Outlook
  • Komplett lokal: Kein Exchange, kein Microsoft 365, kein Cloud-Konto erforderlich

Voraussetzungen

  • Windows 10/11
  • .NET 8 Desktop Runtime (Setup prueft und verlinkt die Download-Seite falls noetig)
  • Microsoft Outlook (Classic oder Neu, beliebige Version)
  • Starface Telefonanlage ab Version 6.7 (REST-API)

Installation beim Kunden

Setup ausfuehren

  1. StarfaceOutlookSync_Setup_0.0.0.1.exe ausfuehren
  2. Installationsoptionen waehlen:
    • Desktop-Verknuepfung erstellen (optional)
    • Bei Windows-Anmeldung automatisch starten (empfohlen)
  3. Fertig - die App startet automatisch

Nach der Installation

  1. App starten (Tray-Icon oder Desktop-Verknuepfung)
  2. "Neues Profil" klicken
  3. Starface-Verbindungsdaten eingeben (Host, Login-ID, Kennwort)
  4. "Verbindung testen" und "Adressbuecher laden"
  5. Starface-Adressbuch und Outlook-Kontaktordner waehlen
  6. Speichern und "Jetzt synchronisieren"

Deinstallation

Ueber Windows Einstellungen -> Apps oder die Systemsteuerung. Benutzerdaten (Profile, Mappings) werden mit entfernt.

Entwicklung

Voraussetzungen (Build)

  • .NET 8 SDK (laeuft auf Windows, Linux und macOS)
  • Fuer den Installer: Inno Setup 6 (Windows) oder Docker (Linux)

.NET SDK installieren

Windows:

winget install Microsoft.DotNet.SDK.8

Debian/Ubuntu:

# Ueber das offizielle Install-Script:
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
chmod +x dotnet-install.sh
./dotnet-install.sh --channel 8.0
export PATH="$HOME/.dotnet:$PATH"

Bauen

Das Projekt kann sowohl unter Windows als auch unter Linux gebaut werden. Die fertige EXE laeuft nur auf Windows (WinForms + COM Interop).

# Release-Build
dotnet build src/StarfaceOutlookSync/StarfaceOutlookSync.csproj -c Release

# Oder publish (mit allen Abhaengigkeiten):
dotnet publish src/StarfaceOutlookSync/StarfaceOutlookSync.csproj -c Release

Build-Ausgabe: src/StarfaceOutlookSync/bin/Release/net8.0-windows/win-x64/

Installer erstellen

Die Setup-EXE wird mit Inno Setup 6 erstellt.

Linux (Docker - empfohlen):

Einfachster Weg unter Linux. Baut und packt alles in einem Schritt:

# 1. Release bauen
dotnet build src/StarfaceOutlookSync/StarfaceOutlookSync.csproj -c Release

# 2. Installer erstellen
docker run --rm -v "$PWD:/work" amake/innosetup installer/setup.iss

Die fertige Setup-EXE liegt danach in dist/.

Komplett als Einzeiler (Build + Installer):

dotnet build src/StarfaceOutlookSync/StarfaceOutlookSync.csproj -c Release && docker run --rm -v "$PWD:/work" amake/innosetup installer/setup.iss

Windows:

  1. Inno Setup 6 installieren
  2. installer/setup.iss oeffnen und kompilieren
  3. Setup-EXE wird in dist/ erstellt

Oder per Kommandozeile:

"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" installer\setup.iss

Linux (Wine - Alternative falls kein Docker vorhanden):

# Einmalig: Inno Setup in Wine installieren
sudo apt install wine
wine ~/Downloads/innosetup-6.x.exe

# Kompilieren
wine "$HOME/.wine/drive_c/Program Files (x86)/Inno Setup 6/ISCC.exe" installer/setup.iss

Projektstruktur

outlook-sync/
├<><E2949C>─ StarfaceOutlookSync.sln          # Visual Studio Solution
├── installer/
│   └── setup.iss                     # Inno Setup Script
└── src/StarfaceOutlookSync/
    ├── StarfaceOutlookSync.csproj    # Projektdatei
    ├── Program.cs                    # Entry Point (Single Instance)
    ├── Models/
    │   ├── UnifiedContact.cs         # Kontakt-Datenmodell
    │   └── SyncProfile.cs           # Profile, Mappings, Ergebnisse
    ├── Services/
    │   ├── StarfaceApiClient.cs      # Starface REST-API Client
    │   ├── OutlookContactsService.cs # Outlook COM Interop
    │   ├── ProfileManager.cs         # Profilverwaltung (AppData)
    │   └── SyncEngine.cs            # Bidirektionale Sync-Logik
    └── UI/
        ├── MainForm.cs              # Hauptfenster + System Tray
        ├── ProfileEditorForm.cs     # Profil anlegen/bearbeiten
        ├── SyncProgressForm.cs      # Sync-Fortschritt mit Log
        └── AboutForm.cs             # Info-Dialog

Synchronisierte Kontaktfelder

Feld Outlook (COM) Starface (REST)
Vorname FirstName NAME
Nachname LastName SURNAME
Firma CompanyName COMPANY
Position JobTitle JOB_TITLE
E-Mail Email1Address EMAIL
Telefon (Buero) BusinessTelephoneNumber OFFICE_PHONE_NUMBER
Mobiltelefon MobileTelephoneNumber MOBILE_PHONE_NUMBER
Telefon (Privat) HomeTelephoneNumber PRIVATE_PHONE_NUMBER
Fax BusinessFaxNumber FAX_NUMBER
Strasse BusinessAddressStreet STREET
Stadt BusinessAddressCity CITY
PLZ BusinessAddressPostalCode POSTAL_CODE
Bundesland BusinessAddressState STATE
Land BusinessAddressCountry COUNTRY
Webseite WebPage URL
Notizen Body NOTE
Anrede Title SALUTATION
Geburtstag Birthday BIRTHDAY

Technische Details

Architektur

Die Anwendung ist eine native Windows-App (WinForms, .NET Framework 4.8). Sie greift direkt per COM Interop auf Outlook-Kontakte zu und kommuniziert per REST-API mit der Starface. Kein Webserver, kein Browser, kein Exchange erforderlich.

StarfaceOutlookSync.exe
  ├── COM Interop -> Outlook Kontakte (lokal)
  ├── REST-API    -> Starface Telefonanlage (HTTPS)
  └── Dateisystem -> Profile & Mappings (%AppData%)

Datenspeicherung

Alle Daten werden lokal pro Benutzer gespeichert:

  • %AppData%\StarfaceOutlookSync\profiles.json - Sync-Profile mit Zugangsdaten
  • %AppData%\StarfaceOutlookSync\mappings\ - Kontakt-Zuordnungen pro Profil

SSL-Zertifikate

Self-signed Zertifikate der Starface werden automatisch akzeptiert. Es ist kein manueller Zertifikat-Import erforderlich.

Lizenz

Proprietaer - Alle Rechte vorbehalten.

HackerSoft - Hacker-Net Telekommunikation Stefan Hacker Am Wunderburgpark 5b 26135 Oldenburg