3

I'm trying to check the installed version of Edge from my C++ application.

I've tried locating the MicrosoftEdge.exe and looking at the version numbers on the file, which has worked for some other browsers in the past, however these do not match the version shown in the 'Settings' section of the browser.

Does anyone have any ideas?

FruitBreak
  • 570
  • 1
  • 7
  • 19
  • 1
    The version shown in Settings does not match the .exe version (as you noted), and also doesn't match any of the loaded .dll versions (just checked in Process Explorer). I am not aware of any API which returns it. Guess it could be stored in the registry somewhere, much the same way the Windows 10 version itself is ([Retrieving Windows version “1511”](http://stackoverflow.com/questions/33641076/retrieving-windows-version-1511/33704910#33704910)). – dxiv Feb 01 '16 at 17:48
  • 1
    It is a WinRT app, you need to dig it out of the appx package manifest. Provided as a separate file in the same directory so not that hard, AppxManifest.xml file, `` element. – Hans Passant Feb 01 '16 at 18:01

1 Answers1

2

If you look in the folder where MicrosoftEdge.exe is located you will find a file called AppxManifest.xml. Inside this XML file there is a node called identity with a property called version this correlates to the version number found in the settings menu.

<Identity Name="Microsoft.MicrosoftEdge" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" **Version="25.10586.0.0"** ProcessorArchitecture="neutral"/>
Martin Beeby
  • 4,523
  • 1
  • 26
  • 20
  • Thanks Martin. Is there any API to access this from a native C++ application, do you know, or would you just load "C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AppxManifest.xml" directly? – FruitBreak Feb 03 '16 at 12:39