Turning MSI logging on from an InstallShield .EXE?

21,233

Solution 1

I have ran into similar problems when troubleshooting InstallShield installers. I usually result to forcing the OS to log the install:

  1. Navigate to the registry: [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
  2. Create a new reg key as follows: Logging=voicewarmup where Logging is the reg key and voicewarmup is the value.
  3. Whenever an installer is run, it will log to the user’s temp directory. The log file will be named MSI#####.LOG where ##### is a string of alphanumeric characters. You can sort by modified date to see the latest logs created.

Note: This will log all installations and some installations may have multiple log files. Generally speaking I would recommend that if you set this reg key to get install logs, that you delete the registry key after getting the log files.

The method presented above is also described here: How to enable windows logging

Solution 2

You can pass command-line parameters from an Installshield .EXE to the contained MSI using /v then double-quote what is being passed.
/lv outputs a Verbose log

So, to generate a verbose log from an installshield executable, run

Setup.exe /V"/lv C:\temp\SetupLog.log"
Share:
21,233
Jamie Deakin
Author by

Jamie Deakin

Projects jobdb - Creator of Open Source Job Search Document Creator/Tracker http://i9.photobucket.com/albums/a58/Maskkkk/c64nMe.jpg Received my first computer (see above) at the age of 3, wrote my first program at the age of 7. Been hooked on programming ever since.

Updated on January 19, 2020

Comments

  • Jamie Deakin
    Jamie Deakin over 4 years

    I have a software update that is giving me an error dialog, and no way to see the error logs.

    The executable that I run to install the update is identified as InstallShield in the file's Product Name. I get past all the InstallSheild wizards and dialogs just fine, but when it goes to execute the .msi file I get a dialog with a title that reads Windows Installer and text which reads This patch package could not be opened. Verify that the patch package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer patch package.

    I read here that if you have just a straight .msi file, without InstallShield, you can turn on msi logging by runnning the MSI from the command line and providing the correct arguments, to shed a little more light on the message, but I don't know how to do this when the file is executed inside of an InstallShield executable.

    How can I do this?

  • Jamie Deakin
    Jamie Deakin over 11 years
    Is the temp directory referring to %TEMP% ?
  • Jamie Deakin
    Jamie Deakin over 11 years
    Nothing showed up in that directory. I sorted by date and everything.
  • BryanJ
    BryanJ over 11 years
    @leeand00, another thing I've occasionally done is launch the InstallShield exe to snag the individual msis out of the temp directory. Then launch the msi via commandline like so: msiexec /i product.msi /lvoicewarmupx log.txt ISSETUPDRIVEN=1. The property ISSETUPDRIVEN is used by installshield so that the msi knows its coming from the installshield.exe. Otherwise, the installation will fail. I don't recommend installing like this, but it's a kludge I've done to try to log wtf is going on in some installsheild installs that I can't seem to log.
  • Jamie Deakin
    Jamie Deakin over 11 years
    I went to the registry and it didn't have the Installer key unless I went under current version. I'm using Windows Server 2003.
  • BryanJ
    BryanJ over 11 years
    @leeand00, I suppose it could be different on that OS (or just not work). I would try to just create the Installer key and see if that works, but yeah, I'm not sure about Windows Server 2003.
  • Jamie Deakin
    Jamie Deakin over 11 years
    Which OS were you refering to?
  • BryanJ
    BryanJ over 11 years
    I added a link to an article that describes that reg key. When I navigate to it, it says that the article applies to an OS different than what I am running (I am using Win7). Now it still works for me, but based on that wording, I wonder if it doesn't necessarily work on all Windows operating systems. Should work on Win7 and XP, not sure about Windows Server 2003.