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);
else
    info.Version = MSI.GetProductProperty(nPackageHandle, "ProductVersion");
    info.Language = MSI.GetProductProperty(nPackageHandle, "ProductLanguage");
  -- display the Version and Language strings in the debug window
    Debug.ShowWindow();
    Debug.Print("MSI Version: " .. info.Version .. "\r\n");
    Debug.Print("MSI Language: " .. info.Language .. "\r\n");
end
 
 

Our Plugins & Examples Feed

  • Microsoft .NET Framework 4.6.1 Dependency
    A new dependency installer was added to the site. Users of MSI Factory can now...
  • Microsoft Access Runtime 2016

    The new dependency checks for:

    • Microsoft Office Access Runtime 2007
    • Microsoft Office Access Runtime 2010 (x86)
    • Microsoft Office...
Subscribe now!

Advertisement