J'utilise la version 64 bits de Windows 7 depuis le CTP et j'ai rencontré quelques problèmes avec les applications installées dans le C:\Program Files (x86)
dossier. Quel est le but d'avoir 2 répertoires Program Files distincts de toute façon?
Chaque programme que j'ai installé est entré dans le C:\Program Files (x86)
dossier. Peu importe que l'application soit en 32 ou 64 bits. Pourquoi les applications 64 bits ne sont-elles pas placées C:\Program Files
?
Existe-t-il un moyen de modifier la valeur par défaut à la C:\Program Files
place? Est-ce que ça gâcherait quelque chose si je mettais tout dedans C:\Program Files
?
S'il y a effectivement un avantage à avoir un dossier séparé pour les applications 64 bits, il semble que la valeur par défaut la plus raisonnable aurait été d'utiliser C:\Program Files
pour les applications x86 et de créer un nouveau C:\Program Files (x64)
dossier pour les nouvelles applications 64 bits. Cela aiderait à maintenir la compatibilité descendante. Je travaille en tant que développeur de logiciels et certains de mes projets contiennent des références de chemin d'accès aux bibliothèques sous C:\Program Files
. Maintenant, ces références sont rompues sur la machine Windows 7 qui les a placées C:\Program Files (x86)
. J'ai même essayé de changer l'emplacement cible dans le programme d'installation C:\Program Files
, mais cela a été ignoré et l'application est entrée de C:\Program Files (x86)
toute façon.
C'est très frustrant car j'ai besoin de partager le code source entre des machines 32 et 64 bits et je ne veux pas avoir à jouer avec un fichier de configuration qui définit le chemin d'accès à ces bibliothèques différemment sur différentes machines.
Modifier en ce qui concerne les variables d'environnement: (. En utilisant uniquement les valeurs par défaut en anglais des variables pour la simplicité) Sur une machine 64 bits %ProgramFiles%
sera C:\Program Files
alors la marque nouvelle variable %ProgramFiles(x86)%
sera C:\Program Files (x86)
. Donc, si vous avez un programme 32 bits qui doit trouver le chemin du dossier sous lequel il serait installé, il devra vérifier s'il fonctionne sur une version 32 bits ou 64 bits de Windows afin pour savoir quelle variable d'environnement utiliser. Toutes les applications 32 bits écrites sans cette considération devraient être mises à jour pour fonctionner correctement sur une machine 64 bits. Ainsi, même en utilisant des variables d'environnement, la compatibilité descendante est rompue.
N'existe %ProgramFiles(x86)%
pas non plus sur les versions 32 bits de Windows. Si c'était le cas, les applications 32 bits pourraient simplement toujours utiliser cette variable d'environnement et n'auraient pas besoin de logique conditionnelle en fonction du système d'exploitation sur lequel elles s'exécutent.
%ProgramFiles%
variable d'environnement aurait résolu ce problème. Je ne sais pas comment il gère la différence x86 / 64 bits.