Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Get Application Version using Python

  • Last Updated : 02 Feb, 2021

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.

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

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



My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!