VMware Communities
Joe_Smith
Contributor
Contributor

64-bit VMware Workstation installs into Program Files (x86) - File Version 12.1.0.2487

Greetings,

We are running 64-bit Windows 10 Enterprise workstations. We have installed the 64-bit version of VMware Workstaion 12 Pro (File Version 12.1.0.2487) as a trial. It has failed at the first hurdle.

When we start VMware Workstation, open the Task Manager, and we see that VMware Workstation (32 bit) is listed in the Apps Processes. Very Strange! Further investigation shows that VMware Workstation is installed in C:\Program Files (x86)\. Now, that's a very strange place for a 64-bit application to be installed - it should install into C:\Program Files\.

So, this leads to two questions:

1) Why does VMware install its 64-bit application into the Windows 32-bit installation folder?

2) Is VMware cheating us by claiming that their product is 64-bit while it is, in fact, only 32-bit?

Regards

Joe.

10 Replies
dariusd
VMware Employee
VMware Employee

The user-interface component of VMware Workstation Pro/Player for Windows (vmware.exe) is a 32-bit application, as you've found.  The user-interface component isn't responsible for actually making the virtual machine run, though... it's "only" the user interface, which allows you to create and manipulate virtual machines.

The virtualization engine (vmware-vmx.exe) is a separate 64-bit application which gets launched when a virtual machine is powered on.  It will utilize the capabilities of a 64-bit CPU and a 64-bit host operating system for the critical and complex task of running the virtual machine.

Are you encountering any specific problems as a result of vmware.exe being a 32-bit application?

Hope this helps!

--

Darius

Joe_Smith
Contributor
Contributor

Hi Darius,

Many thanks for your response, which we've marked as Helpful. It makes a good attempt to explain what we're seeing but it is not an Answer.

However, it does not explain any of the following:

1) If VMware Workstation 12 Pro is a 64-bit application, why is the only location that it appears is in C:\Program Files (x86)?

2) There is no VMware folder in C:\Program Files. Why is this?

3) If vmware-vmx.exe is a separate 64-bit application, why does it not appear in Windows Task Manager when a virtual machine is running?

4) Why does the 64-bit VMware Workstation 12 Pro package use any 32-bit application?

5) Further to question 4; Does this mean that the 64-bit VMware Workstation 12 Pro package was rushed out before it was made completely 64-bit?

In response to your question; we are not encountering any specific problems as a result of vmware.exe being a 32-bit application. However, as we are evaluating a 64-bit VMware Workstation 12 Pro installation, we need to be certain that there is value from the investment. We'd need to be able to answer why a 64-bit purchase uses 32-bit applications, as asked above?

Regards

Joe.

dariusd
VMware Employee
VMware Employee

1) If VMware Workstation 12 Pro is a 64-bit application, why is the only location that it appears is in C:\Program Files (x86)?

2) There is no VMware folder in C:\Program Files. Why is this?

Sorry, the Windows installer is very far away from my area of expertise, so I can't answer these.  I would imagine that our mix of 32-bit and 64-bit executables would make things unconventional at the very least.  (I'm trying to help out, but I'm neither a Windows person nor an installer person...)

3) If vmware-vmx.exe is a separate 64-bit application, why does it not appear in Windows Task Manager when a virtual machine is running?

It should appear in the process list, but it runs with different identity/privilege, so you may need to select a "Show all processes" or "Show processes from other users" option in order to see it.  If I remember correctly, it's considered a separate "process" but not a separate "application" (but I might be wrong about that, or it might depend on your Windows version, etc...).

4) Why does the 64-bit VMware Workstation 12 Pro package use any 32-bit application?

5) Further to question 4; Does this mean that the 64-bit VMware Workstation 12 Pro package was rushed out before it was made completely 64-bit?

There is one answer to these two questions, and it is a very practical but possibly-unpopular answer.  Any time a piece of software is released, a balance needs to be struck between getting as much of the prioritized to-do list done as possible while still actually releasing a product.  If you try to release "too soon", there will still be high priority items that aren't fixed/implemented/addressed.  Spend too much time fixing everything, and you'll release "too late" and your customers complain that you're not supporting the latest technologies (CPUs, operating systems, peripherals, etc.) and not responding to customer needs.  It's a huge challenge to release a fully-finished and fully up-to-date system-level product in a rapidly-moving ecosystem, so we have to depend on the prioritized to-do list to ship something that tries to meet the needs of the majority of our customers at that time as best as we can.  In the absence of unlimited engineering resources, there will always be things that we'd like to complete that just can't be done in time for the release.

Our Windows user-interface was originally written in the late 1990s, long before any notion of 64-bit Windows for x86/x64.  Moving the user interface to 64-bit has been on our to-do list for quite a while, but I've heard that the task is deceptively complex (much larger than switching to a 64-bit compiler and hitting the "compile" button), and I gather that the task is not yet complete.  I know that we've been working on it; I don't know why it's not yet in your hands.  As far as I know, there is currently no impact (or very nearly no impact) to having a 32-bit UI, so it would seem that it was justifiably treated as an item that would not strictly need to be completed before the release of Workstation 12.  From a rational release-management perspective, that doesn't in any way imply that Workstation 12 was "rushed out".

I hope that my explanation is satisfactory.

Cheers,

--

Darius

mifi29
Contributor
Contributor

I was also wondering if I had downloaded and installed the wrong product version, so I came here through Google. Actually the download site does not explicitly mention whether it is 32 or 64 bit software. It only states 64 bit vmware tools are included.

Darius, I like your answer very much and absolutely understand what your're explaining; thanks a lot.

-Michael

Reply
0 Kudos
lysakowski
Contributor
Contributor

I am repeating the "meat" of the questions from the original post, because they were not adequately answered.

    1) If VMware Workstation 12 Pro is a 64-bit application, why is the only location that it appears is in C:\Program Files (x86)?

    2) There is no VMware folder in C:\Program Files. Why is this?

A 64-bit vmware-vmx.exe executable should be in the Program Files directory, not Program Files(x86) directory. 

Something else needs to be explained.

It runs okay in this configuration, but it confuses those of us "with a need to know". 

Thanks for a more complete answer (when it happens!)

Best Regards,

Rich

Reply
0 Kudos
HalDav17
Contributor
Contributor

The question you're asking isn't new to me.  I've had a few upper level IT ask me the same thing and I'm just a freelance student doing mostly hardware cleanup and recovery.  I can see the logic here, so let me try to explain it to you.

First, when you roll out an app, no matter what the actual functions are, you have to target the installation in a way that makes it versatile or you'll get nothing but complaints about not being able to install in certain ways.  Yes, the viewer is 32bits, but you can install it anywhere you want, technically.  Just because windows loads a program from a location doesn't mean that it will run in a specific kernel.  The locations are there to prevent confusion, yes, but not everybody puts things there anyway, so you do have the option to put the install where you want.  I've run the play app from a usb flash drive, it makes no difference, except for the speed at which it loads.

The other logic here is that they want to keep all files in the same location to simplify software removal or upgrade later.  It's easier to grab the top level location and work your way down when you only have one top level folder, and it's faster to upgrade.  I've done benchmarks that prove that even on the same SSD with a basic windows 7 system, and one app installed, splitting the files up slows it by half.  In other words, keeping the software in one place allows it to be upgraded or removed at twice the speed.  Why does it install to an x86 folder?  The main interface is still 32bits, and many low end business machines are still using 32bit windows to function efficiently.  This allows VMware to function in both environments, having a dual install in a single installation.  It's faster to install, and to develop when you can leverage the power of the lower end on operations that don't require the registers of the higher.  It's also easier on system resources.  Ops that take up 8mb or more memory on a 32bit can often take 12 to 16 on 64bit, especially if you use any higher resolution visual displays.  Keeping the visuals for the opening app to 32bits allows them to run in a 64bit space through WoW (the kernel extension that runs 32bit apps).  They do run slower, due mainly to the overhead of altering the memory space, but not by much.  Basic User Interface elements actually have almost no noticeable difference at an i3 dual core, a slight difference on an i5, and only a second or so on an i7 (dual cores all).  With a quad core it is more noticeable after you've tried native 64bit interfaces.

All that said, Why is it going to an X86 folder?  Because you told it to, genius.  You should still have the option to put it wherever you want.  I've installed it to external drives, you just have to tell the installer to put it there.  Older apps didn't allow this, as they were trying to maximize on the external files they needed being on the same drive and the lack of threading meant it was faster to read the files from the same drive in a tape-drive-like fashion, as they were needed.  But with threading, and partitioning becoming evermore popular, that has changed.  Installing to drives other than the main drive can sometimes increase the speed at which programs run, especially when they can read the files in a threaded fashion, almost simultaneously.

Another option:

Once installed, put a symlink to it in the x64 program files folder.  This will allow you to find it there.  I do this with every single app I install, then I can get to it from that folder.  In windows, they call it a hardlink, which refers to mapping a pointer to a hard drive location, rather than using a shortcut.  Shortcuts still have to run through the OS layers before they get to the drive location (translating the drive letter to a physical drive and all that).  A hardlink goes right to the drive.  I then redo shortcuts that use the link rather than the actual placement.

Option 3: install it, then move the folder, and update your registry by hand.  I don't recommend it, but it does work.

Reply
0 Kudos
datalifenyc
Contributor
Contributor

Thanks for the info @dariusd.

I wanted to add the location of vmware-vmx.exe in case someone is looking for it:

C:\Program Files (x86)\VMware\VMware Workstation\x64

Reply
0 Kudos
JustTech
Contributor
Contributor

Could I just point to the "Program Files" folder instead of the "Program Files (x86)" for it to install to? Would that create any problem or, it doesn't matter where it's installed to?

 

Thanks.

Reply
0 Kudos
RDPetruska
Leadership
Leadership

Pretty sure you can't change the installation folder, just the drive.  But honestly it makes no difference.

JustTech
Contributor
Contributor

I realized that. Anyway, it's working.

Thanks.

Reply
0 Kudos