Windows development & engineering support from KomuraSoft

Legacy Asset Reuse & Migration SupportKeep the know-how. Modernize the system.

Keep the business logic and device-specific behavior that still matter. We assess COM, ActiveX and C++ assets and combine reuse, integration and replacement in a phased migration.

No specification document needed. Start with what you know.

  • Work directly with an engineer
  • Start before requirements are finalized
  • Commission only the scope you need

You do not need a finished specification

Start with the problem you need to solve.

Old components hold important behavior you cannot easily replace

We examine their roles and conditions for continued use, making the reasons for retaining them explicit.

C++ or 32-bit assets are blocking an upgrade

We consider wrappers, separate processes and other ways to connect them to the new system.

A full rewrite is impractical, but doing nothing is not an option

We plan the update order around dependencies and the impact on operations.

Discuss the technical details with the engineer doing the work.

Profile photo of Go Komura

Founder & engineer

Go Komura

A Windows-focused engineer works with you from the initial discussion through investigation, design and implementation. You do not need to have every technical detail worked out before getting in touch.

Experience & technologies / Company information

Published technical article

How to Handle ActiveX / OCX Today

Explore the technical considerations and design approach in this area. These explanatory articles are presented separately from commissioned project experience.

Read the technical article

Scope of support

A focused task or a complete application.

From a specific investigation or change to end-to-end development, we agree on a scope that fits your situation.

Asset and dependency assessment

Review the roles and dependencies of COM, ActiveX, OCX and C++ assets and establish conditions for continued use.

Phased migration architecture

Define behavior to preserve, interfaces between old and new software, and the migration sequence.

Migration with mixed 32-bit and 64-bit components

Consider separate processes and integration layers against the constraints of each component.

Examples of results and deliverables

  • An inventory of assets and dependencies and constraints
  • Integration options and validation results
  • A phased migration plan and integration implementation

These are examples, depending on the work commissioned. We agree on the scope and format of deliverables when preparing the estimate.

Facing a similar challenge? Tell us where things stand.

No specification document needed. Start with what you know.

Pricing and process

You do not need every detail decided to get started.

Start with an inventory and migration approach

You can commission just the assessment of which components to retain and where to begin updating.

Pricing guide

Quoted for assessment, integration and migration

We review dependencies and constraints, then propose the validation scope and a practical sequence for migration.

Initial feasibility checks and paid engagements

Initial checks needed to assess feasibility and prepare an estimate are generally free, on the understanding that you will commission the full development if it is found feasible. Extended validation, dedicated environments, prototypes, proofs of concept and detailed investigation reports may require a paid engagement.

An investigation or review commissioned in its own right is quoted as a separate paid service. We explain the scope and cost before any paid work begins.

  1. Tell us about the situation

    Share your goal, the problem and the environment, as far as you know them.

  2. Review the scope and cost

    We outline the investigation needed, scope, deliverables, cost and proposed process.

  3. Agree before work begins

    During the work, we share progress, confirmed findings and remaining constraints.

  4. Review the results and handover

    We validate the results under agreed conditions and prepare for deployment or the next step.

Need more technical detail?

Explore technologies and the detailed approach

Keep valuable assets while moving to a more maintainable system.

Long-serving components often contain business decisions and device-specific behavior that are difficult to replace. KomuraSoft investigates their roles and dependencies rather than treating replacement as the default. We combine reuse, interface changes and replacement to support a phased migration.

Challenges we can help with

  • Important behavior remains in COM, ActiveX or OCX components that cannot be replaced yet.
  • A 32-bit component prevents an application or runtime upgrade.
  • C++ functionality needs to be used from a new .NET application.
  • A complete rewrite is impractical, but the current system is becoming hard to maintain.
  • Dependencies and the migration sequence need clarification before future replacement.

Decide what to keep, connect and replace

Identify the assets worth keeping

Is a component a UI control, business logic or a device communication layer? We examine its source, usage conditions and dependencies to establish the value and constraints of continued use.

Design the interface to the new system

We consider C++/CLI wrappers, COM-based integration and separate processes. The responsibilities of the integration layer include 32-bit and 64-bit boundaries, permissions, threading and error handling where relevant.

Plan the replacement sequence

We review dependent features and operational impact to separate early updates from later replacements. Validation of existing behavior and rollback conditions are included in the migration plan.

How an engagement proceeds

  1. Assess assets and constraints. Identify each component’s role, calling relationships and development and runtime environments.
  2. Compare approaches. Consider the benefits and effort of reuse, integration layers, separate processes and replacement.
  3. Validate the connection. Check uncertain areas first, then define the required changes and migration sequence.
  4. Implement the agreed scope. Move toward the new architecture while checking existing behavior.

The aim is more than extending the life of old components. It is knowing what must remain and what can change next.

Choose the service that matches the main task

For development or fixes to a specific component, see COM component development. For a replacement of the application as a whole, see Windows app replacement.

Even when the component structure is unknown, start with the application names, languages and reasons for the update that you do know.

Questions before commissioning work

Can you help when COM or ActiveX cannot be replaced immediately?

Yes. We assume that important business or device-specific behavior may need to remain. We clarify what to retain, what to change, why the asset is being kept and what would allow replacement later.

Can we migrate while retaining 32-bit components?

We investigate the feasible scope and approach. This includes constraints in the host and component and options such as separate processes. Whether an integration layer alone is sufficient is a question to validate, not assume.

Can we commission only an inventory and migration strategy?

Yes. You can begin with asset assessment, comparison of approaches and replacement sequencing. We confirm the investigation scope and required materials before proceeding.

Get in touch

A few lines about your situation are enough.

You do not need a detailed specification or technical terminology. Share what you know about:

  • The problem or the outcome you need
  • The software, devices and operating environment
  • Your preferred timeframe, even if it is not decided

There is no need to send confidential documents or passwords with your initial inquiry.

Example inquiry

We want to move to a new .NET application while keeping our C++ and COM assets. Could you help us decide how to separate the work into migration stages?

No specification document needed. Start with what you know.

The discussion button opens our English contact page with ways to get in touch. “Send an email” opens a draft with the service name and blank prompts for your inquiry.