#running a program that requires bunch of dependencies that comes with x64 Windows, on ARM Windows

37 messages · Page 1 of 1 (latest)

obsidian sand
#

i just realized the title might be way too verbose, let me explain lmao
i have a m1 macbook air that i installed parallels to install windows 11 vm on it (let me call it the ARM vm)

im trying to run a specific app which threw an error 0xc000007b so i installed UTM to install emulated AMD64 version of windows on the exact same machine (this one i call the AMD64 vm)
it worked, slowly, took me 3 hours to just install it kek
so i tried to see which dlls it requires on the ARM vm and there were bunch of missing dlls
on the AMD64 vm all of them were there, except for VC runtime, which i installed it later

my question is if i just grab those dlls from AMD64 one and squeeze it into the ARM one, will it work?
or is there some other way to make it run?
or am i fucked and wont be able to ever run it Sadge

grand barn
#

it's literally an emulation. it's like translating each and every word from one language to another.
emulation isn't virtualization. things may work and most likely not.
if you're on apple silicon hardware, your best bet is to run ARM64 software i.e. Windows 10/11 ARM64 edition. Running x86/x64 software will never going to be like it would in real x86/64 machine.

obsidian sand
#

the dependencies above were taken on ARM vm, and what irritates me is that every(except VC runtime) dlls were present on AMD64 machine, and ARM has MOST of those missing

#

it appears that all parent dlls had some dlls missing to their child modules

#

@grand barn my bet is that if i just copy every missing dll it would just work idk

grand barn
#

nah, it's not the way emulation works.

#

if there's no intermediary between ARM64-x64, it won't work

obsidian sand
#

idk if this would change anything but

#

this is me after installing x64 version of vc runtime

#

on ARM

#

it did recognize it

grand barn
obsidian sand
#

i already had finished reading the entire WoA doc on a span of 10 hours

#

but ill check again i guess

grand barn
#

since the emulation may not include non Windows/C,C++runtime i.e. third party X86/x64 DLL/application "interpreter", simply copying other DLLs/application may not work.

obsidian sand
#

so it may work?

#

im sorry if i sound like living cancer lmao thats just how desperate i am

grand barn
#

you can die trying is the simplest sentence I can say to you.

obsidian sand
#

wait

#

arent SysArm32 included in path by default

#

cuz i can see some missing dlls in there

grand barn
#

Check the path then

obsidian sand
#

yeah well fuck there isnt

grand barn
#

if you're interesting in going deeper, dumpbin the system DLLs from that Windows installation, to find out the header

obsidian sand
#

lemme try real quick i guess

#

i have to restart the system for the system path to take effect, right?

grand barn
#

did you change the path in system env, or user's?

#

if system's, restart is required

obsidian sand
#

system env yes

grand barn
#

just a sample information on ARM64 Windows DLLs. It's literally ARM's binary that are built with the code to handle x64/x86 emulation.

obsidian sand
#

where can i get that from

#

image file?

grand barn
#

it's part of visual studio

#

if you mean "dumpbin"