Turning MSI logging on from an InstallShield .EXE?
Solution 1
I have ran into similar problems when troubleshooting InstallShield installers. I usually result to forcing the OS to log the install:
- Navigate to the registry:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
- Create a new reg key as follows:
Logging=voicewarmup
where Logging is the reg key and voicewarmup is the value. - 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"
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, 2020Comments
-
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 readsThis 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 over 11 yearsIs the temp directory referring to
%TEMP%
? -
Jamie Deakin over 11 yearsNothing showed up in that directory. I sorted by date and everything.
-
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 over 11 yearsI 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 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 over 11 yearsWhich OS were you refering to?
-
BryanJ over 11 yearsI 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.