Open In App

Get Application Version using Python

Last Updated : 02 Feb, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

Software versioning maybe thanks to reasoning the distinctive states of pc software package because it is developed and discharged. The version symbol is typically a word, a number, or both. For instance, version 1.0 is often accustomed to denote the initial unharness of a program. In this article, we will see how to get an application version number using Python.

Method 1: Here will use the win32api module.

Python extensions for Microsoft Windows Provide access to a lot of the Win32 API, the flexibility to make and use COM objects, and therefore the Pythonwin atmosphere.

Before getting started, we need to install the Module

pip install pywin32

Here we will use these methods:

  • GetFileVersionInfo: This method is used for retrieving the version information for a given file
GetFileVersionInfo(File Path, SubBlock, **attr)
  • LOWORD: An interface to the win32api LOWORD macro. Value is of integer datatype
LOWORD(val)
  • HIWORD: An interface to the win32api HIWORD macro. Value is of integer datatype
HIWORD(val)

Approach:

  • First we will parse file information using GetFileVersionInfo() method.
  • File information is in the form of a dictionary, we will fetch two information, one is msfileversion and another one is lsfileversion

Below is the implementation:

Python3




# Import Module
from win32api import *
  
def get_version_number(file_path):
  
    File_information = GetFileVersionInfo(file_path, "\\")
  
    ms_file_version = File_information['FileVersionMS']
    ls_file_version = File_information['FileVersionLS']
  
    return [str(HIWORD(ms_file_version)), str(LOWORD(ms_file_version)),
            str(HIWORD(ls_file_version)), str(LOWORD(ls_file_version))]
  
file_path = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
  
version = ".".join(get_version_number(file_path))
  
print(version)


Output:

88.0.4324.104

Method 2: Using win32com

Here will use the win32com module. Before getting started we need to install the Module

pip install pypiwin32

Approach:

  • We will create an information parser that will parse the required information using Dispatch() method.
  • Then we will fetch the file version using the GetFileVersion() method.

Below is the implementation:

Python3




# Import Module
from win32com.client import *
  
def get_version_number(file_path):
  
    information_parser = Dispatch("Scripting.FileSystemObject")
    version = information_parser.GetFileVersion(file_path)
    return version
  
file_path = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
version = get_version_number(file_path)
  
print(version)


Output:

88.0.4324.104


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads