GetFileVersion for MSI

  • Print

Indigo Rose products feature the MSI.GetFileVersion() Lua action to retrieve the Version and Language from PE files (*.exe and *.dll). However, if you may want to know these strings of a MSI package (*.msi), you can use this Lua code below:

info = {};
nPackageHandle = MSI.OpenPackage("setup.msi");
error = Application.GetLastError();
if (error ~= 0) then
    Dialog.Message("Error", _tblErrorMessages[error], MB_OK, MB_ICONEXCLAMATION);
    info.Version = MSI.GetProductProperty(nPackageHandle, "ProductVersion");
    info.Language = MSI.GetProductProperty(nPackageHandle, "ProductLanguage");
  -- display the Version and Language strings in the debug window
    Debug.Print("MSI Version: " .. info.Version .. "\r\n");
    Debug.Print("MSI Language: " .. info.Language .. "\r\n");

Add a comment (For questions, please use the contact form!)

Security code

Our Plugins & Examples Feed

  • MSI Factory Project Refactoring

    When you wish to create or derive a new MSI Factory project from an existing...

  • Microsoft .NET Framework 4.5.2 Dependency added

    A new dependency installer was added to the site. Users of Setup Factory can now...

Subscribe now!