Entitlements could not be checked due to an error reaching the service. Showing non-confidential search results only.
Overview

Port and Optimize Windows Applications for Arm

The Arm AppReady program for Windows helps you move your application from x86 compatibility to native Windows on Arm. It provides technical resources and support to resolve porting and performance issues on Arm-based Windows devices.

Choose Your Starting Point

Better understand your software dependencies and the effort needed to create a native port of your application.

Check Your App's Dependencies


Windows on Arm software ecosystem dashboard

Dashboard
Identify Dependencies Blocking Native Builds

Set up Visual Studio for Windows on Arm

Set Up
Build and Test Windows on Arm Binaries

Fails → continue with Assess

Assess
Optimize Performance Once Running Natively

Runs → go to Optimize

Optimize

Next Steps

  • ASSESS
  • BUILD
  • Deploy
  • Optimize

Identify incompatibilities – audit your codebase before porting.



Example workflow Common focus patterns Optional automation and AI assistance Outcome

1. Review dependencies, plugins, drivers, and SDKs
  → Check support in the Windows on Arm Software Dashboard

2. Validate compatibility and emulation behavior
  → WoA app development guidance

3. Identify architecture-specific code (SIMD, intrinsics, assembly)
  → Arm SIMD and Neon guidance
  → Arm Intrinsics

4. Classify components:

  • Arm64-ready
  • x64-only (runs under emulation)
  • unsupported


   → Windows on Arm app development guidance

  • x86-only DLLs
  • Unsupported kernel drivers
  • AVX/SSE intrinsics
  • Inline assembly
  • Hardcoded architecture checks
  • Run a static analysis with your coding assistant.

  • Add a CI step with GitHub Runners to:
    • Build and test for Windows on Arm
    • Flag missing dependencies

  • Use compiler warnings and static analysis to detect architecture-specific code.
A dependency map and a clear list of blockers.

Get a working Windows on Arm build – compile and run your application natively.



Example workflow Tools Optional automation and AI assistance Outcome

1. Set up your build environment
  → Set up Visual Studio for Arm64
  → Windows SDK

2. Configure build targets
  → Hybrid build options

3. Resolve build failures and missing dependencies
   → Re-check Windows on Arm Software Dashboard

4. Run and debug your application
   → Visual Studio debugger

5. Validate compatibility and emulation behavior
  → WoA app development guidance

6. Compare emulated vs. native execution
   Use Windows Task Manager + profiling tools next



For a longer list, see the Windows on Arm Software Dashboard.
  • Use your coding assistant or GitHub Spec Kit to create a porting spec using the inputs from the assess phase.

  • Add Windows on Arm builds to CI/CD:
    • GitHub Actions or Azure Pipelines
    • Build both x64 and Arm64 on every commit
A running Windows on Arm build and a list of runtime issues.

Fix blockers and prepare to ship – make the application stable and deployable.



Example workflow Common focus patterns Optional automation and AI assistance Outcome

1. Replace or update unsupported dependencies
  → Windows on Arm Software Dashboard

2. Modify architecture-specific code
  → Arm SIMD migration and optimization
  → Arm Neon intrinsics reference

3. Build and package Windows on Arm binaries
  → MSIX packaging
  → Windows Installer (MSI)

4. Support mixed-architecture apps (if needed)
 → Arm64EC / Arm64X

5. Test cross-component compatibility:

  • Child processes
  • Plugins
  • COM components
  • Services

  → WoA app compatibility guidance

  • COM registration issues

  • x64 ↔ Arm64 process boundaries

  • Installer deploying wrong architecture

  • Plugin ABI mismatches
  • Use your coding assistant to execute on your porting spec.

  • Add test steps in CI: (e.g. GitHub Actions)
    • Install + launch validation
    • Smoke tests on Windows on Arm hardware or VM
A stable, installable Windows on Arm application.

Validate and optimize performance – ensure the application performs well on Arm.



Example workflow Tools Success criteria Outcome

1. Profile CPU, memory, and I/O
 → Visual Studio Profiler
 → Windows Performance Analyzer (WPA)

2. Capture system traces
 → Windows Performance Recorder (WPR)

3. Compare emulated vs. native performance
Benchmark startup time, CPU usage, memory

4. Optimize hot paths
 → Arm SIMD optimization

5. Validate real-world workloads:

  • Startup performance
  • Background services
  • Sustained load

  • Native Windows on Arm execution (no emulation fallback)

  • Equal or better performance vs. x64 emulation

  • Stable behavior under real workloads
A performant, stable Windows on Arm application with validated improvements over emulation.
Get Support

Support agent at computer with cloud, tools, and chat icons.

Ask an Expert

Need support from Windows on Arm experts?
Complete the contact form and the team will be in touch.

Request Support
Support ecosystem diagram connecting cloud, AI, security, and hardware.

Need Additional Help with App Compatibility on Windows on Arm?

Microsoft App Assure Arm Advisory Service provides direct engineering support to optimize apps for Windows on Arm. Eligible Microsoft customers can engage Microsoft App Assure.

Visit Microsoft App Assure
Case Studies

Explore Real Native Performance Journeys

Explore accelerated applications already running natively on Arm, or review case studies to see which of your tools and workflows are Windows on Arm-ready.

Arm-native Google Chrome enhances Windows on Arm performance


Pieces™ for Developers boosts AI performance with Windows on Arm


Camo delivers AI-powered video on Windows on Arm


FAQs

Frequently Asked Questions

What is the Arm AppReady program?

The Arm AppReady for Windows program is a developer support initiative designed to help software developers build, port, and optimize applications for Windows on Arm. It brings together practical guidance, tools, code samples, learning resources, and technical best practices in one place to make it easier to deliver high-quality native Arm64 experiences on Windows. Additionally, it gives developers a way to open a support ticket with Arm for additional help.

Who is the program intended for?

The program is intended for Windows developers, independent software vendors, open source contributors, and software teams that want to build new apps for Arm-based Windows devices or bring existing applications to Arm64. It is relevant for both developers who are just getting started and for teams looking to improve performance, compatibility, or AI-enabled application experiences.

Who can access Arm’s AppReady for Windows developer support program?

Any developer interested in building a Windows on Arm application is welcome to visit the AppReady website and leverage the developer tools, example code, case studies, and links, all aimed at helping developers build or port native Windows on Arm applications. If you are stuck or blocked while migrating or porting your application, you can also request help from our Developer Relations engineering team.

Why was the AppReady program created?

The program was created to reduce friction for developers targeting Windows on Arm and to accelerate the availability of native Arm64 applications. As the ecosystem grows, developers need easier access to the right tools, clearer guidance, and practical examples that help them move from interest to execution. In addition, there have been explicit asks from developers and Microsoft for additional resourcing and expertise from Arm to help move developers forward in their Windows on Arm journey.

How does the program work?

The program gives developers access to curated self-serve technical content and guidance without requiring sign-in. An additional benefit of the program is the ability for developers to open a support request and get a response from Arm Developer Relations.

What resources are available from AppReady?

One of the aims of this program is to make Windows on Arm developer resources discoverable and readily accessible. There are links to common open source and Microsoft toolchains, libraries, frameworks, and compilers. There is also documentation, learning paths, case studies, and code samples to help developers understand how to use the available resources. We are always adding new content, so please check back frequently.

Is there a focus on AI developer tools?

Yes, we recognize that AI-enabled workflows and agents are becoming more useful and practical all the time. Arm is continuing to refine best practices documentation for their use in porting applications to Windows on Arm. Check back as we continue to learn more and provide additional guidance.

How do Arm AppReady and Microsoft App Assure work together to support developers in building and optimizing applications for Windows on Arm?

Arm AppReady and Microsoft App Assure are complementary programs designed to help developers successfully bring applications to market on Windows on Arm. Arm brings deep expertise in Arm hardware, processors, architecture, and performance optimization, while Microsoft complements this with expertise in Windows and the broader software ecosystem, including platform integration, developer tools, and operating system support. The Arm AppReady and Microsoft App Assure teams work closely together to help ensure applications are well-tuned to take advantage of the efficiency, scalability, and power characteristics of Arm-based devices.

What is Arm’s position on native application support?

Native Arm applications have demonstrated better performance and efficiency on Windows. Microsoft’s Prism is an important bridge for many applications. Prism helps ensure compatibility and lowers the barrier to entry by allowing many existing applications to run on Windows on Arm today. However, native Arm64 applications deliver the best performance, responsiveness, battery life, and access to the full capabilities of modern Arm-based systems, including AI acceleration.

What is Arm’s position on the current app ecosystem?

Arm believes the Windows on Arm app ecosystem has made significant progress and is in a much stronger place than it was just a few years ago, with both native app availability and overall compatibility continuing to improve across the ecosystem.

How does the AppReady program fit into Arm’s Everywhere strategy?

AppReady supports Arm’s broader Arm Everywhere strategy by helping strengthen the software layer of the Arm ecosystem. Arm Everywhere is about expanding Arm’s reach across cloud, edge, client, and AI-driven computing, and that only works if developers can easily build and optimize software for Arm-based platforms. AppReady helps make that possible by improving access to tools, guidance, and practical resources for building Windows software.