3

I'm trying to repackage an existing desktop app for Windows 10 IoT on ARM (Dragonboard 410c,specifically).

I've installed VS 2017 Community edition (15.9.6) and I have the source for the desktop version of this project, although I don't know much about it.

It currently targets x86 / x64 (both of which work fine), but an ARM option is not available.

Do I need to add some component to VS, or manually edit something to be able to compile for ARM?

When I set the Dragonboard as the Remote Target, I unsurprisingly get this error:

"Error DEP3308: Deployment target '192.168.1.119' does not support projects targetting X86 platform. Supported platforms: ARM."

Happy to provide more information as necessary.

Thanks, R

Richard Chambers
  • 16,643
  • 4
  • 81
  • 106

3 Answers3

2

You should change the platform to ARM in the project property debug tab page, and then change the target device as remote machine and authentication mode as universal. enter image description here

Michael Xu
  • 4,382
  • 1
  • 8
  • 16
1

Is your application a desktop application or UWP application? I'm getting mixed signals about this from the question.

Compiling desktop applications for ARM isn't officially supported (only for ARM64), and for Windows 10 IoT, it must be an UWP application in any case.

Also, the ARM compilers aren't normally installed by default, so unless you manually checked those boxes when installing Visual Studio, you might not have it. You can rerun the installer to install the missing components.

mstorsjo
  • 12,983
  • 2
  • 39
  • 62
  • The original application is currently a Desktop application (i.e building it results in an EXE file). I added the UWP Packaging project as described here: https://learn.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-packaging-dot-net – flyingfishfinger Feb 05 '19 at 18:25
  • @flyingfishfinger, IoT Core is a UWP centric OS and UWP apps are its primary app type. You can refer to this [document](https://learn.microsoft.com/en-us/windows/iot-core/tutorials/quickstarter/developapp). – Michael Xu Feb 06 '19 at 01:22
  • Yes, I'm well aware of this. The problem is twofold I guess: 1) Build the desktop app as UWP for Win10. For this I understand I can add the Packaging project 2) Target the resulting UWP at ARM architecture, for this I have no idea where to start. The app wasn't designed ON Windows 10 / for Windows 10 and the developer has no plans to implement this. He did give me the source under NDA so I could attempt to package a UWP for my personal use, however. I should add that I'm not a SW engineer, so I was hoping it to be a matter of adjusting compiler / target / package options... – flyingfishfinger Feb 06 '19 at 01:25
  • @flyingfishfinger, I want to know if the desktop application is a WinForm or an UWP app? Windows IoT Core only supports UWP apps. And more, it is unnecessary to create a packaging project for an UWP app. You can package an UWP app via Visual Studio directly, please see this [document](https://learn.microsoft.com/en-us/windows/uwp/packaging/packaging-uwp-apps). – Michael Xu Feb 06 '19 at 06:52
  • WinForm? I believe so. This code uses .NET and generates a regular .exe output file that runs on most current Windows versions. I want to CREATE an UWP version, since that is not being built by the source as is. The author does not currently and probably will not build Windows 10 apps for this source. – flyingfishfinger Feb 06 '19 at 07:01
  • As i mentioned, Windows IoT Core only supports UWP when you want to build a foreground app. Winform(.exe) can not run on windows iot core.Please refer to this [article](https://learn.microsoft.com/en-us/windows/iot-core/tutorials/quickstarter/developapp). So you need to change the project to UWP version and then target it to arm platform. Good luck. – Michael Xu Feb 06 '19 at 07:49
  • Let us [continue this discussion in chat](https://chat.stackoverflow.com/rooms/187976/discussion-between-flyingfishfinger-and-michael-xu-msft). – flyingfishfinger Feb 06 '19 at 07:53
1

If you just want the project to be deployed on an x86 system of yours (in case ARM platform isn't available or not configurable for you), you can follow the below and use it like magic:

  1. Right click on the solution
  2. Choose Configuration manager
  3. Change the "Active solution platform" to "X86" instead of "ARM"
  4. Make sure the "Active solutions configuration" is set to debug, and the startup project has "Deploy - checked".

Snapshot

sanrnsam7
  • 131
  • 1
  • 2
  • 11