<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title type="text">KomuraSoft LLC Blog</title>
  <subtitle type="text">Windows / C# / COM engineering notes from KomuraSoft LLC.</subtitle>
  <id>https://comcomponent.com/en/feed.xml</id>
  <link rel="alternate" type="text/html" hreflang="en" href="https://comcomponent.com/en/blog/"/>
  <link rel="alternate" type="text/html" hreflang="ja" href="https://comcomponent.com/blog/"/>
  <link rel="self" type="application/atom+xml" href="https://comcomponent.com/en/feed.xml"/>
  <updated>2026-04-16T00:00:00+00:00</updated>
  <rights>© 2026 KomuraSoft LLC</rights>
  <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator>
  <author>
    <name>小村 豪</name>
    <uri>https://comcomponent.com/en/profile/go-komura/</uri>
  </author>
  
  <entry xml:lang="en">
    <title type="text">What GS1 and Related Barcode Standards Actually Define, and What to Watch for in Real Operations - Organizing GTIN, AI, GS1-128, and GS1 DataMatrix</title>
    <id>https://comcomponent.com/en/blog/2026/04/16/000-gs1-barcode-standards-practical-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/04/16/000-gs1-barcode-standards-practical-guide/"/>
    <published>2026-04-16T00:00:00+00:00</published>
    <updated>2026-04-16T00:00:00+00:00</updated>
    
    <summary type="text">A practical guide to what is standardized in GS1 barcode standards, how GTIN, AI, GS1-128, GS1 DataMatrix, and GS1 QR Codes differ, and where real operational projects tend to get stuck.</summary>
    
    
    
    <category term="GS1"/>
    
    <category term="Barcode"/>
    
    <category term="GTIN"/>
    
    <category term="GS1-128"/>
    
    <category term="GS1 DataMatrix"/>
    
    <category term="Inventory Management"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">Common Pitfalls in COM Components and OCX / ActiveX Development - Visual Studio 32-bit / 64-bit, Registration, and Admin-Rights Traps</title>
    <id>https://comcomponent.com/en/blog/2026/04/15/001-com-ocx-activex-pitfalls-visual-studio-bitness-admin-rights/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/04/15/001-com-ocx-activex-pitfalls-visual-studio-bitness-admin-rights/"/>
    <published>2026-04-15T01:00:00+00:00</published>
    <updated>2026-04-15T01:00:00+00:00</updated>
    
    <summary type="text">A practical guide to the 32-bit / 64-bit issues, Visual Studio 2022 becoming 64-bit, regsvr32 / Regasm, admin rights, HKCR / HKCU / HKLM, and STA / MTA pitfalls that commonly cause trouble in COM component, OCX, and ActiveX development.</summary>
    
    
    
    <category term="COM"/>
    
    <category term="ActiveX"/>
    
    <category term="OCX"/>
    
    <category term="Windows Development"/>
    
    <category term="Legacy Technology"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">Where Exceptions Should Be Caught, Logged, and Handled - A Practical Guide to Boundaries and Responsibilities in the Call Hierarchy</title>
    <id>https://comcomponent.com/en/blog/2026/04/15/000-exception-catching-logging-error-handling/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/04/15/000-exception-catching-logging-error-handling/"/>
    <published>2026-04-15T01:00:00+00:00</published>
    <updated>2026-04-15T01:00:00+00:00</updated>
    
    <summary type="text">A practical guide to deciding at each call-hierarchy boundary where exceptions should be caught, where the main log should be written, and where failures should be turned into results or recovery decisions, so that broad catches in deep helpers, duplicate logs across layers, and root-cause loss through null or false returns are avoided.</summary>
    
    
    
    <category term="Exception Handling"/>
    
    <category term="Logging"/>
    
    <category term="Architecture"/>
    
    <category term="Reliability"/>
    
    <category term="Windows Development"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">What ClickOnce Is: How It Works, How Updates Work, and When It Fits or Does Not Fit in Practice</title>
    <id>https://comcomponent.com/en/blog/2026/04/13/001-clickonce-what-is/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/04/13/001-clickonce-what-is/"/>
    <published>2026-04-13T10:10:00+00:00</published>
    <updated>2026-04-13T10:10:00+00:00</updated>
    
    <summary type="text">A practical guide to ClickOnce for .NET Windows desktop app deployment, with Mermaid diagrams covering manifests, updates, caching, signing, and the kinds of projects where it fits well or poorly.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Deployment"/>
    
    <category term="ClickOnce"/>
    
    <category term=".NET"/>
    
    <category term="Windows Development"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">What Windows Efficiency Mode Is: What the Green Leaf Icon Means in Windows 11 and How to Turn It Off</title>
    <id>https://comcomponent.com/en/blog/2026/04/13/002-windows-efficiency-mode-what-it-is-and-how-to-turn-off/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/04/13/002-windows-efficiency-mode-what-it-is-and-how-to-turn-off/"/>
    <published>2026-04-13T01:00:00+00:00</published>
    <updated>2026-04-13T01:00:00+00:00</updated>
    
    <summary type="text">A practical guide to what Efficiency Mode in Windows 11 Task Manager means, how to read the green leaf icon, how to turn it off, when you cannot turn it off, and how it differs from Microsoft Edge power-saving features.</summary>
    
    
    
    <category term="Windows 11"/>
    
    <category term="Task Manager"/>
    
    <category term="Efficiency Mode"/>
    
    <category term="Performance"/>
    
    <category term="Power Management"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">How to Use Windows Sandbox to Speed Up Windows App Validation - Admin Rights, Clean Environments, and Reproducing Missing-Permission or Low-Resource Cases</title>
    <id>https://comcomponent.com/en/blog/2026/04/13/000-windows-sandbox-appdev-validation-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/04/13/000-windows-sandbox-appdev-validation-guide/"/>
    <published>2026-04-13T01:00:00+00:00</published>
    <updated>2026-04-13T01:00:00+00:00</updated>
    
    <summary type="text">A practical guide to using Windows Sandbox to validate Windows apps faster by separating admin-rights issues, reproducing clean-environment failures, and testing restricted or low-resource conditions with `.wsb` files and the CLI.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Windows Sandbox"/>
    
    <category term="UAC"/>
    
    <category term="Testing"/>
    
    <category term="Windows Development"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">Why PPAP Is a Bad Email Security Practice and What to Do Instead</title>
    <id>https://comcomponent.com/en/blog/2026/04/03/000-why-ppap-is-bad-and-what-to-do/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/04/03/000-why-ppap-is-bad-and-what-to-do/"/>
    <published>2026-04-03T10:00:00+00:00</published>
    <updated>2026-04-03T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to why sending a password-protected ZIP by email and then sending the password in a second email is no longer a sound security control, and what SMEs should use instead.</summary>
    
    
    
    <category term="Email Security"/>
    
    <category term="PPAP"/>
    
    <category term="Information Leakage Prevention"/>
    
    <category term="B2B"/>
    
    <category term="Existing Asset Reuse"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">If You Have to Build Your Own Logger, What Is the Minimum You Actually Need? - Practical Requirements and Integration Test Checks</title>
    <id>https://comcomponent.com/en/blog/2026/04/02/001-custom-logger-minimum-requirements-and-integration-test-checklist/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/04/02/001-custom-logger-minimum-requirements-and-integration-test-checklist/"/>
    <published>2026-04-02T10:00:00+00:00</published>
    <updated>2026-04-02T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to the minimum requirements for a custom application logger and the integration tests worth running with real files, threads, and processes.</summary>
    
    
    
    <category term="Windows Development"/>
    
    <category term="Logging"/>
    
    <category term="Integration Testing"/>
    
    <category term="Test Design"/>
    
    <category term="Reliability"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">How SMEs Can Design Bulk Email Without Locking Themselves into One Vendor</title>
    <id>https://comcomponent.com/en/blog/2026/04/02/000-sme-bulk-email-vendor-neutral-practical-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/04/02/000-sme-bulk-email-vendor-neutral-practical-guide/"/>
    <published>2026-04-02T10:00:00+00:00</published>
    <updated>2026-04-02T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide for SMEs that want to send tens to hundreds of announcement emails from their own domain and site without relying on a dedicated vendor or Bcc blasts.</summary>
    
    
    
    <category term="Email Delivery"/>
    
    <category term="Existing Asset Reuse"/>
    
    <category term="Inquiry Flow Improvement"/>
    
    <category term="Web Development SEO"/>
    
    <category term="B2B"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">Why a Business Website Should Exist - Turning a Company Site into Profit</title>
    <id>https://comcomponent.com/en/blog/2026/03/26/000-why-business-website-drives-profit/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/26/000-why-business-website-drives-profit/"/>
    <published>2026-03-26T10:00:00+00:00</published>
    <updated>2026-03-26T10:00:00+00:00</updated>
    
    <summary type="text">Why a business website matters, and how it contributes to profit across search, comparison, inquiry, and sales. A practical guide to treating a company site as a business foundation rather than a brochure.</summary>
    
    
    
    <category term="Website Development"/>
    
    <category term="SEO"/>
    
    <category term="Inquiry Flow Optimization"/>
    
    <category term="Web Marketing"/>
    
    <category term="Technical B2B"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">Where Unit Tests End and Integration Tests Begin - A Practical Boundary Guide</title>
    <id>https://comcomponent.com/en/blog/2026/03/25/004-unit-test-vs-integration-test-boundary-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/25/004-unit-test-vs-integration-test-boundary-guide/"/>
    <published>2026-03-25T10:00:00+00:00</published>
    <updated>2026-03-25T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to drawing the boundary between unit tests and integration tests by separating pure logic, formatting, wiring, environment differences, and time-dependent behavior.</summary>
    
    
    
    <category term="Testing"/>
    
    <category term="Unit Testing"/>
    
    <category term="Integration Testing"/>
    
    <category term="Test Design"/>
    
    <category term="Windows Development"/>
    
    <category term="C#"/>
    
    <category term=".NET"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">How to Connect Articles and Service Pages with Internal Links</title>
    <id>https://comcomponent.com/en/blog/2026/03/25/003-internal-linking-between-articles-and-service-pages/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/25/003-internal-linking-between-articles-and-service-pages/"/>
    <published>2026-03-25T10:00:00+00:00</published>
    <updated>2026-03-25T10:00:00+00:00</updated>
    
    <summary type="text">How to connect articles to service pages with natural internal-link design, anchor text, and related-link placement.</summary>
    
    
    
    <category term="SEO"/>
    
    <category term="Internal Links"/>
    
    <category term="Website Development"/>
    
    <category term="Web Development SEO"/>
    
    <category term="Article Flow"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">How to Build a Service Page for Technical B2B Companies</title>
    <id>https://comcomponent.com/en/blog/2026/03/25/002-service-page-structure-for-technical-b2b/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/25/002-service-page-structure-for-technical-b2b/"/>
    <published>2026-03-25T10:00:00+00:00</published>
    <updated>2026-03-25T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to the role, headings, copy, CTA, and inquiry flow of a service page for technical B2B businesses.</summary>
    
    
    
    <category term="Website Development"/>
    
    <category term="SEO"/>
    
    <category term="Service Pages"/>
    
    <category term="B2B"/>
    
    <category term="Inquiry Flow"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">When a Site Gets No Inquiries, the First Three Places to Fix</title>
    <id>https://comcomponent.com/en/blog/2026/03/25/001-inquiry-flow-fix-first-three-places/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/25/001-inquiry-flow-fix-first-three-places/"/>
    <published>2026-03-25T10:00:00+00:00</published>
    <updated>2026-03-25T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to the first three places to fix when a site gets no inquiries: the homepage, the service page, and the contact page.</summary>
    
    
    
    <category term="SEO"/>
    
    <category term="Inquiry Flow Improvement"/>
    
    <category term="Website Development"/>
    
    <category term="Conversion"/>
    
    <category term="Site Improvement"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">Why Technical B2B Homepages Fail to Show What the Company Actually Does</title>
    <id>https://comcomponent.com/en/blog/2026/03/25/000-website-development-why-unclear-business-message/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/25/000-website-development-why-unclear-business-message/"/>
    <published>2026-03-25T10:00:00+00:00</published>
    <updated>2026-03-25T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to why technical B2B homepages fail to explain the business clearly, and how to fix the homepage, service pages, and company page.</summary>
    
    
    
    <category term="Website Development"/>
    
    <category term="SEO"/>
    
    <category term="Technical B2B"/>
    
    <category term="Company Page"/>
    
    <category term="Site Improvement"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">How DLL Name Resolution Works on Windows: Search Order, Known DLLs, API Sets, and SxS in Practice</title>
    <id>https://comcomponent.com/en/blog/2026/03/24/002-windows-dll-name-resolution/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/24/002-windows-dll-name-resolution/"/>
    <published>2026-03-24T10:00:00+00:00</published>
    <updated>2026-03-24T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to Windows DLL name resolution, covering search order, Known DLLs, loaded-module checks, API sets, SxS manifests, and the impact of LoadLibrary APIs.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="DLL"/>
    
    <category term="Loader"/>
    
    <category term="Security"/>
    
    <category term="Windows Development"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">When UUIDs Collide in Practice: Bad Operational and Implementation Patterns</title>
    <id>https://comcomponent.com/en/blog/2026/03/24/001-uuid-collision-bad-implementation-patterns/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/24/001-uuid-collision-bad-implementation-patterns/"/>
    <published>2026-03-24T10:00:00+00:00</published>
    <updated>2026-03-24T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to the operational and implementation mistakes that make UUID collisions real, from fixed seeds and snapshot rollback to namespace misuse, truncation, and custom formats.</summary>
    
    
    
    <category term="UUID"/>
    
    <category term="Identifiers"/>
    
    <category term="Distributed Systems"/>
    
    <category term="Data Modeling"/>
    
    <category term="Software Design"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">SEO and Google Ads Best Practices: A General Blueprint for Search Acquisition</title>
    <id>https://comcomponent.com/en/blog/2026/03/24/000-seo-google-ads-best-practices/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/24/000-seo-google-ads-best-practices/"/>
    <published>2026-03-24T10:00:00+00:00</published>
    <updated>2026-03-24T10:00:00+00:00</updated>
    
    <summary type="text">A general guide to SEO and Google Ads that connects search intent, crawlability, page experience, measurement, Smart Bidding, and Consent Mode into one search acquisition system.</summary>
    
    
    
    <category term="SEO"/>
    
    <category term="Google Ads"/>
    
    <category term="Web Marketing"/>
    
    <category term="Search Acquisition"/>
    
    <category term="Digital Advertising"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">When Windows Admin Privileges Are Actually Required: UAC, Protected Areas, and Practical Design Boundaries</title>
    <id>https://comcomponent.com/en/blog/2026/03/23/001-windows-admin-privilege-when-required/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/23/001-windows-admin-privilege-when-required/"/>
    <published>2026-03-23T10:00:00+00:00</published>
    <updated>2026-03-23T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to when Windows admin privileges are truly required, covering UAC, protected locations, services, drivers, and per-user versus per-machine design.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="UAC"/>
    
    <category term="Security"/>
    
    <category term="Deployment"/>
    
    <category term="Windows Development"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">What VBA Is: Limits, Future Outlook, When to Replace It, and Practical Migration Patterns</title>
    <id>https://comcomponent.com/en/blog/2026/03/23/000-what-is-vba-limits-future-replacement/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/23/000-what-is-vba-limits-future-replacement/"/>
    <published>2026-03-23T10:00:00+00:00</published>
    <updated>2026-03-23T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to what VBA is, its limits, where replacement makes sense, and how to migrate existing Excel or Access assets in stages.</summary>
    
    
    
    <category term="VBA"/>
    
    <category term="Excel"/>
    
    <category term="Microsoft Office"/>
    
    <category term="Legacy Asset Migration"/>
    
    <category term="Windows Development"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">Understanding Text Encodings on Windows - Why Mojibake Happens and What Breaks When Linux Gets Involved</title>
    <id>https://comcomponent.com/en/blog/2026/03/21/000-windows-text-encoding-mojibake-linux/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/21/000-windows-text-encoding-mojibake-linux/"/>
    <published>2026-03-21T10:00:00+00:00</published>
    <updated>2026-03-21T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to Windows text encodings, mojibake, and the common failure points that appear when CP932, UTF-8, UTF-16, PowerShell, and Linux locale assumptions collide.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Mojibake"/>
    
    <category term="UTF-8"/>
    
    <category term="CP932"/>
    
    <category term="Linux"/>
    
    <category term="PowerShell"/>
    
    <category term="Unicode"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">Best Practices for Checking and Displaying External Device State - Why &apos;Connected&apos; Is Not Enough</title>
    <id>https://comcomponent.com/en/blog/2026/03/20/002-external-device-state-check-display-best-practices/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/20/002-external-device-state-check-display-best-practices/"/>
    <published>2026-03-20T10:00:00+00:00</published>
    <updated>2026-03-20T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to external device state handling in Windows apps, covering detection, responsiveness, usability, data freshness, UI wording, and reconnect behavior.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="External Devices"/>
    
    <category term="Device Integration"/>
    
    <category term="State Management"/>
    
    <category term="UI/UX"/>
    
    <category term="Monitoring"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">Checklist for Safe Child-Process Handling in Windows Apps - Job Objects, Exit Propagation, stdio, and Watchdog Design</title>
    <id>https://comcomponent.com/en/blog/2026/03/20/001-windows-app-safe-child-process-handling-job-object-exit-propagation-stdio-watchdog/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/20/001-windows-app-safe-child-process-handling-job-object-exit-propagation-stdio-watchdog/"/>
    <published>2026-03-20T10:00:00+00:00</published>
    <updated>2026-03-20T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to safe child-process handling in Windows applications, covering Job Objects, exit propagation, stdio draining, and watchdog design.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Process"/>
    
    <category term="Job Object"/>
    
    <category term="IPC"/>
    
    <category term="C++"/>
    
    <category term=".NET"/>
    
    <category term="C#"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">How to Choose a Windows App Deployment Model - MSI, MSIX, ClickOnce, xcopy, and Custom Updaters</title>
    <id>https://comcomponent.com/en/blog/2026/03/20/000-windows-app-deployment-msi-msix-clickonce-xcopy-custom-updater/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/20/000-windows-app-deployment-msi-msix-clickonce-xcopy-custom-updater/"/>
    <published>2026-03-20T10:00:00+00:00</published>
    <updated>2026-03-20T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to choosing between MSI, MSIX, ClickOnce, xcopy deployment, and custom updaters for Windows applications.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Deployment"/>
    
    <category term="MSI"/>
    
    <category term="MSIX"/>
    
    <category term="ClickOnce"/>
    
    <category term="xcopy"/>
    
    <category term="Updater"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">How Far Can a Windows App Really Be a Single Binary? What Fits in One EXE and What Still Depends on Windows</title>
    <id>https://comcomponent.com/en/blog/2026/03/19/003-windows-single-binary-and-os-dependencies/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/19/003-windows-single-binary-and-os-dependencies/"/>
    <published>2026-03-19T10:00:00+00:00</published>
    <updated>2026-03-19T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to what can really be bundled into one Windows executable, where OS dependencies remain, and how to decide before shipping.</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="Deployment"/>
    
    <category term="Single Binary"/>
    
    <category term=".NET"/>
    
    <category term="C++"/>
    
    <category term="WebView2"/>
    
    <category term="WinUI"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">Best Practices for Avoiding Mojibake with Codex on Windows - Clear Prompting Before Environment Tweaks</title>
    <id>https://comcomponent.com/en/blog/2026/03/19/002-codex-windows-mojibake-prompting-best-practices/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/19/002-codex-windows-mojibake-prompting-best-practices/"/>
    <published>2026-03-19T10:00:00+00:00</published>
    <updated>2026-03-19T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to reducing mojibake accidents with Codex on Windows by defining safe read, write, and verification rules before editing files.</summary>
    
    
    
    <category term="Codex"/>
    
    <category term="Windows"/>
    
    <category term="Mojibake"/>
    
    <category term="UTF-8"/>
    
    <category term="CP932"/>
    
    <category term="AI Coding"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">Serial Communication App Pitfalls - Framing, Timeouts, Flow Control, Reconnects, USB Adapters, and UI Freezes</title>
    <id>https://comcomponent.com/en/blog/2026/03/19/001-serial-communication-app-pitfalls/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/19/001-serial-communication-app-pitfalls/"/>
    <published>2026-03-19T10:00:00+00:00</published>
    <updated>2026-03-19T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to serial communication app pitfalls in Windows, covering framing, timeouts, flow control, reconnects, USB serial adapters, and logging design.</summary>
    
    
    
    <category term="Serial Communication"/>
    
    <category term="RS-232"/>
    
    <category term="C#"/>
    
    <category term=".NET"/>
    
    <category term="Windows Development"/>
    
    <category term="Device Integration"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">How to Preserve Crash Logs in Windows Apps Even When They Die from Programming Errors - Best Practices with WER, Final Markers, and Watchdog Design</title>
    <id>https://comcomponent.com/en/blog/2026/03/19/000-windows-app-crash-logging-best-practices/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/19/000-windows-app-crash-logging-best-practices/"/>
    <published>2026-03-19T10:00:00+00:00</published>
    <updated>2026-03-19T10:00:00+00:00</updated>
    
    <summary type="text">A practical guide to preserving useful crash evidence in Windows apps by combining normal logs, final crash markers, WER LocalDumps, and watchdog-style supervision instead of trusting in-process recovery alone.</summary>
    
    
    
    <category term="Windows Development"/>
    
    <category term="Exception Handling"/>
    
    <category term="Logging"/>
    
    <category term="WER"/>
    
    <category term="Crash Dumps"/>
    
    <category term="Bug Investigation"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">Windows App UX Design Thinking - A Decision Table for ToC, ToB, Monitoring, Field Terminals, and Tray Tools</title>
    <id>https://comcomponent.com/en/blog/2026/03/18/002-windows-app-ux-design-decision-table/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/18/002-windows-app-ux-design-decision-table/"/>
    <published>2026-03-18T10:00:00+00:00</published>
    <updated>2026-03-18T10:00:00+00:00</updated>
    
    <summary type="text">A practical UX decision table for Windows applications, organized by ToC / ToB context, input method, work environment, and the cost of mistakes.</summary>
    
    
    
    <category term="UX"/>
    
    <category term="Windows Development"/>
    
    <category term="UI Design"/>
    
    <category term="Accessibility"/>
    
    <category term="Business Applications"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="en">
    <title type="text">How to Choose Between Windows Forms, WPF, and WinUI - A Decision Table for New Development, Existing Assets, Deployment, and UI Needs</title>
    <id>https://comcomponent.com/en/blog/2026/03/18/001-winforms-wpf-winui-decision-table/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/en/blog/2026/03/18/001-winforms-wpf-winui-decision-table/"/>
    <published>2026-03-18T10:00:00+00:00</published>
    <updated>2026-03-18T10:00:00+00:00</updated>
    
    <summary type="text">A practical decision table for choosing between Windows Forms, WPF, and WinUI based on new development, existing assets, deployment, UI richness, and team culture.</summary>
    
    
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    <category term="WinUI"/>
    
    <category term="C#"/>
    
    <category term="Windows Development"/>
    
    <category term="UI Design"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
</feed>
