2009-12-07 1 views
1

Я хочу иметь возможность предсказать местоположение установки приложения по умолчанию. На 64-битной машине, если это 32-битное приложение, оно будет установлено в «Program Files (x86)», и если это будет 64-битное приложение, оно будет установлено в «Program Files».Как определить, является ли приложение, которое я устанавливаю, 32-битным или 64-битным?

Моя цель - установить приложение по умолчанию и проверить, была ли установлена ​​установка. Но для этого мне нужно знать, где он будет установлен. Если я знаю, для какой архитектуры используется приложение, я думаю, что это послужит моей цели.

ответ

1

Скачать file для Windows, чтобы проверить информацию любого файла на Windows:

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

Затем, с помощью командной строки с 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 

Вы должны быть в состоянии захватить возвращение значение этой команды из любой платформы разработки, с которой вы работаете.

+0

Спасибо. Но для пакета установщика microsoft (.msi), который я использую для установки, он ничего не возвращает, кроме как «Microsoft Office Document». – Poulo

0

Не нужно определять. 32-разрядные приложения на Windows 64-разрядные версии работают на WoW64, что делает redirection автоматически. Если установщик был 32-битным, то% ProgramFiles% было бы C: \ Program Files (x86), поэтому по умолчанию 32-битное приложение всегда будет установлено в нужное место.

Смежные вопросы