J'ai un fichier cmd qui fonctionne sur un système Vista 32 bits. P>
Je remarque que le code a des références au dossier du pilote System32. P>
Je me demande si le code pourrait potentiellement exécuter sur un système Windows 7 64 bits. Donc je suppose que ma question est Un système 64 bits contient-il un dossier System32? P>
Être très reconnaissant pour toutes les réponses. P>
4 Réponses :
Windows 7 64 bit a un dossier System32. P>
si votre fichier sera toujours exécuté, cependant, est un problème plus complexe. Il pourrait em> et dépend entièrement de ce qu'il repose; Si cela s'appuie sur les conducteurs de la mauvaise manière, cela échouera car les pilotes 32 bits ne fonctionnent tout simplement pas sur des systèmes 64 bits. P>
Merci beaucoup d'avoir pris le temps de répondre .. mais quand vous dites à compter sur les conducteurs de la mauvaise manière, que voulez-vous dire?
Sans en savoir plus sur la situation, je ne peux vraiment pas dire! Si votre code s'appuie sur une certaine technicité d'un conducteur spécifique, ce pilote pourrait être différent sous Win64, puis échoue. Pouvez-vous poster le code en question?
Le dossier System32 dans Windows 64 bits contient réellement les fichiers 64 bits et les programmes 32 bits exécutés sous Wow64 vont généralement regarder dans System32 pour les DLL 32 bits, etc. qu'ils peuvent appeler - mais ils vont Trouvez les 64 bits à la place. Par conséquent, l'OS redirige toutes les demandes d'applications 32 bits pour le dossier System32 du dossier SYSWOW64, contenant des fichiers système 32 bits. P>
Donc, le dossier system 32 code> a tous les dlls code> code> et le dossier
sswow64 code> contient tous les dlls
32 bits code>? Wtf? Pourquoi n'est-ce pas
system32 code> pour
dlls 32 bits code> et
system64 code> pour
dlls 64 bits code>?
@ B1kmusic "L'intention était de renommer System32, mais de nombreuses applications codées dur pour ce chemin, qu'il n'était pas possible de le supprimer" Stackoverflow.com/a/950011/995714
@ B1kmusic Ne sait pas que quelqu'un sait, pourquoi mon système32 sur 64 bits contient des versions de 32 bits de CMD, SFC, Ten-là et ainsi de suite, même après avoir réinstallé Windows de MediaCreateTool?
Windows a une technologie appelée WOW 64 (Windows-On-Windows 64 bits) qui permet aux applications 32 bits (même compilées écrites en C / C ++, etc.) à exécuter sur des fenêtres 64 bits. P >
Outre le dossier System32, une installation Windows 64 bits contient un dossier SYSWOW64 contenant des versions 32 bits des fichiers que vous trouverez dans System32. P>
Pour être clair, les références à System32 sont redirigées lors de l'exécution d'un processus 32 bits (à moins que le processus désactive cette redirection, ce qui est possible). En conséquence, si vous avez un fichier .CMD qui fait référence à System32, il va réellement lire dans le répertoire SYSWOW64. P>
Merci beaucoup, je pense que je reçois la photo. Comment savez-vous si votre application est 32 bit?
Est-ce un script de commande-shell (fichier .cmd)? C'est l'impression que j'ai eu de votre message. Si oui, il s'exécutent n'importe où, et je ne suis pas certain de ce que vous vouliez dire par «Références à System32», mais je pensais que cela accédait directement aux fichiers. S'il s'agit d'une application compilée et que vous avez installé Visual C ++ installé, vous pouvez utiliser Lien / Dump / En-têtes
System32 strong> est le nom du dossier contenant des fichiers système d'exploitation importants. Les versions précoces de 64 bits Windows XP ont uniquement exécuté 64 bits. Cela a eu du sens: p> et des versions précoces de Windows XP 64 bits étaient de 64 bits, et uniquement des applications exécutées 64 bits. p> Et puisque tous les noms de dossiers restent identiques, vous pouvez simplement recompiler votre application sous 64 bits (et ne pas avoir à modifier très rapidement, il est devenu évident que ne pouvant exécuter que 64 bits d'applications 64- Bit Windows, empêcherait certaines personnes de passer à 64 bits Windows. Donc Une couche d'émulation a été créée pour vous permettre d'exécuter des applications 32 bits Sur un système d'exploitation 64 bits. p> Il a été appelé wow64: Le problème est où ces applications 32 bits stockent-elles tous leurs fichiers 32 bits et configurent les emplacements de leurs DLL 32 bits et chargez des fichiers de support système d'exploitation 32 bits? P> Nous savons déjà où Native em> Applications stockez leurs trucs. p> Ceci est tout correctement correct et droit; Si vous reconquérez simplement votre application 32 bits comme 64 bits: tout fonctionne. Tous ces emplacements sont toujours corrects. P> Mais maintenant, car nous allons courber en arrière afin d'accueillir non-64 bits Applications, nous devons trouver quelque part pour eux d'avoir leurs anciens fichiers OS 32 bits et de stocker leurs données 32 bits et avoir leurs programmes 32 bits, avec des composants partagés 32 bits: P> Cela signifie que si un processus 32 bits Si un programme 32 bits, que pense strong> il fonctionne sur un ancien système d'exploitation 32 bits, demande un emplacement 32 bits, il doit être donné le "réel "Emplacement: p> Arrêtez de créer une application 32 bits, puis de vous plaindre lorsque la couche d'émulation vous entraîne de passer par l'émulation. Votre application est la mauvaise conduite oddball; corrigez-le. P> p>
os d'émuler 32 bits sur des fenêtres 64 bits h2>
Windows code>
sur code>
windows64 code>:
32 bits dans un monde 64 bits h2>
| Native Application | Emulated 32-bit asks for | Is actually given |
|---------------------|---------------------------|---------------------------|
| C:\Windows\System32 | C:\Windows\System32 | C:\Windows\SysWOW64 |
| C:\Program Files | C:\Program Files | C:\Program Files (x86) |
| HKCU\Software | HKCU\Software | HKCU\Software\Wow6432Node |
C: \ windows \ system32 code>, il est bien meilleur obtenir strong> 64 bits de fichiers li>
c: \ windows \ system32 code>, il est bien meilleur obtenir strong> Fichiers 32 bits LI>
ul>
| Native Application | Emulated 32-bit |
|---------------------|---------------------------|
| C:\Windows\System32 | C:\Windows\SysWOW64 |
| C:\Program Files | C:\Program Files (x86) |
| HKCU\Software | HKCU\Software\Wow6432Node |
Une réponse à une question de plus de 8 ans! Je suis venu à la fermer et je pars avec un uppote à la place. C'est rare ... une explication agréable et compréhensible.
Cela n'appartient pas à superutilisateur?
Similaire sur SuperUserer: SuperUserSer.com/Questions/157294/...