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!)