I have had a few questions lately from various team members that some MSI verbose (L*v) logs do not show "Installed successfully".

We have various members using various Windows Installer authoring tools such as Wise or WPS, WIX, Installshield.....

With Windows Installer logging return value reference guides from https://msdn.microsoft.com/en-us/library/aa369778(v=vs.85).aspx

Am I right relaying the message that

Excluding the rollback action, a success is indicative by a “return value 1” for all actions expected to be processed including the last action of InstallFinalize of 1.

Obviously there are return values of 0 like when a previous product is not installed and therefore removeexistingproducts action would return 0.



In the past, I have looked for errors such as return value 2, 3, 4 etc....and just ensure my last action of installfinalize is 1.


0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Answers

0
Hi Tron,
sorry for the delay, just got back from growing my freckles on a Mexican beach :-)
I've never specifically used  the return value from InstallFinalize, as if this is not successful, you get an overall invalid return result from the main installer engine, and the failure usually not related to the actual InstallFinalize action, but an action / custom action that is mis-behaving prior to this, and it is usually here that I start my examinations of installation failures using the log...

Cheers
Phil
 
Answered 10/19/2015 by: Pressanykey
Red Belt

Please log in to comment
0
Hi,
to be honest, unless you have any real problems with a specific package, the only really interesting return value is that of the main installer (i,e, 0 | 3010) are ok, anything else is bad mojo. Standard actions may also return for example "3" but the installation is still successful. Custom actions that are not standard, must return "0" as a non "0" return value signifies an error.
In your case I would concentrate on the final return value provided at the end of an installation, anything other than 0 or 3010 is an error. Trying to parse / evaluate values coming from Actions carried out during installation would probably only cause many "false" positives, and / or take allot of time to interpret.

Cheers
Answered 09/24/2015 by: Pressanykey
Red Belt

  • Whilst there would be values of 0 return values as some actions would not complete, 3010 is a soft reboot and return value 1 is successful on the actions required....I think you are referring to a return "code" of 0 in the event logs which is different to return value.
    My Question is that many often look for the message, the installation was successful etc but instead I think the engineer should be looking for a return value of 1 for actions required and install finalize.
    • Hi Tron,
      again, unless you have a problem package, I'd just go for the return codes 0 | 3010 from the main installer. Attempting to evaluate return codes from actions could be very painful, as it only takes a vendor CA to return something "unexpected" and the whole house of cards fall together ;-)
      • Thanks for your reply...a return value of 0 is what the application event log will output and this is valuable to use...
        But my enquiry is about the verbose log which will not return code of 0 as this not exist in the log.
        Am I right that if InstallFinalise is the last action in the InstallExecutive sequence and returns 1, this would also indicate a successful install as the trigger output of this message, does not always get returned?
        "MSI (s) (C8:34) [14:00:08:491]: Product: INT SamplePackage -- Installation operation completed successfully."
Please log in to comment
Answer this question or Comment on this question for clarity