Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

As part of a continuous delivery pipeline I'd like to install an msi on a given machine. msiexec plus psexec does this perfectly, but it seems that msiexec can only log to a file and I need it to log to stdout/stderr.

Right now, to get the output back into our CI software I'll have to add a second step to echo the contents of the log, which seems a bit pointless.

Has anybody faced this issue before (and overcome it?)

Thanks in advance for any help here.

Mark

share|improve this question
    
Use msiexec's built in file logging, and read back from disk. Several msiexec.exe processes can be launched during installation, and I think you'd be hard pressed to redirect the output of all of them. You may see automatically spawned msiexec.exe processes running in different security contexts and also in order to run custom actions. A can of worms I'd say to deal with. –  Glytzhkof Jan 24 at 8:59
add comment

2 Answers

MsiExec can only log to a file, so you will have to keep echoing the content of that file after the installer finished.

share|improve this answer
add comment

I would rather cache the MSI log file on the local system permanently in a common location for each install, and then just register the exit code of the whole setup. If the setup reports success, the log file is pretty uninteresting? Just more "noise"?

Other than that there are several software delivery systems that will capture the log information for an MSI install and store it centrally. One example is SCCM (Microsofts renamed Systems Management Server - SMS).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.