Build 64-bit OSE but run on 32-bit win7 failed

Discussions related to using the OSE version of VirtualBox.
Post Reply
mushi_uta
Posts: 3
Joined: 9. Aug 2016, 11:50

Build 64-bit OSE but run on 32-bit win7 failed

Post by mushi_uta »

I have successfully built and test signed VirtualBox OSE 5.0.0 on win7 (x64). Everything is ok when I run them on win7 (x64).
But when I run them on win7 (x86), I get an error just like "The windows is incompatible, can not run 64-bit programm on 32-bit pc". (It's not an English environment, so I translate the message. I hope you understand it)
I guess it's meaning I build a x64 OSE, so can't run them on x86 pc. But, how can I use virtualbox on 32-bit pc ? Do I nead build a 32-bit OSE too, and checking the system version to select 32-bit or 64-bit OSE when I ready to run OSE in a new pc ?

Hope someone can solve my problem.
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Build 64-bit OSE but run on 32-bit win7 failed

Post by mpack »

That isn't a VirtualBox question, it's a rather basic development question. Naturally you can't run a 64bit executable on a 32bit host, or nobody would need 64bit hosts. This is true for all 64bit apps and drivers.

The opposite is not generally true, at least on Windows, because 64bit Windows hosts specifically provide a WOW32 emulation layer inside Win64 for user level applications backwards compatibility. Win32 hosts do not provide a similar WOW64 layer. In any event VirtualBox isn't a user level app: it uses device drivers so a Win64 VBox build wouldn't be compatible with a WOW32 layer anyway.
mushi_uta
Posts: 3
Joined: 9. Aug 2016, 11:50

Re: Build 64-bit OSE but run on 32-bit win7 failed

Post by mushi_uta »

mpack wrote:That isn't a VirtualBox question, it's a rather basic development question. Naturally you can't run a 64bit executable on a 32bit host, or nobody would need 64bit hosts. This is true for all 64bit apps and drivers.

The opposite is not generally true, at least on Windows, because 64bit Windows hosts specifically provide a WOW32 emulation layer inside Win64 for user level applications. Win32 hosts do not provide a similar WOW64 layer. In any event VirtualBox isn't a user level app: it uses device drivers so a Win64 VBox build wouldn't be compatible with a WOW32 layer anyway.
Thanks to reply. I am poor with driver develop, but I know what you mean. The thing I want to know is when I build a VirtualBox 64-bit, can it compatible 32-bit automatically ? Perhaps can't. So do I nead build a 32-bit OSE too, and checking the system version to select 32-bit or 64-bit OSE when I ready to run OSE in a new pc ? In other words, the VirtualBox binaries you download (like "VirtualBox-5.0.24-108355-Win.exe") is the same no matter you download it on 32-bit or 64-bit pc. Which way can do this ?

Perhaps my question is stupid, but... it is really a trouble to me.
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Build 64-bit OSE but run on 32-bit win7 failed

Post by mpack »

If you build for a 32bit host, it is compatible only with a 32bit host. It can launch 32bit guests, and 64bit guests if VT-x/AMD-v is available.

If you build for a 64bit host, it is compatible only with a 64bit host. It can launch 32bit guests, and 64bit guests if VT-x/AMD-v is available (just like on 32bit hosts).

VirtualBox bundles both executables in a single installer, which is why you may be misled into believing that it was a single executable.
mushi_uta
Posts: 3
Joined: 9. Aug 2016, 11:50

Re: Build 64-bit OSE but run on 32-bit win7 failed

Post by mushi_uta »

mpack wrote:VirtualBox bundles both executables in a single installer, which is why you may be misled into believing that it was a single executable.
You are right, I compare the files install on x86 with the files install on x64. They are totally different. Forgive my ignorance, and thanks for your help :D
Post Reply