- Sysnative папка в Windows 64-битной объяснил
- Папка SysWOW64 в 64-битной Windows
- Sysnative Folder в 64-битной Windows
- What is Program Files (x86) Folder in Windows 8.1 / 10 64-Bit (x64)?
- The folder Program Files (x86) in Windows 10 and 8.1 is the Directory for 32 bit Programs and Program Files for 64 bit Programs
- 1.) . The difference of the folders and x86 (x32) / x64 under Windows! 2.) . Can it crash when I mix the program files!
- 1.) The difference of the folders and x86 (x32) / x64 under Windows!
- See also: ► How to pen the location of an Program in Windows-10 (path, folder)?
- 2.) Can it crash when I mix the program files!
- Why Does 64-bit Windows Need Two Program Files Folders?
- Windows 32 and 64-bit
- Two Program Files Folders in Windows
- Changing the default installation folder for programs in Windows 10 — safely
- Replies (11)
Sysnative папка в Windows 64-битной объяснил
С выпуском 64-разрядной версии Windows 7 в обычное распределение папок в каталоге Windows были внесены небольшие изменения. В 64-разрядную версию Windows 7, Windows 8 и Windows 10 включены две новые папки. Это папки Sysnative и SysWOW64 . Это только в 64-битной Windows. Если вы используете 32-битную Windows на 64-битной машине, вы их не увидите. Также вы не увидите их при запуске 32-битной Windows на 32-битной машине.
За пределами каталога Windows есть еще одна папка, которая называется Program Files (x86) . Мы привыкли к имени папки Program Files, в которой находятся исполняемые файлы наших программ. В 64-разрядных системах 64-разрядные программы хранятся в папке Program Files, а 32-разрядные программы – в Program Files (x86). Однако Windows использует нечто вроде эмуляции для запуска 32-разрядных программ на 64-разрядной машине. И, следовательно, необходимо знать и понимать, какие системные папки в Windows (64-разрядные), чтобы вы знали, как получить нужный файл.
В отличие от 32-разрядных компьютеров, где 32-разрядные библиотеки DLL хранятся в папке System32 , 64-разрядная версия Windows хранит библиотеки DLL, связанные с 64-разрядными файлами, в папке System32. Это облегчает программирование и обеспечивает обратную совместимость. То есть, если 64-битная программа ссылается на System32 в своем коде, она автоматически получит 64-битную DLL при вызове. Это помогает разработчикам, поскольку им не нужно менять код в своих программах для Windows 64-bit.
Короче говоря, Windows переместила все 32-разрядные библиотеки DLL из папки System32 в каталоге Windows в какую-то другую папку, так что предыдущие программы не нужно перекодировать, чтобы получить нужные библиотеки DLL даже при использовании API – после обновления до 64-разрядной. Проблема возникает, когда 32-разрядное приложение пытается получить доступ к папке System32. В этом случае произойдет сбой программы, так как она не написана для обработки 64-битных DLL.
Папка SysWOW64 в 64-битной Windows
Все 32-разрядные библиотеки DLL были перемещены в новую папку SysWOW64 в 64-разрядной версии Windows 7, Windows 8 и Windows 10, поэтому, когда 32-разрядные программы вызывают 32-разрядные библиотеки DLL , они должны добраться до папки SysWOW64.
Вам может показаться, что разработчикам придется сканировать свои программы и приложения, чтобы указать функции DLL в папке SysWOW64. Но Microsoft уже позаботилась об этом. Если это 32-разрядная программа, которая вызывает C: \ Windows \ System32 , эмулятор перенаправит путь к C: \ Windows \ SysWOW64 . То есть для запуска 32-битных программ в 64-битной Windows используется эмулятор, чтобы обеспечить надлежащую обратную совместимость и избежать ошибок при вызове DLL-файлов.
Sysnative Folder в 64-битной Windows
Могут быть случаи, когда 32-битной программе или приложению может потребоваться 64-битная DLL. В этом случае вам придется использовать папку перенаправления Sysnative . Вы можете считать SysNative виртуальной папкой и псевдонимом, указывающим на папку System32. Он не существует физически в вашей системе как таковой. Поэтому, если вашей 32-разрядной программе требуется доступ к 64-разрядной библиотеке DLL, не используйте C: \ Windows \ System32 , поскольку эмулятор 32-разрядной программы перенесет ее в 32-разрядную папку DLL, которая называется SysWOW64. Вместо этого используйте C: \ Windows \ SysNative в качестве пути к программе DLL. Использование Sysnative в пути перенаправит его в папку System32 вместо папки SysWOW64.
Если вы откроете File Windows Explorer, вы не найдете папку Sysnative в C: \ Windows. Даже если вы установили параметры папки, чтобы показать скрытые и системные папки. Это связано с тем, что Windows File Explorer является 64-битной программой при работе в 64-битной Windows, а папка Sysnative видима и доступна только для 32-битных программ.
Подводя итог:
- Папки System32 содержат 64-битные файлы DLL.
- SysWOW64 содержит 32-разрядные файлы DLL, а 32-разрядные программы автоматически перенаправляются в эту папку
- Sysnative – это папка перенаправления, которая позволяет 32-разрядным программам вызывать 64-разрядные библиотеки DLL.
Дополнительное чтение: MSDN.
Хотите узнать разницу между папками System32 и SysWOW64?
What is Program Files (x86) Folder in Windows 8.1 / 10 64-Bit (x64)?
The folder Program Files (x86) in Windows 10 and 8.1 is the Directory for 32 bit Programs and Program Files for 64 bit Programs
1.) . The difference of the folders and x86 (x32) / x64 under Windows!
2.) . Can it crash when I mix the program files!
1.) The difference of the folders and x86 (x32) / x64 under Windows!
In the standard folder «Programs» only the installed x64 applications are saved, such as my program The Quad-Explorer x64.
So:
As before, this serves to provide a better overview and order on the computer, but has no effect on the programs themselves. An x64 program remains an x64 program, regardless of the folder in which it is located. The same applies to the x86 or x32 programs.
(Image-1) Program Files (x86) in Windows 8.1 x64 64-Bit! |
See also: ► How to pen the location of an Program in Windows-10 (path, folder)?
2.) Can it crash when I mix the program files!
This is not a compatibility function for old 32-bit programs. It serves as an overview of where a program is and does not change its bitterness or function.
These 32-bit programs can tell exactly whether they are running on 64-bit Windows, it may be described differently on some pages, but they are unaware that a 64-bit version of Windows will not have 32-bit applications without WOW64 at all can start.
32-bit programs cannot load 64-bit libraries, the so-called libraries for experts, also known as DLL files. Windows also cannot crash when trying to load a specific DLL file and a 64-bit file because it is not possible from a 32-bit file!
The same applies to 64-bit programs, which cannot load a 32-bit DLL.
As a program developer, I know what I’m talking about:
Why Does 64-bit Windows Need Two Program Files Folders?
The answer so you’ll be able to sleep at night
Although Windows XP did have a 64-bit version, it wasn’t until Microsoft released Windows Vista that consumers really had to make a decision of whether to buy the 32 or 64-bit version.
Windows 7/8/10 also comes in 32 and 64-bit versions and if you opted for the 64-bit, you may have noticed that there are two Program Files folders on your hard drive. Read on to explore the difference between 32 and 64-bit Windows and why the operating system needs two separate folders in which to store program data.
Windows 32 and 64-bit
The real difference between Windows 32 and 64-bit has to do with how much memory the operating system can address. To “address” simply means to “keep track of.”
Windows 7/8/10 32-bit (like previous 32-bit versions of Windows) can address up to 4,294,967,296 bytes of information. That’s 4GB of memory. Theoretically, a 64-bit operating system can address up to 1,8446,744,073,709,551,616 bytes of information.
That’s 16.3 billion gigabytes. However, the memory limit on the consumer versions of Windows 7 is 192 GB which is still beyond the physical limits of 8GB to 16GB for most motherboards. For Windows 8, it’s 512GB and for Windows 10, it’s a whopping 2 TB for the memory limit!
Moving from a 32-bit to a 64-bit operating system is more than just a jump in addressable memory. It is a change to a completely different method of keeping track of data. This is why hardware (such as a sound card) needs a completely different driver to work in 64-bit Windows.
Two Program Files Folders in Windows
If you have the 64-bit version of Windows, you may have noticed that there are two Program Files folders on your hard drive.
One is simply labeled Program Files and the other is labeled Program Files (x86). The first folder is the default location for all of your 64-bit programs. It does not have an extra label at the end because as a 64-bit operating system, it is assumed that the 64-bit applications will go into this folder.
The second folder labeled Program Files (x86) is the default location for all of your 32-bit applications. In a sense, it is a folder designed for legacy software that is left over from the days of 32-bit operating systems. The x86 portion of the folder name refers to the x86 32-bit architecture upon which the first 32-bit processors were developed such as the 386, 486, and Pentium CPUs.
Unfortunately, switching from 32-bit to 64-bit applications and operating systems is not as simple as Microsoft would like. To make the switch, every software vendor, hardware manufacturer, and user would suddenly have to stop making and using anything built on a 32-bit architecture and begin using 64-bit. This is entirely impractical because most people are not willing to just junk their investment in hardware and software and buy everything new again.
Microsoft’s solution to this transition from 32-bit to 64-bit has been to add legacy support for most 32-bit applications. In other words, most 32-bit applications will function in the 64-bit operating environment.
To help make the transition easier, Microsoft has designated that all 32-bit application should, by default, be loaded into the Program Files (x86) folder rather than getting mixed in with true 64-bit applications in the regular Program Files folder.
Windows uses an emulator of sorts to run 32-bit applications in 64-bit Windows. You may have seen some folders on your system that have the term WOW64. WOW64 stands for Windows 32-bit on Windows 64-bit. Whenever you run a 32-bit program and it needs to access the program files directory, it is seamlessly redirected to C:\Program Files (x86)\ using WOW64.
You can quickly see which programs on your computer are 32-bit and which are 64-bit by simply browsing into the two folders.
Every couple of months, I normally check the software developer’s website to see if they have released a 64-bit version of the program. Sometimes you have to dig a little to find the 64-bit version of a program. Most vendors even today still push the 32-bit versions as the main download. For example, you can install the 64-bit version of Office 365, but it’s not the default download.
Soon, however, most applications will be 64-bit, making the need for multiple Program Files folders unnecessary. Still, even Microsoft when it released Windows Vista 64-bit, failed to develop and release a 64-bit version of Office 2007 that was released at the same time. Also, a lot of the default Windows Store apps from Microsoft in Windows 10 are still 32-bit apps.
Keep in mind that by the time we all make the switch to 64-bit applications, it is likely that talk of 128-bit architectures will force us to go through the whole process again. Enjoy!
Founder of Help Desk Geek and managing editor. He began blogging in 2007 and quit his job in 2010 to blog full-time. He has over 15 years of industry experience in IT and holds several technical certifications. Read Aseem’s Full Bio
Changing the default installation folder for programs in Windows 10 — safely
Having recently installed Windows 10 after my incredible XP Pro server died suddenly, I have immediately managed to break it by changing the default installation folder for programs through Regedit.
I did this following input I found online; when, I must admit, I entirely ignored the warning that currently installed programs may no longer work. That turned out to very true. Win10 loaded alright, but many actions produced no result whatever, not even an error message. Could not repair it either, and eventually I had to resort to a Linux-based tool (PMagic, if you must know — very cool stuff).
The solution suggested in the initial input was to move all currently installed files and folders to the new location.
I have been a believer in multiple partitions and physical disk drives for a very long time (and I always have several). I do not subscribe to the Microsoft approach, which puts everything into the C:\ installation partition — unless you tell it otherwise.
Unfortunately, some programs will not prompt for an installation path of choice. Thus my efforts in the Registry.
And this, therefor, is what I put to the community:
- Is there an official, Microsoft approved method of changing the default installation path for all user installed programs?
- If not, would it indeed be safe to change all relevant keys referring to ProgramFilsDir in the Registry and then simply and at the same time also move all material from the C:\Programs folder into a partition on another drive (entering the target location, in my case simply F:\ into the registry keys?
- Having thought about this for some time, I wonder: would it in fact work if I simply substituted (ie put into C:\ a shortcut named Programs, and have the shortcut point to my preferred location of F:\
And if you need to know: F: stands for Foftware, since S: I use for Source of programs. But funny bits aside, I am serious about my intentions and would really appreciate some knowledgeable input.
Greetings from down under
Replies (11)
* Please try a lower page number.
* Please enter only numbers.
* Please try a lower page number.
* Please enter only numbers.
Thank you for posting in Microsoft Community.
To change the default installation path, just follow below steps:
1. Press Windows key + R and type gpedit.msc
1. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion.
2. At the right panel, look for ProgramFilesDir.
3. Double click on it to change the value to your desired path. For example, change the value from C:\Program Files to D:\Softwares.
Registry disclaimer
To do so: Important this section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
How to back up and restore the registry in Windows
Let us know the status of the issue.
5 people found this reply helpful
Was this reply helpful?
Sorry this didn’t help.
Great! Thanks for your feedback.
How satisfied are you with this reply?
Thanks for your feedback, it helps us improve the site.
How satisfied are you with this reply?
Thanks for your feedback.
Is there an official, Microsoft approved method of changing the default installation path for all user installed programs?
No.
If not, would it indeed be safe to change all relevant keys etc. etc.
Only if you want to trash your install.
Having thought about this for some time, I wonder: would it in fact work if I simply substituted (ie put into C:\ a shortcut named Programs, and have the shortcut point to my preferred location of F:\
See above answer.
You seem intent on making the operating system work in a way it was never designed to work. You must have the coolest automobile, but I wouldn’t want to drive it.
2 people found this reply helpful
Was this reply helpful?
Sorry this didn’t help.
Great! Thanks for your feedback.
How satisfied are you with this reply?
Thanks for your feedback, it helps us improve the site.
How satisfied are you with this reply?
Thanks for your feedback.
Thank you for your input, all parts of which are fair enough. And, yes, maybe I am intent on that, but just maybe the OS could offer more options. And I do drive the coolest car.
But seriously, I am thinking that there is speed to be gained by having the OS on one drive; and have it load programs from another. And this is the basis for my efforts; which I will now abort anyway.
2 people found this reply helpful
Was this reply helpful?
Sorry this didn’t help.
Great! Thanks for your feedback.
How satisfied are you with this reply?
Thanks for your feedback, it helps us improve the site.
How satisfied are you with this reply?
Thanks for your feedback.
Thank you for responding. I will need to think about doing it again this way (if at all). I had followed this lead: http://www.groovypost.com/howto/modify-windows-default-program-install-directory/ which referrs to two keys and adds detail for 64-bit systems — which mine is.
I boldly changed all and stuffed it up big time as I said in my post.
If I follow your lead precisely, can I assume that the Windows programs continue to work, while having my installs go to the new path? In my earlier efforts I could not even open the registry editor anymore; so could not fix the issue. And attempting to Repair from the installation medium also failed.
Was this reply helpful?
Sorry this didn’t help.
Great! Thanks for your feedback.
How satisfied are you with this reply?
Thanks for your feedback, it helps us improve the site.
How satisfied are you with this reply?
Thanks for your feedback.
Given the speed of today’s hardware, I don’t think it would make any difference performance-wise if you tried to install applications on a different partition.
No matter where you install them, applications write to the registry, which is always located on the system partition. Applications also install files onto the system partition and reference libraries on the system partition. Applications and the OS are deeply linked so it makes no sense to separate them. It’s like making newlyweds sleep on separate beds.
If you want to separate your data from your software, that’s a fabulous idea. Windows makes it easy to do that. And it makes sense, because if you need to restore a backup of your OS why send your personal folders back in time, and vice versa?
Was this reply helpful?
Sorry this didn’t help.
Great! Thanks for your feedback.
How satisfied are you with this reply?
Thanks for your feedback, it helps us improve the site.
How satisfied are you with this reply?
Thanks for your feedback.
I have similar questions. Not sure how to get around it yet.
As part of justification for 3 partition setup.
Microsoft has been notorious for having its own updates, or other softwares and their updates, mess up many times.
Also, some executables turn out to be viruses, bcs MS is so inept at making and keeping a secure OS, as they have even given up on MS essentials and really want people to go get other companies’ antivirus.
jBut the main thing is running C drive on an SSD, esp if only 64gb which used to be plenty big but now is too small, and soon enough even 128 gb will be too small bcs of all the MS bloat!
So having just the OS on the ssd, and then putting your added programs on a spinning hard drive partition and your data drive on another spinning hard drive partition, is the MAIN reason that people need this setup!
On win xp and win 7, i have always run 3 partitions, and using the junctions and rededit minor changes for drive letters.
My config is C, E, G — C for win os of course, E for executables, and G for garage (ie, personal data, stuffed like everyone’s house garages with all my stuff, my keepsakes, etc.
As an additional benefit, my disk drive i always make D (like, duh!), and then my sd slot and photo card I relettered to F for Fotos.
Thus, i have a c,d,e,f,g that covers all my computer needs. and then use 2 tb external hard drives M for multimedia (music, pics), and another for N for nickelodeon (ie my movies/films/vids). If I get to the point of needing a pix only xhd, then of course P will come in handy.
In any case, when Windows messes up and have to do reinstall at some point. then I only have to reinstall first the os on C, and leave E and G alone.
I’ll have to reinstall programs from E, but the point is that all the exe and setup files are there on my E, and preserved, so i just start dblclicking their file names to get them reinstalled.
I dont have to remember what programs I had, or what I might have lost (ie some software like DVD shrink or mgi photosuite for win 7 no longer seem to exist and impossible to re-obtain).
The fact that I like to redirect my Program Files and Program Files (x86) to my E drive is also to help protect all 3. if something nasty gets in (which it hasnt sincce Ive been careful), I believe it less likely that it will run amok my whole system. at least it would have a much smaller play area, ie only the E drive, where it might do stuff.
BUT the main reason is bcs of using an SSD for the C os drive!
In any case, the drive letters should NOT matter to microsoft.
Particularly since it has always worked on their systems, and there are innumerable posts and websites of how to do these steps in XP and 7 bcs some people just want to.
It is my computer and *I* should have some say in where things go, as I have an entire system, as many others do, so that I can find my stuff, and protect myself.
It just gets irritating that microsoft, who can’t ever manage to put out any product without bugs, fixes, or new breakings of other things.
thinks that it knows better than me about what i want.