Dan Delivers

Fallstudie

Eigenes Projekt · Windows-App

AutoDark: Windows-Designwechsel, im Microsoft Store veröffentlicht.

Automatischer Wechsel zwischen hellem und dunklem Modus in Windows 11 bei Sonnenaufgang und Sonnenuntergang. Ein schlankes EIN/AUS-Tool, entwickelt von Danilo Stoletovic und im Microsoft Store veröffentlicht.

Die Anwendung

  • App-Symbol von AutoDark
  1. Das Problem

    Seit Jahren wollte ich, dass Windows sich nach dem Tageslicht richtet. Die Alternativen, die ich ausprobiert habe, brachten mehr Komplexität und Hintergrundaktivität mit, als mir lieb war. Eine einfache Windows-Funktion sollte keine komplizierte Software brauchen. Ich wollte einen Schalter, kein neues Hobby.

  2. Die Lösung

    Ich habe eine native .NET-App für Windows mit einer minimalen EIN/AUS-Oberfläche gebaut. AutoDark berechnet Sonnenaufgang und Sonnenuntergang anhand des Windows-Standorts oder manuell eingegebener Koordinaten, nutzt tagsüber den hellen und nachts den dunklen Modus und übergibt geplante Ausführungen an den Windows Task Scheduler. Wer das Fenster schließt, beendet die App. Wird die Automatik ausgeschaltet, entfernt sie die Aufgabe und stellt die gespeicherten Designeinstellungen wieder her.

  3. Die Aufgabe klein halten

    Ein klar begrenzter Funktionsumfang und geringer Ressourcenverbrauch im Hintergrund waren feste Designvorgaben. Es gibt weder ein Tray-Symbol noch einen dauerhaft laufenden Dienst: Windows startet bei Bedarf kurze Ausführungen. Kein Konto, keine Telemetrie, kein Einstellungs-Labyrinth. Das sind Architekturentscheidungen, keine Performance-Benchmarks.

  4. Ein Paket ändert die Spielregeln

    Die Integration in das Windows-Designsystem musste das Verhalten von MSIX berücksichtigen. Die ungepackte App nimmt gezielte Registry-Änderungen vor. Die aktuelle paketierte Implementierung wendet ein kopiertes Design über den Windows Theme Manager an und ändert dabei die Hell-/Dunkelmodi, ohne Hintergrundbild, Mauszeiger, Symbole oder Sounds zu übernehmen. Diese Schnittstelle ist undokumentiert, deshalb muss Kompatibilität getestet werden, statt sie einfach vorauszusetzen. Die geplante Ausführung der paketierten App nutzt einen versionsunabhängigen Ausführungsalias statt eines versionsgebundenen Installationspfads.

  5. Die Sandbox sagte Nein

    Die Einreichung im Store bedeutete auch, sich mit Einschränkungen bei Berechtigungen auseinanderzusetzen. Die abgelehnte Berechtigung unvirtualizedResources wurde entfernt. In einem separaten AppContainer-Experiment ließen sich das Testprogramm starten und der Theme Manager initialisieren. Das Anwenden eines lesbaren, mitgelieferten Designs wurde jedoch verweigert, und der Zugriff auf den Task Scheduler schlug fehl. Das war eine Untersuchung, keine ausgelieferte Sandbox-Funktion. Das aktuelle Produktionsmanifest behält runFullTrust für die Ausführung als normaler Desktop-Benutzer bei; es fordert keine Administratorrechte an. Diese lokalen Experimente belegen weder das Verhalten auf jedem Windows-Build noch die genaue Paketversion, die aktuell im Store gelistet ist.

  6. Ausliefern gehört zur Entwicklung

    Ich habe die MSIX-Paketierung und -Validierung auf Paketidentität, Version, Assets und Ausführungsalias der Anwendung abgestimmt und ein Paket für die manuelle Einreichung im Partner Center vorbereitet. Angaben zum Store-Eintrag, Datenschutz- und Berechtigungserklärungen, Berechtigungseinschränkungen und Kompatibilitätsprüfungen gehören alle zur Auslieferung. Ein erfolgreicher Build allein bringt eine App noch nicht in die Hände der Nutzer.

  7. Das Ergebnis

    AutoDark ist eine funktionierende Anwendung, die unter dem Herausgebernamen Danilo Stoletovic öffentlich im Microsoft Store verfügbar ist. Das ist der Meilenstein: ein echtes Tool, das sich über einen öffentlichen Vertriebskanal installieren lässt. Die Veröffentlichung im Store ist ein Vertriebsweg, keine Empfehlung von Microsoft.

  8. Der Button war der einfache Teil

    Hinter einer kleinen Oberfläche kann jede Menge Plattformarbeit stecken. Paketierung verändert das Ausführungsverhalten. Berechtigungsmodelle können die Kernfunktion blockieren. Der Vertrieb hat seine eigenen Anforderungen. Die Lektion: Software auszuliefern heißt auch, Kompatibilität und Paketierung sicherzustellen und sie zu den Nutzern zu bringen – nicht nur Code zu schreiben.

AutoDark aus dem Microsoft Store holen (öffnet sich in einem neuen Tab)

Unter Danilo Stoletovic im Microsoft Store veröffentlicht.

Überzeug dich selbst

Passende Leistung: Web-Apps & KI-Integrationen

Mein Stack

Kann alles ein bisschen. Nichts so richtig.
Liefere trotzdem den ganzen verdammten Kram

  • React
  • TypeScript
  • Node.js
  • Python
  • Kotlin
  • Flutter
  • C#
  • Docker
  • Linux
  • Cloudflare
  • Vercel

Hast du ein ähnliches Problem?