Casestudy
Eigen project · Windows-app
AutoDark: automatisch van Windows-thema wisselen, uitgebracht op Microsoft Store.
Automatisch de lichte en donkere modus van Windows 11 instellen bij zonsopkomst en zonsondergang. Een doelgerichte AAN/UIT-tool, gebouwd door Danilo Stoletovic en gepubliceerd op Microsoft Store.
De applicatie
Het probleem
Ik wilde al jaren dat Windows het daglicht zou volgen. De alternatieven die ik probeerde, brachten meer complexiteit en achtergrondactiviteit mee dan ik wilde. Voor een simpele Windows-functie zou je geen ingewikkelde software nodig moeten hebben. Ik wilde een schakelaar, geen nieuwe hobby.
De oplossing
Ik bouwde een native .NET-app voor Windows met een minimale AAN/UIT-interface. AutoDark berekent zonsopkomst en zonsondergang op basis van de Windows-locatie of handmatig ingevoerde coördinaten, gebruikt overdag de lichte modus en 's nachts de donkere modus, en laat geplande uitvoeringen over aan Windows Task Scheduler. Het venster sluiten beëindigt de app; automatisering UIT zetten verwijdert de taak en herstelt de opgeslagen thema-instellingen.
Houd de taak klein
Gerichte functionaliteit en een laag resourcegebruik op de achtergrond waren randvoorwaarden bij het ontwerp. Er is geen systeemvakpictogram of permanent actieve service: Windows start waar nodig korte uitvoeringen. Geen account, geen telemetrie, geen doolhof aan instellingen. Dit zijn architectuurkeuzes, geen prestatiebenchmarks.
Een pakket verandert de spelregels
De integratie met Windows-thema's moest rekening houden met het gedrag van MSIX. De app zonder pakket gebruikt gerichte registerwijzigingen; de huidige pakketversie past een gekopieerd thema toe via Windows Theme Manager en wijzigt de lichte en donkere modus zonder de achtergrond, cursors, pictogrammen en geluiden toe te passen. Die interface is ongedocumenteerd, dus compatibiliteit moet je testen, niet aannemen. De geplande uitvoering van de pakketversie gebruikt een versieonafhankelijke uitvoeringsalias in plaats van een installatiepad met versienummer.
De sandbox zei nee
Indienen bij de Store betekende ook omgaan met beperkingen op capabilities. Een afgewezen unvirtualizedResources-capability werd verwijderd. In een apart AppContainer-experiment lukte het om het testprogramma te starten en Theme Manager te initialiseren, maar het toepassen van een leesbaar meegeleverd thema werd geweigerd en toegang tot Task Scheduler mislukte. Dat was onderzoek, geen uitgebrachte sandboxfunctie. Het huidige productiemanifest behoudt runFullTrust voor uitvoering als gewone desktopgebruiker; het vraagt niet om beheerdersrechten. Deze lokale experimenten bewijzen niet hoe elke Windows-build zich gedraagt en geven niet aan welke exacte pakketversie momenteel in de Store staat.
Uitbrengen hoort bij het ontwikkelwerk
Ik bouwde MSIX-packaging en validatie rond de pakketidentiteit, versie, assets en uitvoeringsalias van de applicatie, met een pakket dat klaarstond voor handmatige indiening via Partner Center. Store-vermeldingen, privacy- en capabilityverklaringen, rechtenbeperkingen en compatibiliteitscontroles horen allemaal bij het opleveren. Met alleen een geslaagde build krijgt niemand je app in handen.
Het resultaat
AutoDark is een werkende applicatie die openbaar beschikbaar is via Microsoft Store, onder de uitgeversnaam Danilo Stoletovic. Dat is de mijlpaal: een echte tool die mensen via een openbaar distributiekanaal kunnen installeren. Publicatie in de Store is distributie, geen aanbeveling van Microsoft.
De knop was het makkelijke deel
Achter een kleine interface kan flink wat platformwerk schuilgaan. Packaging verandert hoe de app wordt uitgevoerd. Rechtenmodellen kunnen de kernfunctie blokkeren. Distributie stelt zijn eigen eisen. De les: software uitbrengen omvat ook compatibiliteit, packaging en de software bij gebruikers krijgen, niet alleen code schrijven.
Bekijk het zelf
Gerelateerde dienst: Webapps & AI-integraties
Mijn stack
Van alle markten thuis. Nergens meester in.
Maar ik lever wel het hele verdomde ding op