2009-12-07 15 views
1

Je souhaite pouvoir prédire l'emplacement d'installation par défaut d'une application. Sur une machine 64 bits, s'il s'agit d'une application 32 bits, elle s'installe dans "Program Files (x86)" et s'il s'agit d'une application 64 bits, elle s'installe dans "Program Files".Comment puis-je déterminer si une application que j'installe est 32 bits ou 64 bits?

Mon but est d'installer l'application avec son emplacement par défaut et de valider si l'installation s'est bien passée. Mais pour cela, j'ai besoin de savoir où il serait installé. Si je sais à quelle architecture l'application est construite, je pense que cela servirait mon but.

Répondre

1

Télécharger file pour Windows pour vérifier les détails de tous les fichiers sous Windows:

http://gnuwin32.sourceforge.net/packages/file.htm

Ensuite, via la ligne de commande Windows:

C:\> "C:\Program Files\GnuWin32\bin\file" name-of-file.exe 
name-of-file.exe executable for MS Windows (GUI) Intel 80386 32-bit 

Vous devriez être en mesure de saisir le retour valeur de cette commande à partir de la plateforme de développement avec laquelle vous travaillez.

+0

Merci. Mais pour un package d'installation de microsoft (.msi) que j'utilise pour l'installation, il ne renvoie rien sauf "Microsoft Office Document". – Poulo

0

Pas besoin de déterminer. Applications 32 bits sur Windows 64 bits fonctionne sur WoW64, qui fait redirection automatiquement. Si le programme d'installation était en 32 bits alors% ProgramFiles% serait C: \ Program Files (x86) donc par défaut, l'application 32 bits sera toujours installée à l'emplacement correct