Как узнать разрядность word

Многие из нас ежедневно используют программы Microsoft Office, но вы можете забыть, какую версию Office вы используете. Если вам необходимо узнать, какая версия Office у вас установлена, а также какая архитектура (32-разрядная или 64-разрядная), мы покажем вам, как быстро найти эту информацию в Windows и Mac.

Зная, какая версия Office у вас есть, может быть полезно, если вы загружаете шаблоны и надстройки Office , некоторые из которых работают только с определенными версиями Office.

Windows: Office 2013 и 2016

Откройте одну из программ в Office, например Word. Если лента выглядит аналогично следующему изображению (вкладки ленты с острыми углами), вы используете либо Office 2013, либо 2016. Если лента выглядит иначе, перейдите к следующему разделу.

Чтобы узнать больше о том, какую версию Office 2013 или 2016 вы используете, перейдите на вкладку «Файл».

01_clicking_file_tab

На экране за кулисами нажмите «Аккаунт» в списке элементов слева.

02_clicking_account

В правой части экрана «Учетная запись» вы увидите, какую версию Office вы используете, и есть ли у вас продукт для подписки. Под Обновлениями Office указаны точный номер версии и номер сборки. Чтобы узнать, является ли ваша версия Office 32-разрядной или 64-разрядной, нажмите «О программе Word».

03_clicking_about_word

Версия и номер сборки указаны в верхней части диалогового окна «О программе» вместе с «32-разрядной» или «64-разрядной». Нажмите «ОК», чтобы закрыть диалоговое окно.

04_about_word_window

Windows: Office 2010

Если на ленте в вашей версии Office имеются вкладки с не очень четкими углами, вы, вероятно, используете Office 2010. Чтобы узнать больше о том, какую версию Office 2010 вы используете, перейдите на вкладку «Файл».

05_clicking_file_tab_2010

На экране «Файл» нажмите «Справка» в списке элементов слева.

06_clicking_help_2010

В правой части экрана «Файл» вы увидите, какую версию Office вы используете. В разделе «О программе Microsoft Word» (или другой программе Office) указаны точная версия и номер сборки, а также информация о том, является ли программа 32-разрядной или 64-разрядной. Для получения дополнительной информации нажмите «Дополнительная версия и информация об авторских правах».

07_version_info_2010

Внизу вы увидите диалоговое окно с дополнительной информацией о текущей версии программы и идентификатором вашего продукта. Нажмите «ОК», чтобы закрыть диалоговое окно.

08_about_microsoft_word_dialog_2010

Mac: Office 2016 или 2011

Если вы используете Office для Mac, откройте одну из программ Office, например Word, и щелкните меню Word (или Excel, PowerPoint и т. Д.). Выберите «О слове».

09_selecting_about_word_mac

Откроется диалоговое окно «О программе Word» (или Excel, PowerPoint и т. Д.), В котором указаны номер текущей версии и номер сборки. Если вы видите версию 15.x, вы используете Office для Mac 2016. Если вы видите версию 14.x, Office для Mac 2011 — это то, что вы используете.

10_about_word_dialog_mac

На Mac нет выбора между 32-разрядной или 64-разрядной версией операционной системы, поскольку ОС была 64-разрядной в течение нескольких лет. Office для Mac 2011 был доступен только в 32-разрядной версии, а Office для Mac 2016 теперь доступен только в 64-разрядной версии.

Не только вы, но и многие другие пользователи, использующие Microsoft Office, не знают, какая версия Office у вас 32-разрядная или 64-разрядная. Если вы хотите узнать или вам нужно знать, какая версия Office, которую вы используете, является 32-разрядной или 64-разрядной, выполните действия, описанные в следующей статье сетевого администратора.

Иногда в некоторых случаях полезно знать версию Office, которую вы используете, например, если вы загружаете шаблоны и надстройки Office, по одному из шаблонов и надстроек. Эти надстройки работают только в правильной версии Office.

Изображение 1: Как проверить, какая версия Microsoft Office, которую вы используете, - 32-разрядная или 64-разрядная.

Часть 1. На компьютере с Windows

1. Версии Office 2016 и 2013

Откройте любую программу Office, например Word. Если вы видите ленту, которая выглядит как изображение ниже, это означает, что вы используете Office 2013 или Office 2016. Если лента имеет другой формат, вы можете обратиться к следующему разделу ниже.

Чтобы найти подробную информацию об используемой версии Office 2013 или 2016, перейдите на вкладку Файл.

Изображение 2: Как проверить, какая версия Microsoft Office, которую вы используете, - 32-разрядная или 64-разрядная.

На экране Backstage найдите и щелкните Учетную запись, расположенную в нижнем левом углу списка элементов.

Изображение 3: Как проверить, какая версия Microsoft Office, которую вы используете, - 32-разрядная или 64-разрядная.

Теперь появится экран учетной записи, здесь, на правой панели, вы увидите, какую версию Office вы используете. В разделе «Обновления Office» вы узнаете точный номер версии и номер сборки (номер сборки). Чтобы узнать, какая версия Office у вас 32-разрядная или 64-разрядная, щелкните «О Word».

Изображение 4 из Как проверить, какая версия Microsoft Office, которую вы используете, - 32-разрядная или 64-разрядная.

Версия и номер сборки указаны в верхнем углу диалогового окна «О программе» для 32- или 64-разрядных версий. Щелкните ОК, чтобы закрыть диалоговое окно.

Изображение 5: Как проверить, какая версия Microsoft Office, которую вы используете, - 32-разрядная или 64-разрядная.

2. В версии Office 2010

Если лента в версии Office, которую вы используете, такая же, как на изображении ниже, это означает, что используемая вами версия Office — Office 2010. Чтобы узнать больше о версии Office 2010, которую вы используете, перейдите на вкладку «Файл». .

Изображение 6: Как проверить, какая версия Microsoft Office, которую вы используете, - 32-разрядная или 64-разрядная.

На экране «Файл» щелкните «Справка» в списке на левой панели.

Изображение 7 из Как проверить, какая версия Microsoft Office, которую вы используете, - 32-разрядная или 64-разрядная.

На правой панели экрана «Файл» вы увидите, какую версию Office вы используете. В разделе «О Microsoft Word» (или других программах Office) вы увидите точную версию и номер сборки (номер сборки), указанные там, а также 32-разрядные или 64-разрядные программы.

Если вы хотите узнать больше, нажмите «Дополнительная версия и информация об авторских правах».

Изображение 8 из Как проверить, какая версия Microsoft Office, которую вы используете, - 32-разрядная или 64-разрядная.

В нижнем углу появится диалоговое окно с информацией о текущей версии программы Office и идентификатором продукта. Щелкните ОК, чтобы закрыть диалоговое окно.

Изображение 9 из Как проверить, какая версия Microsoft Office, которую вы используете, - 32-разрядная или 64-разрядная.

Часть 2: на Mac

1. Версии Office 2016 и 2011

Если вы используете Office на Mac, откройте любую программу Office, например Word, затем щелкните Меню Word (или Excel, PowerPoint). Выберите «О Word».

Изображение 10 из Как проверить, какая версия Microsoft Office, которую вы используете, - 32-разрядная или 64-разрядная.

Теперь на экране отображается диалоговое окно «О Word» (или Excel, PowerPoint), в котором будет указан номер текущей версии и номер сборки (номер сборки). Если вы видите версию 15.x, вы используете Office 2016 для Mac.

Если вы видите версию 14.x, вы используете Office 2011cho Mac.

Изображение 11 из Как проверить, какая версия Microsoft Office, которую вы используете, - 32-разрядная или 64-разрядная.

На Mac нет выбора между 32-битной или 64-битной версией операционной системы. Много лет назад Mac работал с 64-битной версией. Версия Office 2011 для Mac доступна только для 32-разрядных версий, а версия Office 2016 для Mac доступна только в 64-разрядных версиях.

См. Некоторые из следующих статей:

  1. Уловка для настройки панели быстрого доступа в Office 2013
  1. Загрузите и установите или переустановите Office 365, Office 2016, Office 2013 на свой компьютер.
  1. Процедура открытия Microsoft Office 2013/2016 в безопасном режиме

Удачи!

  1. Откройте любое приложение Office, например Word или Excel, и выберите Учетная запись.

    Примечание: Если вы не видите вкладку Учетная запись или у вас уже есть открытый файл или документ, выберите в меню Файл и выберите Учетная запись или Справка в списке в левой части экрана.

  2. В разделе Сведения о продукте отображается название продукта. Иногда там также показывается полный номер его версии.

    Страница учетной записи, которая включает сведения о пользователе и продукте

    • 1 — название продукта, например Microsoft 365 профессиональный плюс или Office для дома и учебы.

    • 2 — номер версии, который включает в себя версию, номер сборки и тип установки, например нажми и работай или из магазина Windows.

  3. Для дополнительных сведений, например, разрядность версии, выберите Об Excel. Откроется диалоговое окно, отображающее полный номер и разрядность версии (32- или 64-разрядная).

См. также

  • Какая у меня версия Outlook?

  • Как узнать, какая версия Windows установлена компьютере — 32-разрядная или 64-разрядная

  1. Откройте любое приложение Office, например Word, и создайте документ.

  2. Например, перейдите в Word и нажмите кнопку О программе Word.

  3. В открывшемся диалоговом окне можно просмотреть номер версии, а также тип лицензии. В примере ниже номером версии является 16.18, а лицензия является единовременной покупкой Office 2019 для Mac.

    Диалоговое окно ''О Word''

См. также

  • Журнал обновлений Office для Mac

  • Заметки о выпуске Office для Mac

Все еще не уверены?

Если инструкции выше не подошли, возможно, вы пользуетесь более ранней версией Office. О том, как определить используемую версию: Поиск сведений о программе в других версиях Office.

Нужна дополнительная помощь?

From TechNet article on 64-bit editions of Office 2010:

If you have installed Office 2010
including Microsoft Outlook 2010,
Outlook sets a registry key named
Bitness of type REG_SZ on the computer on which it is installed. The
Bitness registry key indicates whether the Outlook 2010 installation
is 32-bit or 64-bit. This may be
useful to administrators who are
interested in auditing computers to
determine the installed versions of
Office 2010 in their organization.

  • Registry path: HKEY_LOCAL_MACHINESoftwareMicrosoftOffice14.0Outlook
  • if you have installed Office 2013 then use this
    Registry path: HKEY_LOCAL_MACHINESoftwareMicrosoftOffice15.0Outlook
  • Registry key: Bitness
  • Value: either x86 or x64

and elsewhere in the same article:

Starting with Office 2010, Outlook is
available as a 32-bit application and
a 64-bit application. The version
(bitness) of Outlook that you choose
depends on the edition of the Windows
operating system (32-bit or 64-bit)
and the edition of Office 2010 (32- or
64-bit) that is installed on the
computer, if Office is already
installed on that computer.

Factors that determine the feasibility
of installing a 32-bit or a 64-bit
version of Outlook include the
following:

  • You can install 32-bit Office 2010 and 32-bit Microsoft Outlook 2010 on a supported 32-bit or 64-bit edition of the Windows operating system. You can install the 64-bit version of Office 2010 and 64-bit Outlook 2010 only on a supported 64-bit operating system.
  • The default installation of Office 2010 on a 64-bit edition of the Windows operating system is 32-bit Office 2010.
  • The bitness of an installed version of Outlook is always the same as the bitness of Office 2010, if Office is installed on the same computer. That is, a 32-bit version of Outlook 2010 cannot be installed on the same computer on which 64-bit versions of other Office 2010 applications are already installed, such as 64-bit Microsoft Word 2010 or 64-bit Microsoft Excel 2010. Similarly, a 64-bit version of Outlook 2010 cannot be installed on the same computer on which 32-bit versions of other Office applications are already installed.

one's user avatar

answered Feb 6, 2010 at 4:48

Todd Main's user avatar

Todd MainTodd Main

28.9k11 gold badges82 silver badges146 bronze badges

5

I’ve tested Otaku’s answer and it appears that the Outlook bitness value is set even when Outlook is not installed, even though the article referenced does not clearly indicate that this would be the case.

7

To add to vtrz’s answer, here’s a function I wrote for Inno Setup:

const
  { Constants for GetBinaryType return values. }
  SCS_32BIT_BINARY = 0;
  SCS_64BIT_BINARY = 6;
  { There are other values that GetBinaryType can return, but we're }
  { not interested in them. }

{ Declare Win32 function  }
function GetBinaryType(lpApplicationName: AnsiString; var lpBinaryType: Integer): Boolean;
external 'GetBinaryTypeA@kernel32.dll stdcall';

function Is64BitExcelFromRegisteredExe(): Boolean;
var
  excelPath: String;
  binaryType: Integer;
begin
  Result := False; { Default value - assume 32-bit unless proven otherwise. }
  { RegQueryStringValue second param is '' to get the (default) value for the key }
  { with no sub-key name, as described at }
  { http://stackoverflow.com/questions/913938/ }
  if IsWin64() and RegQueryStringValue(HKEY_LOCAL_MACHINE,
      'SOFTWAREMicrosoftWindowsCurrentVersionApp Pathsexcel.exe',
      '', excelPath) then begin
    { We've got the path to Excel. }
    try
      if GetBinaryType(excelPath, binaryType) then begin
        Result := (binaryType = SCS_64BIT_BINARY);
      end;
    except
      { Ignore - better just to assume it's 32-bit than to let the installation }
      { fail.  This could fail because the GetBinaryType function is not }
      { available.  I understand it's only available in Windows 2000 }
      { Professional onwards. }
    end;
  end;
end;

Martin Prikryl's user avatar

answered Jul 25, 2012 at 14:02

MB.'s user avatar

MB.MB.

7,3156 gold badges42 silver badges42 bronze badges

1

Regret to say, but Both Otacku’s and @clatonh’s methods aren’t working for me — neither have Outlook Bitness nor {90140000-0011-0000-1000-0000000FF1CE} in registry (for 64-bit Office without Outlook installed).

The only way I have found, though, not via the registry, is to check bitness for one of the Office executables with the use of the Windows API function GetBinaryType (since Windows 2000 Professional).

For example, you can check the bitness of Winword.exe, which path is stored under
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionApp PathsWinword.exe.

Here is the MFC code fragment:

CRegKey rk;
if (ERROR_SUCCESS == rk.Open(HKEY_LOCAL_MACHINE, 
  "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Winword.exe", 
  KEY_READ)) {
    CString strWinwordPath;
    DWORD dwSize = MAX_PATH;
    if (ERROR_SUCCESS == rk.QueryStringValue(strWinwordPath, 
        strWinwordPath.GetBuffer(MAX_PATH), &dwSize)) {
            strWinwordPath.ReleaseBuffer();
            DWORD dwBinaryType;
            if (::GetBinaryType(strWinwordPath, &dwBinaryType)) {
                if (SCS_64BIT_BINARY == dwBinaryType) {
                    // Detected 64-bit Office 
                } else {
                    // Detected 32-bit Office 
                }
            } else {
                // Failed
            }
        } else {
            // Failed
        }
    } else {
    // Failed
}

answered Apr 27, 2011 at 14:56

vtrz's user avatar

vtrzvtrz

5911 gold badge6 silver badges12 bronze badges

1

I found the way for checking office bitness .

We can check office 365 and 2016 bitness using this registry key:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftOfficeClickToRunConfiguration

Platform x86 for 32 bit.

HKEY_LOCAL_MACHINESOFTWAREMicrosoftOfficeClickToRunConfiguration

Platform x64 for 64 bit.

Please check…

Rai Vu's user avatar

Rai Vu

1,5951 gold badge20 silver badges29 bronze badges

answered Apr 24, 2017 at 4:37

chetan yamger's user avatar

1

Attention: querying the bitness of the Outlook Application does NOT reliably work if called in .NET environment.

Here, we use GetBinaryType() in a DLL that can be called by any application:

  • If the host application is 64 bit C/C++, GetBinaryType() returns SCS_32BIT_BINARY.
  • If the host application is 64 bit .NET (we tested «AnyCPU» on a 64 bit system), GetBinaryType() returns SCS_64BIT_BINARY.

With exactly the same DLL code and exactly the same Outlook binary path («c:/Program Files (x86)/…») on the same computer.

Meaning that you might need to test the binary file yourself using «IMAGE_NT_HEADERS.FileHeader.Machine» entry.

God, I hate the incorrect return values of some Windows APIs (see also GetVersion() lie).

answered Mar 26, 2014 at 8:17

chksr's user avatar

chksrchksr

1923 silver badges13 bronze badges

3

I found this approach:

If HKLMSoftwareWOW6432Node exists then Windows is 64-bit.

If HKLMSoftwareWOW6432NodeMicrosoftOffice exists, then Office is 32-bit.

If HKLMSoftwareWOW6432NodeMicrosoftOffice does not exist, but HKLMSoftwareMicrosoftOffice does exist, then Office is 64-bit.

If HKLMSoftwareWOW6432Node does not exist, then Windows and Office are 32-bit.

Source: Technet Forums

answered Apr 4, 2012 at 18:33

Jon Peltier's user avatar

Jon PeltierJon Peltier

5,8151 gold badge27 silver badges26 bronze badges

3

Here’s what I was able to use in a VBscript to detect Office 64bit Outlook:

Dim WshShell, blnOffice64, strOutlookPath
Set WshShell = WScript.CreateObject("WScript.Shell")
blnOffice64=False
strOutlookPath=WshShell.RegRead("HKLMSOFTWAREMicrosoftWindowsCurrentVersionApp Pathsoutlook.exePath")
If WshShell.ExpandEnvironmentStrings("%PROCESSOR_ARCHITECTURE%") = "AMD64" And _
    not instr(strOutlookPath, "x86") > 0 then 
  blnOffice64=True
  wscript.echo "Office 64"
End If

answered Feb 26, 2015 at 22:46

uflrob's user avatar

You can search the registry for {90140000-0011-0000-0000-0000000FF1CE}. If the bold numbers start with 0 its x86, 1 is x64

For me it was in
HKEY_LOCAL_MACHINESOFTWAREMicrosoftOffice14.0Registration{90140000-0057-0000-0000-0000000FF1CE}

Source

Jan Doggen's user avatar

Jan Doggen

8,72313 gold badges72 silver badges143 bronze badges

answered Aug 10, 2010 at 19:23

Claton Hendricks's user avatar

1

This InnoSetup code is working for me under Win 10×64 and Office 2016 x86 (using ‘HKLMSOFTWAREMicrosoftOfficeClickToRunConfiguration’ and key ‘Platform’)

[Code]
const
  RegOffice='SOFTWAREMicrosoftOfficeClickToRunConfiguration';
  RegOfficeKey='Platform';

/// <summary>
/// Get current HKLM version
/// </summary>
function GetHKLM: Integer;
begin
  if IsWin64 then
    Result := HKLM64
  else
    Result := HKLM32;
end;

/// <summary>
/// Check is Microsoft Office is installed or not
/// </summary>
function IsOfficeInstalled (): Boolean;
var
  platform: string;
begin
  RegQueryStringValue(GetHKLM(), RegOffice, RegOfficeKey, platform);
  if platform = 'x86' then begin
   SuppressibleMsgBox('Microsoft Office found (x86 version)' , mbConfirmation, MB_YESNO or MB_DEFBUTTON1, IDYES);
    Result := True;
  end else if platform = 'x64' then begin
    SuppressibleMsgBox('Microsoft Office found (x64 version)', mbConfirmation, MB_YESNO or MB_DEFBUTTON1, IDYES);
    Result := True;
  end else begin
    SuppressibleMsgBox('Microsoft Office NOT found' + platform + '.', mbConfirmation, MB_YESNO or MB_DEFBUTTON1, IDYES);
    Result := False;
  end;
end;

answered Apr 14, 2016 at 19:23

Nolmë Informatique's user avatar

Not via the registry but via commandline tools:

https://stackoverflow.com/a/6194710/2885897

C:Usersme>assoc .msg

.msg=Outlook.File.msg.15

C:Usersme>ftype Outlook.File.msg.15

Outlook.File.msg.15=»C:Program Files (x86)Microsoft OfficeRootOffice16OUTLOOK.EXE» /f «%1»

Community's user avatar

answered Aug 11, 2016 at 13:20

fiffy's user avatar

fiffyfiffy

8309 silver badges15 bronze badges

1

EDIT : Solution without touching RegistryKeys — im Sorry Op.

I found out that there is a solution in C# — the original can be found here :
https://blogs.msdn.microsoft.com/webdav_101/2016/07/26/sample-detecting-installed-outlook-and-its-bitness/

I modified it a bit for my needs.

just pass the correct outlookPath to GetOutlookBitness()

  public enum BinaryType : uint

    {
        SCS_32BIT_BINARY = 0, // A 32-bit Windows-based application
        SCS_64BIT_BINARY = 6, // A 64-bit Windows-based application.
        SCS_DOS_BINARY = 1, // An MS-DOS – based application
        SCS_OS216_BINARY = 5, // A 16-bit OS/2-based application
        SCS_PIF_BINARY = 3, // A PIF file that executes an MS-DOS – based application
        SCS_POSIX_BINARY = 4, // A POSIX – based application
        SCS_WOW_BINARY = 2 // A 16-bit Windows-based application
    }



    [DllImport("kernel32.dll")]
    static extern bool GetBinaryType(string lpApplicationName, out BinaryType lpBinaryType);




    public int GetOutlookBitness(string FilePath)
    {
        int bitness = 0;

        if (File.Exists(FilePath))
        {
            BinaryType type;
            GetBinaryType(FilePath, out type);


            switch (type)
            {
                case BinaryType.SCS_32BIT_BINARY:
                    bitness = 32;
                    break;
                case BinaryType.SCS_64BIT_BINARY:
                    bitness = 64;
                    break;
            }
        }

        return bitness;



    }

answered Apr 29, 2019 at 16:12

Schmiddi1004's user avatar

2

I don’t have a key called bitness in either of these folders. I do have a key called «default» in both of these folders and the value is «unset» My computer came with office 2010 starter (I assume 64 bit). I removed it and tried to do a full install of 32 bit office. I keep getting the following message. the file is incompatible, check to see whether you need x86 or x64 version of the program.

any advice for me?

answered Aug 5, 2010 at 15:04

dave's user avatar

@clatonh: this is the path of the registry on my PC:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftOffice14.0Registration{90140000-002A-0000-1000-0000000FF1CE}
and it’s definitely a 32-bit-installation on a 64-bit OS.

answered Aug 16, 2010 at 11:47

Randolf's user avatar

2

I’ve previously blindly followed the answer based on the MSDN docs. Today, this turned out to be less than required. On a machine with Office Home and Student installed, which doesn’t include Outlook, HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftOffice14.0Outlook was present, but HKEY_LOCAL_MACHINESOFTWAREMicrosoftOffice14.0Outlook was not. I’ve now changed my code to first look for the «plain» non-Wow6432Node version. If that’s present, it’ll be used. If not, it will continue by looking at the Wow6432Node version. This is being checked in an Inno Setup-based installer — I don’t know which APIs Inno Setup uses. If your app doesn’t access the registry in the same way, you might see different results.

answered Sep 27, 2011 at 20:31

Jon Bright's user avatar

Jon BrightJon Bright

13.3k3 gold badges30 silver badges46 bronze badges

Search the registry for the install path of the office component you are interested in, e.g. for Excel 2010 look in SOFTWARE(Wow6432Node)MicrosoftOffice14.0ExcelInstallRoot. It will only be either in the 32-bit registry or the 64-bit registry not both.

answered Apr 15, 2015 at 14:16

Phil's user avatar

I wrote this for Outlook at first. Modified it a little for Word, but it will not work on a standalone install because that key does not show the bitness, only Outlook does.

Also, I wrote it to only support current versions of Office, =>2010

I stripped all the setup and post processing…

:checkarch
    IF NOT "%PROCESSOR_ARCHITECTURE%"=="x86" SET InstallArch=64bit
    IF "%PROCESSOR_ARCHITEW6432%"=="AMD64" SET InstallArch=64bit
    IF "%InstallArch%"=="64bit" SET Wow6432Node=Wow6432Node
GOTO :beginscript

:beginscript
SET _cmdDetectedOfficeVersion=reg query "HKEY_CLASSES_ROOTWord.ApplicationCurVer"
@FOR /F "tokens=* USEBACKQ" %%F IN (`!_cmdDetectedOfficeVersion! 2^>NUL `) DO (
SET _intDetectedOfficeVersion=%%F
)
set _intDetectedOfficeVersion=%_intDetectedOfficeVersion:~-2%


:switchCase
:: Call and mask out invalid call targets
    goto :case!_intDetectedOfficeVersion! 2>nul || (
:: Default case
    ECHO Not installed/Supported
    )
  goto :case-install

:case14
    Set _strOutlookVer= Word 2010 (!_intDetectedOfficeVersion!)
    CALL :GetBitness !_intDetectedOfficeVersion!
    GOTO :case-install  
:case15
    Set _strOutlookVer= Word 2013 (!_intDetectedOfficeVersion!)
    CALL :GetBitness !_intDetectedOfficeVersion!
    GOTO :case-install
:case16
    Set _strOutlookVer= Word 2016 (!_intDetectedOfficeVersion!)
    CALL :GetBitness !_intDetectedOfficeVersion!
    goto :case-install
:case-install
    CALL :output_text !_strOutlookVer! !_strBitness! is installed
GOTO :endscript


:GetBitness
FOR /F "tokens=3*" %%a in ('reg query "HKLMSoftware%Wow6432Node%MicrosoftOffice%1.0Outlook" /v Bitness 2^>NUL') DO Set _strBitness=%%a
GOTO :EOF

answered Mar 19, 2018 at 18:01

Dean H.'s user avatar

In my tests many of the approaches described here fail, I think because they rely on entries in the Windows registry that turn out to be not reliably present, depending on Office version, how it was installed etc. So a different approach is to not use the registry at all (Ok, so strictly that makes it not an answer to the question as posed), but instead write a script that:

  1. Instantiates Excel
  2. Adds a workbook to that Excel instance
  3. Adds a VBA module to that workbook
  4. Injects a small VBA function that returns the bitness of Office
  5. Calls that function
  6. Cleans up

Here’s that approach implemented in VBScript:

Function OfficeBitness()

    Dim VBACode, Excel, Wb, Module, Result

    VBACode = "Function Is64bit() As Boolean" & vbCrLf & _
              "#If Win64 Then" & vbCrLf & _
              "    Is64bit = True" & vbCrLf & _
              "#End If" & vbCrLf & _
              "End Function"

    On Error Resume Next
    Set Excel = CreateObject("Excel.Application")
    Excel.Visible = False
    Set Wb = Excel.Workbooks.Add
    Set Module = Wb.VBProject.VBComponents.Add(1)
    Module.CodeModule.AddFromString VBACode
    Result = Excel.Run("Is64bit")
    Set Module = Nothing
    Wb.Saved = True
    Wb.Close False
    Excel.Quit
    Set Excel = Nothing
    On Error GoTo 0
    If IsEmpty(Result) Then
        OfficeBitness = 0 'Alternatively raise an error here?
    ElseIf Result = True Then
        OfficeBitness = 64
    Else
        OfficeBitness = 32
    End If

End Function

PS. This approach runs more slowly than others here (about 2 seconds on my PC) but it might turn out to be more reliable across different installations and Office versions.

After some months, I’ve realised there may be a simpler approach, though still one that instantiates an Excel instance. The VBScript is:

Function OfficeBitness()
    Dim Excel
    Set Excel = CreateObject("Excel.Application")
    Excel.Visible = False
    If InStr(Excel.OperatingSystem,"64") > 0 Then
        OfficeBitness = 64
    Else
        OfficeBitness = 32
    End if
    Excel.Quit
    Set Excel = Nothing
End Function

This relies on the fact that Application.OperatingSystem, when called from 32-bit Excel on 64-bit Windows returns Windows (32-bit) NT 10.00 or at least it does on my PC. But that’s not mentioned in the docs.

answered Jan 25, 2019 at 14:05

Philip Swannell's user avatar

I have win 7 64 bit + Excel 2010 32 bit.
The registry is HKEY_LOCAL_MACHINESOFTWAREMicrosoftOffice14.0Registration{90140000-002A-0000-1000-0000000FF1CE}

So this can tell bitness of OS, not bitness of Office

answered Sep 21, 2011 at 18:12

toosensitive's user avatar

toosensitivetoosensitive

2,2957 gold badges46 silver badges88 bronze badges

I’ve found a secure and reliable way in my InnoSetup-based script to understand whether a particular application is 32-bit or 64-bit (in my case I needed to test Excel), by using a Win32 API function. This function is called GetBinaryType(), it comes from `kernel32′ (despite the name it comes in 32 and 64 bit flavor) and looks directly at the exe’s header.

j0k's user avatar

j0k

22.5k28 gold badges80 silver badges89 bronze badges

answered Jun 14, 2012 at 13:08

Dutch Gemini's user avatar

This Wikipedia article states:

On 64-bit versions of Windows, there are two folders for application files; the "Program Files" folder contains 64-bit programs, and the "Program Files (x86)" folder contains 32-bit programs.

So if the program is installed under C:Program Files it is a 64-bit version. If it is installed under C:Program Files (x86) it is a 32-bit installation.

rolve's user avatar

rolve

10k4 gold badges54 silver badges75 bronze badges

answered Mar 20, 2012 at 18:16

George Dean's user avatar

3

Another way to detect the bitness of Office is to find out the typelib.

For example, to detect Outlook’s bitness, write a .JS file as following:

function detectVersion()
    var outlooktlib = "TypeLib\{00062FFF-0000-0000-C000-000000000046}";
    var HKCR = 0x80000000;

    var loc = new ActiveXObject("WbemScripting.SWbemLocator");
    var svc = loc.ConnectServer(null,"root\default");
    var reg = svc.Get("StdRegProv");

    var method = reg.Methods_.Item("EnumKey");
    var inparam = method.InParameters.SpawnInstance_();
    inparam.hDefKey = HKCR;
    inparam.sSubKeyName = outlooktlib;
    var outparam = reg.ExecMethod_(method.Name,inparam);
    tlibver = outparam.sNames.toArray()[0];

    method = reg.Methods_.Item("GetStringValue");
    inparam = method.InParameters.SpawnInstance_();
    inparam.hDefKey = HKCR;
    inparam.sSubKeyName = outlooktlib + "\" + tlibver + "\0\win32";
    inparam.sValueName = "";
    outparam = reg.ExecMethod_(method.Name,inparam);
    if(outparam.sValue) return "32 bit";

    method = reg.Methods_.Item("GetStringValue");
    inparam = method.InParameters.SpawnInstance_();
    inparam.hDefKey = HKCR;
    inparam.sSubKeyName = outlooktlib + "\" + tlibver + "\0\win64";
    inparam.sValueName = "";
    outparam = reg.ExecMethod_(method.Name,inparam);
    if(outparam.sValue) return "64 bit";

    return "Not installed or unrecognizable";
}

You could find out other Office component’s typelib id, and replace the first line of the function for it. Here is a brief list of interesting IDs:

{4AFFC9A0-5F99-101B-AF4E-00AA003F0F07} - Access
{00020905-0000-0000-C000-000000000046} - Word
{00020813-0000-0000-C000-000000000046} - Excel
{91493440-5A91-11CF-8700-00AA0060263B} - Powerpoint
{0002123C-0000-0000-C000-000000000046} - Publisher
{0EA692EE-BB50-4E3C-AEF0-356D91732725} - OneNote 2010+
{F2A7EE29-8BF6-4A6D-83F1-098E366C709C} - OneNote 2007

All above lib id were found through the Windows SDK tool OLE-COM Object Viewer, you could find out more lib id’s by using it.

The benefit of this approach is that it works for all versions of office, and provides control on every single component in you interest. Furthermore, those keys are in the HKEY_CLASSES_ROOT and deeply integrated into the system, so it is highly unlikely they were not accessible even in a sandbox environment.

answered Apr 24, 2013 at 0:26

Earth Engine's user avatar

Earth EngineEarth Engine

9,9185 gold badges47 silver badges78 bronze badges

1

Outlook Bitness registry key does not exist on my machine.

One way to determine Outlook Bitness is by examining Outlook.exe, itself and determine if it is 32bit or 64bit.

Specifically, you can check the [IMAGE_FILE_HEADER.Machine][1] type and this will return a value indicating processor type.

For an excellent background of this discussion, on reading the PE Header of a file read this (outdated link), which states;

The IMAGE_NT_HEADERS structure is the primary location where specifics of the PE file are stored. Its offset is given by the e_lfanew field in the IMAGE_DOS_HEADER at the beginning of the file. There are actually two versions of the IMAGE_NT_HEADER structure, one for 32-bit executables and the other for 64-bit versions. The differences are so minor that I’ll consider them to be the same for the purposes of this discussion. The only correct, Microsoft-approved way of differentiating between the two formats is via the value of the Magic field in the IMAGE_OPTIONAL_HEADER (described shortly).

An IMAGE_NT_HEADER is comprised of three fields:

typedef struct _IMAGE_NT_HEADERS {
DWORD Signature;
IMAGE_FILE_HEADER FileHeader;
IMAGE_OPTIONAL_HEADER32 OptionalHeader;
} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;

and you can get the c# code here.

The Magic field is at the start of the IMAGE_OPTIONAL_HEADER structure, 2 bytes at offset 24 from the start of the _IMAGE_NT_HEADERS. It has values of 0x10B for 32-bit and 0x20B for 64-bit.

dgb's user avatar

answered Jun 24, 2014 at 14:55

Markus's user avatar

MarkusMarkus

8317 silver badges15 bronze badges

2

Best easy way: Put the ABOUT Icon on your Office 2016 Application. Example Excel

1) Open Excel -> File -> Options -> Customize Ribbon

2) You ‘ll see 2 panes. Choose Commands From & Customize The Ribbon

3) From Choose Command, Select All Commands

4) From the resulting List Highlight About (Excel)

5) From the Customize The Ribbon Pain, Highlight Any Item (ex. View) where you want to put the About icon

6) Click New group at the bottom

7) Click the add button located between the two pane.
DONE

Now when you click the View Tab in excel and click about you’ll see 32 bit or 64 bit

answered Jan 27, 2017 at 18:33

Charlie I.'s user avatar

I’ve found a much easier way.
Using Powershell, we can hook Excel as a COM object.

$user = $env:UserName
$msoExcel = New-Object -ComObject Excel.Application  
$msoExcel | Select-Object -Property OperatingSystem | Out-File "\SERVERPathToDumpmsoVersion-$user.txt"
exit

When requesting the OperatingSystem this way, we get strange results,
have a look here. PC3 is mine.

I hope this works for you guys. Sorry for the lack of code; my scripts are mostly functional.

Edit:
Don’t forget to add the code to close Excel after you’re done retrieving the data.
After testing this code yesterday I had tons of Excel opening and crashing all of a sudden..
This will make sure you’ll keep users and admins happy (:

[System.Runtime.Interopservices.Marshal]::ReleaseComObject($msoExcel)
Remove-Variable msoExcel

answered Aug 15, 2017 at 8:29

NamasteJasutin's user avatar

1

If one wants to know only what bit number an installed version of Office 2010 is, then in any application of Office 2010, just click on File, then on Help. Information about version number will be listed, and next to that, in parentheses, will be either (32-bit) or (64-bit).

answered Jul 29, 2012 at 5:22

Carmine's user avatar

1

Open Outlook 2013 > File > Office account > About Outlook > click large «? About Outlook» button > read popup description

answered Feb 1, 2014 at 2:45

mfuller526's user avatar

Если вы хотя бы немного пользуетесь операционной системой от Microsoft, то наверняка знаете, что как сама ОС, так и различные программы для нее имеют разрядность x32 и x64. Например, если вы решите купить Microsoft Office 2007, то у вас будет возможность выбрать данный параметр.

На что он влияет? Тут есть много нюансов, но самое главное заключается в поддержке оперативной памяти. В x32 системах максимально допустимое количество ОЗУ – 4 Гб, тогда как в x64 ОС это значение намного выше. Поэтому если у вас современный ПК с большим объемом памяти, то вам наверняка нужно устанавливать x64 систему. Но помимо ОС, программы также различаются разрядностью. И, как правило, между собой несовместимы. То есть для системы x64 нужно использовать программы с такой же разрядностью. Поэтому, если вы планируете обновлять свой ПК, то не помешает заранее узнать тип уже установленных программ для последующей установки. Например, как узнать разрядность MS Office 2007?

разрядность MS Office 2007

Как узнать разрядность Офиса?

Для чего нужно узнать данный параметр? Если у вас программа устанавливается с диска, то вам нужно узнать данное значение, чтобы понять, сможете ли вы ее установить на новый ПК с другой операционной системой. Чтобы определить разрядность своего Офиса, вам необходимо выполнить следующие шаги:

  • откройте любой редактор из пакета Office, например, Word;
  • перейдите в меню «Файл» в левой части окна и откройте его;
  • перейдите во вкладку «Справка»;
  • в правой части окна вы получите полную информацию о вашем MS Office.

Из этого меню вы можете не только выяснить разрядность, но и узнать версию программного обеспечения (полезно, если вы хотите обновиться). Также здесь представлен номер продукта, статус ПО (активирован ли ключ) и многое другое.

Альтернативные способы

Если такой вариант вам не подходит, то есть другой способ. Вам необходимо выполнить следующие шаги:

  • запустите любое приложение из пакета Офис;
  • откройте диспетчер задач (комбинация кнопок Ctrl + Alt + Delete или правой клавишей по панели задач в нижней части экрана);
  • найдите в процессах программу, напротив нее будет указана разрядность, например, word.exe*32.

Также есть вариант для продвинутых – поиск записей в реестре. Нужно найти элемент «InstallRoot» в системе и посмотреть его параметры (где в реестре хранится ключ, вы можете узнать, используя базу данных MSI через специальное приложение).

Теперь вы знаете, как определить разрядность вашего Офиса. Это будет полезно при установке MS Office на новую систему. Если вы попытаетесь инсталлировать неправильную версию (например, Офис 32 на систему x64), то программа выдаст ошибку или предложит скачать правильную версию. Поэтому не помешает знать, как узнать данный параметр и правильно инсталлировать пакет редакторов. После успешной установки вам больше не потребуется беспокоиться о разрядности. В случае обновления программного обеспечения необходимая версия автоматически будет загружена и установлена.

Интернет-магазин лицензированных кодов El:Store предлагает купить ключи активации популярного программного обеспечения. Скидка до 25%. Гарантия. Доставка на e-mail за 1 минуту. Оформление заказа онлайн. Посмотреть цену на ключ активации Office.

Понравилась статья? Поделить с друзьями:
  • Как узнать разрядность excel
  • Как узнать разность чисел в excel
  • Как узнать разницу между датами в excel
  • Как узнать размеры ячейки в excel
  • Как узнать размеры в word