64 bit versus 32 bit for Windows phone development - windows-phone-7

I just spent all day loading up my new windows 8 laptop with all my dev tools. Only to find out that my OS version was the 32 bit version.
When I tried to run the emulator for my windows phone 8 app I got an error saying I needed "Hyper-V". Apparently "Hyper-V" is only available on the 64 bit version.
I have a two part question. How do I develop using my current 32 bit OS and dev tools? From what I'm reading I can still test with a registered phone. Any information on how to do this?
The other question is, do I bite the bullet now and upgrade to the 64 bit OS (which is a reformat and re-installation of everything)?
Thanks

I would bite the bullet and upgrade to 64 bit now. The full system requirements for Windows Phone 8 development are here. Besides needing 64-bit Windows 8 Pro or higher to use the Windows Phone 8 emulator, the other "gotcha" is needing a processor that supports Second Level Address Translation (SLAT).
PCs that support SLAT are Intel-based processors that start with i (e.g., i3, i5, i7, i9) or any CPUs based on the Nehalem, Westmere, or Sandybridge micro-architectures. 
To determine if your machine supports SLAT, perform the following steps:
Download SysInternals/TechNet CoreInfo at http://technet.microsoft.com/en-us/sysinternals/cc835722
Run "coreinfo -v"
If you have "*" next to "EPT", you should be good. If you have a "-" next to EPT, your processor doesn't support SLAT.

If you hace a Windows Phone 8 device you can "unlock" it and deploy and debug apps in it, so you can keep your 32 bits OS.
Otherwise, you need to format and install a 64 bits version of Windows 8.

Related

How does Windows work on every processor? [duplicate]

This question already has answers here:
Why can an executable run on both Intel and AMD processors?
(2 answers)
Closed 2 years ago.
I hope this isn't the dumbest question ever, but on my journey to learning about creating an OS, I thought about this and no amount of research is getting me anywhere.
How is it, when you install Windows on your computer, it just works, regardless of the underlying processor?
Let's say you have a 32-bit copy of Windows. How is it able to be run on every 32-bit CPU if the architecture is different per CPU? I see alot of resources saying bootloaders (where your OS starts booting), are written in assembly (which is tied to your processor instruction set). In that case, why is a Windows 32-bit OS able to run on Intel x86 as well as AMD?
For example, if I wrote a bootloader in x86, I can eventually make an ISO and boot it as my "primary" OS. But wouldn't that be tied to the CPU I wrote it for? So if I was a big company, how would I make my bootloader work for other CPUs?
Thanks! Sorry if it's a vague or repeated question, but I honestly could not find the answer.
"32 bit Windows" only runs on PC's with X86 32 bit processors. Windows includes drivers for various motherboards and devices, and can install drivers from CD or USB for devices not already supported by drivers included with the Windows install.
Some versions of Windows can run on multiple platforms, but require a Windows built specifically for that platform. The most common case of this is current versions of Windows that are either 32 bit (runs on X86) or 64 bit (runs on X86 X64). Windows NT 4.0 has versions for Alpha, MiPs, PowerPCs and PCs in 32 bit mode. XP was the first Windows to have a X64 version, and it can also run on Itanium. Windows 10 has versions for ARMV7 and ARM64 in addition to its 32 bit (X86) and 64 bit (X86 X64) builds.

Windows 8 installation

I am trying to install windows 8 on my PC (it has all the minimum requirements)
When I insert the CD, it starts to boot normally from it, but then i get an error:
Your PC needs to restart.
Please hold down the power button.
Error Code: 0x0000005D
Parameters:
0x030F0401
0x756E6547
0x49656E69
0x6C65746E
I have tried to restart the computer but I get that error again.
I hope that someone can help me.
The message tell that CPU doesn't support the required CPU features like SSE2, PAE and NX-Bit.
May be this can help you:-
Unlike Windows Vista and 7, Windows 8 (as from build 8400) is not
compatible with all models of the Pentium 4 processor.
This is due to the fact that Windows 8 requires a processor compatible
with the following functions: SSE2, PAE and NX bit. All Pentium 4 are
compatible with SSE2 and EAP: the problem may come from the NX bit.
First, make sure your Pentium 4 model supports the NX bit: for sockets 423 or 478 processors, then it won't work (in most cases).
For sockets 775 processors, it can be compatible. If the CPU supports NX-bit, you can install Windows 8 32-bit or 64-bit (it
depends on the models!).
Also make sure that NX bit is not disabled in the BIOS (if present).
Also check this:- PAE/NX/SSE2 Support Requirement Guide for Windows 8

64 bit processor running at 32 bit on mac

according to apple's mac processor list a i5 should be a 64 bit processor. According to this video if i type uname -m in terminal i should get x86_64. but in my case it says i386 instead. why is that? i developed also an app, that is a 64 bit only app. that app is NOT running on this mac. it crashes at start. but if i compile in x86_64 mode instead of 64 bit only then it works. does somebody have an idea on how to fix this?
ARC is not supported under 32-bit runtimes. Therefore if you are using ARC you will need to produce 64-bit binaries only.
From Transitioning to ARC Release Notes:
ARC is supported in Xcode 4.2 for OS X v10.6 and v10.7 (64-bit
applications) and for iOS 4 and iOS 5. Weak references are not
supported in OS X v10.6 and iOS 4.
The video is wrong: uname -m tells you what mode the kernel is running in, which has very little to do with userland programs such as yours. If you want to to find out for sure if the CPU is 64-bit capable, use sysctl hw.cpu64bit_capable -- since you have an i5, it should print hw.cpu64bit_capable: 1 meaning "yes" (0 would mean "no"). Also, run the Activity Monitor utility, and note the modes various processes are running in -- my guess is that a lot will be in "Intel (64 bit)", since in 10.6 most of the programs supplied with OS X came in 32/64-bit dual architecture, and will prefer 64-bit.
Now, about your app: It should run in 64-bit mode whether you compile it 64-bit only or 63/64, so I doubt that's the problem. To be sure, compile it 32/64, run it, then use Activity Monitor to see what mode it's actually running in.
I can't tell for sure, but my guess would be that your app has a problem with ARC. At least as I understand it, that's only enabled if you compile 64-bit only (and disabled if you compile 32/64).

Is there any way to execute 64-bit programs on a 32-bit computer?

Just a simple question: Is there any way to run a program compiled under a 64 bit Windows environment (with mingw64) on a 32 bit machine? Any DLL or any compatibility layer which I can use?
If you are talking about a 32-bit processor, then no. But if you are running a 32-bit OS on 64-bit hardware, then you can do it with VMWare. A 64-bit guest can run on a 32-bit host, if the hardware supports it.
Bochs should do the trick, but you'd need another copy of Windows to run in the virtual machine. (Some editions of Windows include additional licenses for virtual machines, so you might be in luck.)
Performance would probably be very poor.
No you cannot do this. The other direction is possible through an emulator, e.g. on Windows it is called WOW64.
It is standard practise on platforms that still have large install base of the 32-bit versions of the OS to ship either just a 32-bit version, or both 32- and 64-bit versions.
I can recommend VirtualBox for this purpose, you can download the free version and it's easier to use than VMWare. However you will need a 64bit installation CDROM, and storage space for a full system install, and if you are installing Microsoft Windows they will expect you to pay for a license key.
Also your CPU needs to support both 64 bit mode in the hardware, and the vt-X/AMD-V features (most of them do). It's a bit slower, although mostly that seems to be the display that slows it down, not the internal program calculations. This is NOT an emulation, the CPU is really running native 64 bit, but VirtualBox fakes the hardware devices (display, disk, network, etc) so the result is not as nice as running normally. 3D graphics acceleration is available, but it has limitations.
An easier option is simply to hire an online Virtual Machine by searching for someone offering 64 bit versions of Windows Server (there are plenty). Usually they will offer connection over Remote Desktop, typically you can pay by the month. Upload your programs, run what you want, then delete it when you are finished and cancel the service. The service provider handles installation, licensing, hardware, etc.
hey that was a problem that gave me a headache for a while but i solved it. I had windows 10 32 bit but when i opened system in control panel it said that "32 bit architecture, 64 bit processor." lookup some websites and your hardware must have a few things which you can check in CPU-Z( lookup some webpages for this) its necessary. Then export your folders,documents, softwares in an external hard drive..now download the windows 10 64 bit iso file and boot it.ands viola! you got 64 bit architecture ( i also recommend upgrading ram atleast minimum 4 gb) or the other way is to install 64 bit guest in VMware ir another virtual machine software...gud luck
No, It is not possible...........

XNA Windows Phone Simulator on 'Mac-Windows' vs. regular Windows

I installed my .net stuff recently on a Mac, i.e. preinstalled a version of Windows 7 before using Bootcamp. Does anyone have an explanation, why the Windows Phone 7 Simulator is so slow, compared to a Simulator installed on a 'regular' Windows system when deploying a target onto it?
Performance overhead might be caused because of the non-nativity of the hardware platform you are running it on. The emulator itself has a set of requirements - if these aren't met then you should expect serious drops in performance and stability (in case it starts).
When you're comparing the performance "Regular Windows", do you mean on another machine (PC)? If so, it could be down to hardware differences - (Graphics card, processor speed, less RAM, slower hard disk).
It could also be down to drivers - I don't know much about the Mac hardware, but it's possible Windows drivers aren't as good for hardware that's more commonly used by Macs.

Resources