Blog
Practical articles from KomuraSoft LLC about website development, SEO, Google Ads, Windows development, legacy asset reuse, and bug investigation.
Talk to KomuraSoft LLC about website development, SEO, Google Ads, existing site improvement, Windows development, or technical consulting.
Talk about Website Development / SEO / Google Ads-
A Minimum Security Checklist for Windows Application Development
A minimum security checklist for Windows app development (WPF, WinForms, WinUI, C++, C#) covering privileges, signing, secrets, communication, input validati...
-
What Is the .NET Generic Host? DI, Configuration, Logging, and BackgroundService at a Glance
How Generic Host ties DI, configuration, logging, lifetime, and BackgroundService together — including how CreateApplicationBuilder relates to WebApplication...
-
What Native AOT Is in .NET - Sorting It Out vs JIT, ReadyToRun, and Trimming First
A practical intro to Native AOT in .NET: how it differs from JIT, ReadyToRun, trimming, and source generators, what you actually gain at startup and in distr...
-
What COM / ActiveX / OCX Are - Differences and How They Relate
A compact guide that organizes COM, ActiveX, and OCX as three layers - foundation, component, and file - and covers their relationship to OLE, how to handle ...
-
Choosing Between PeriodicTimer, System.Threading.Timer, and DispatcherTimer - Sorting Out Periodic Work in .NET
A practical intro to periodic work in .NET: how PeriodicTimer, System.Threading.Timer, and DispatcherTimer differ, and how to choose between them for async w...
-
How to Ship C# as a Native DLL with Native AOT - Calling UnmanagedCallersOnly Exports from C/C++
A practical guide to publishing a C# class library as a native DLL with Native AOT and calling it from C/C++ via UnmanagedCallersOnly — covering design princ...
-
Why Bring Generic Host / BackgroundService into a Desktop App - Startup, Lifetime, and Graceful Shutdown Get Much Easier to Reason About
If startup, shutdown, exception handling, and periodic work are starting to bleed into the UI of your WPF or WinForms resident app, this is for you. With a m...
-
ActiveX / OCX today - a keep, wrap, replace decision table
When you find ActiveX or OCX in a project, the real choice is keep, wrap, or replace. This decision table walks through bitness, browser dependence, vendor s...
-
WPF / WinForms async/await and the UI Thread on One Page - Where Continuations Resume, Dispatcher, ConfigureAwait, and Why .Result / .Wait() Hang
A one-page summary of how async/await interacts with the UI thread in WPF / WinForms. A decision table covering where execution resumes after await, what Con...
-
When an Industrial Camera Control App Suddenly Crashes a Month In (Part 2) - What Application Verifier Is and How to Build a Failure-Path Test Setup
A practical guide to Application Verifier and how to combine Handles, Heaps, Low Resource Simulation, and !htrace into a failure-path test setup for Windows ...