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
 
 

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

Security code
Refresh

Our Plugins & Examples Feed

  • Microsoft .NET Framework 4.5.2 Dependency added

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

  • SQL Server 2014 Express (Database Only)

    A new dependency module was added to the site, now for Microsoft's SQL Server 2014...

Subscribe now!

Advertisement