What is x86 and did I do something wrong when installing Microsoft Visual C++ 2010 Redistributable Package (x86)

Atekkusu

Reputable
Feb 23, 2017
43
0
4,530
So I just got a new SSD, and I recently installed windows on it. I wanted to run some benchmarks and see if the stuttering I had with my 5 year old HDD had vanished. So, I installed Valley Benchmark and ran into the error "msvcp100.dll missing for unigine valley benchmark". So I looked up online to see what the issue was and I found https://www.reddit.com/r/Windows10/comments/3ulr79/msvcp100dll_missing_for_unigine_valley_benchmark/

Here it stated that I needed to install MS Visual C++ 2010 runtimes.
I looked that up and installed https://www.microsoft.com/en-us/download/details.aspx?id=5555
It worked fine.

Then I noticed after that "TheLatestTrance" stated that "if you are running x64 download both 64 bit and 32 bit service packs. My processor is an x64 processor. I downloaded x86... So, does this cover the x64 and x32 that I apparently should have downloaded? Thank you :)
 
Solution

jacobweaver800

Respectable
Dec 15, 2017
1,539
0
2,460


X86 is the instruction set used by pretty much all newer CPU's, there are other ones like X58, but X86 is the most common, this just means that you need an X86 compatible system for that software.
 


x86 is the 32bit version of code that runs on x86 processors, going all the way back to the first x86 processors, 386, 468 etc. x64 is the 64bit software which will only run on later processors (anything from the last 10+ years will be fine).
I've never heard of x58...
 

TJ Hooker

Titan
Ambassador
The term x86 is often used to refer to 32 bit software, in comparison to 64 bit. Is your OS 64 bit? You can check by going to control panel -> system.

If it is, yes installing the 64 bit version would have been better. Some installers contain both versions and will automatically install the appropriate one, but if there were two different installers (one called x86 and the other 64 bit), then it would have installed the 32 bit version.
 

jacobweaver800

Respectable
Dec 15, 2017
1,539
0
2,460


X58 was an instruction set used by Intel awhile ago, it never went very far and AMD's X86 just dominated and they licensed it to Intel.
 

jacobweaver800

Respectable
Dec 15, 2017
1,539
0
2,460


Funny, I have never heard X86 being referred to 32-bit programs. Even if that was the case, they put X86 there so that the person installing it knows that it only works on X86 capable CPU's, there are X58 CPU's still in the system where X86 programs won't work on it so they label it X86.
 

CaptainCretin

Respectable
Jul 18, 2016
625
0
2,160
x86 commonly refers to 32bit cpus (anything directly compatible with the coding for the original 8086 cpu), and also for 32 bit operating systems, regardless of 32 or 64 bit cpu.

x64 technically refers to AMD 64 bit cpus, but is commonly used for any 64 bit cpu in a 64 bit operating system.

If you are running a 64 bit operating system, you need the x64 package as well.

The reason you need both is because most Windows operating systems will still run 32 bit programs, so need the 32bit versions of certain programs, as well as the 64 bit versions.

 

TJ Hooker

Titan
Ambassador

Ever notice how on Windows PCs there are "Program Files" and "Program Files (x86)" folders? By default, 32 bit applications get installed in the x86 folder, 64 bit get installed in the other.

Literally every desktop consumer CPU for decades has been based on the x86 instruction set AFAIK, I don't think they need to include "x86" for every program for the sake of letting people know which instruction set it is.

X58 isn't an instruction set, its a chipset/PCH...
 

TJ Hooker

Titan
Ambassador
AFAIK it's always better to install the 64 bit version of software if it's available (and you have a 64 bit OS). That being said, if the Valley benchmark seems to be running fine I don't know if installing the 64 bit version would make a difference in the performance of that benchmark.
 

Rogue Leader

It's a trap!
Moderator


Yeah.... no.

X58 is an Intel chipset from the LGA1366 era, not an instruction set. Instruction sets are x86, RISC, ARM and others. All "Windows PCs" run off x86 except some recent ones that work on ARM. Its been the same standard since the 40 year old 8086 processor, just updated to x64 to include 64 bit instructions.



On what planet? Intel invented x86. AMD licensed it from Intel. There was literally a massive lawsuit over this. Huge history of AMD thing.

OP If you needed the 32 bit version that package would have installed it. If the software all works you have nothing to worry about.


EDIT: @jacobweaver800, what you may be thinking of is the x86-64 (now commonly referred to as x64) instruction set. Intel and AMD developed their own versions of 64 bit extensions to x86 (Intel's being called IA-64). Intel used it only in Itanium processors, it did not work nearly as well as AMD's version so upon the extension of AMD's contract to use x86 they entered a cross licensing agreement on the AMD developed x86-64 instructions, of which Intel made their own slightly different version they call Intel64. They still managed to sue eachother a bunch of times but resolved it like 10 years ago. For all intents and purposes all of them are x64 at this point. System drivers and slight differences in Windows code handle any differences.
 

Rogue Leader

It's a trap!
Moderator


As I mentioned if everything worked fine you have nothing to worry about. Sometimes those messages are old and relate to old download packages.

FYI there is no "x32" 32 bit instructions are x86, x64 is the evolution of x86 to a 64 bit instruction set.
 

Eximo

Titan
Ambassador
For completeness:

There are five or six major architectures out there.

x86, Intel's more or less from the days of the 16bit computer. So not really 32bit, but it has been 32bit for 30+ years
AMD64 (or x86-64) Yes there is a cross licensing agreement between AMD and Intel. AMD gets to use x86 and Intel gets to use AMD64
IA64 Itanium (Intel's somewhat successful 64bit instruction set) (HP was still selling it about 5 years ago)

Important to note that x86 (32bit) can still run 16bit instructions X86-64 and IA64 can't. Why I have a pile of Windows XP VMs for backwards compatibility.

The above are CISC architectures (Complex instruction sets), below are the RISC (Reduced instruction sets)

ARM (32bit)
ARM64
Motorola's PowerPC - Used in several game consoles and famously many generations of Apple PCs.

ARM instruction sets have been the primary instruction set inside of mobile devices, network devices, home appliances, and all kinds of products for a long while. In the last ten years it has really taken off to become a rival to x86 based systems. I believe Apple is planning to switch their PCs to ARM64 in the near future)

There are some others, but you only see those on industrial/commerical products mainly. And groups like NASA/Aerospace like to stick with some old tech for reliability.
 

Eximo

Titan
Ambassador
As for C++ runtimes. You can install pretty much all of them or none of them. If they are needed they are typically included in the installer of a program. A little surprising they didn't actually. And you will need the specific one that is called for in the finished program. The 64bit runtimes contain different code than the 32bit runtimes.

If the program asks for one, that is the one you need. You can go with newer versions though, but each edition like 2005 is distinct.2008 C++ runtimes don't contain the 2005 C++ runtimes, and etc.

For instance, my work computer decided on 2013 x86 and x64, 2017 x86 and x64.
My gaming computer has 2003 and up pretty much every version.

 

Atekkusu

Reputable
Feb 23, 2017
43
0
4,530


Mmm... I only installed the x86 though and it worked fine... why is that so?
 

Rogue Leader

It's a trap!
Moderator


But it still had the x86 instruction set on board, we are talking about semantics here. x86 is the reason it wasn't used mainstream, because of its weaker performance on legacy programs.
 

Rogue Leader

It's a trap!
Moderator


Its a full x86 package, it likely has the x64 built in and will install as needed. Remember x64 is an extension of x86.
 
Solution

Eximo

Titan
Ambassador


They are separate and distinct. That program just doesn't require the 64bit runtimes. When they published the software they didn't include the prerequisites. Either an oversight because all their computers already had it (I run into this a lot at work, so many developers completely forget that not everyone has development tools installed), or they assumed, likely correctly, that most people running their benchmark would have many games installed that also need those prerequisites.

You don't see it anymore since Microsoft pretty much handles it now, but games used to install DX/Direct3D, Adobe products for viewing readme files, video playback features, WinG32, and a ton of other software files needed to execute graphics and code.

If there are no issues, don't worry. But you will likely end up with the 2010 64bit runtimes when you start loading in your games. Steam also hides a lot of prereq installs, as they are very easy to install 100% silently, and they don't require reboots.
 

Rogue Leader

It's a trap!
Moderator


You're right here is x64

https://www.microsoft.com/en-US/download/details.aspx?id=14632

One of the hurdles installing old games is what you describe. The installers crash trying to install OLD DX versions and other runtimes they need that Windows 7 and 10 have since eliminated.

Either way its clear this software doesn't need it, or uses already installed libraries.
 

CaptainCretin

Respectable
Jul 18, 2016
625
0
2,160



MicroGit does actually have x86 and x64 versions, I am guessing the benchmark software will only benchmark 32 bit programs if it only has the 32 bit version installed.

The Reddit post does link to the x64 version and not the 32bit version