Turning MSI logging on from an InstallShield .EXE?
Asked Answered
S

2

7

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?

Spotless answered 25/1, 2013 at 17:27 Comment(0)
M
8

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

Molybdenum answered 25/1, 2013 at 17:34 Comment(7)
Is the temp directory referring to %TEMP% ?Spotless
Nothing showed up in that directory. I sorted by date and everything.Spotless
@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.Molybdenum
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.Spotless
@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.Molybdenum
Which OS were you refering to?Spotless
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.Molybdenum
P
18

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"
Pinna answered 20/2, 2013 at 19:49 Comment(0)
M
8

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

Molybdenum answered 25/1, 2013 at 17:34 Comment(7)
Is the temp directory referring to %TEMP% ?Spotless
Nothing showed up in that directory. I sorted by date and everything.Spotless
@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.Molybdenum
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.Spotless
@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.Molybdenum
Which OS were you refering to?Spotless
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.Molybdenum

© 2022 - 2024 — McMap. All rights reserved.