I'm trying to get a log from my install that uses a setup.exe. I can get a log with just setup.exe /V"/l*v c:\temp\installlog.txt", but I want to pass the "x" parameter as well to get "Extra debugging information" and when I try setup.exe /V"/l*vx c:\temp\installlog.txt" I get: 1629: Invalid command line. Any idea what I'm doing wrong? I have msiexec version 5 installed.
问题:
回答1:
Ancient setup.exe: I tried with an ancient version of Installshield and the setup.exe
for a Basic MSI worked as expected. I could pass in Setup.exe V"/L*v C:\Test1.log"
and Setup.exe V"/L*vx C:\Test1.log"
- both command lines worked and the resulting log files were different with the x
adding more verbose nonsense :-). Verbose indeed.
Modern Suite Setups: I tried with InstallShield2018Premier.exe
- a recent installer from Installshield, and it failed with that command line. I am pretty sure this latter file is an Installshield Suite setup.exe - it has to be. These suite setup.exe
files (or whatever they are renamed to) are not the same as the setup.exe
files generated for a single MSI file. There are some details about this here (just my observations, needs verification): Regarding silent installation using Setup.exe generated using Installshield 2013 (.issuite) project file.
So I guess the first thing I would verify is that you are not using a suite setup.exe (as opposed to a regular setup.exe launcher). However, it does look like the command line without the x
parameter did work for you, and then this theory doesn't make any sense. Posting anyway in case you tested with another setup.exe
or something like that. There could also be changes to the regular setup.exe
which makes it fall over on the x
now, but it worked in earlier versions.
Since the above does not seem like a real answer, how about some longshot suggestions?
- Did you try to disable your anti-virus while running with this switch? Just to rule this out in case the
x
initiates something funky. - Did you try and verify similar results on another computer? Maybe a virtual machine? (a very basic, clean one).
- Is this an Installscript MSI? I would build a Basic MSI wrapped in a test setup.exe to see if the behavior is the same for a vanilla MSI file.
- All I can think of at the moment.
UPDATE: OK, a couple of things.
- Installscript MSI projects are very buggy in my experience. I would use a Basic MSI if at all possible. The resulting MSI files are also much more compatible with corporate deployment requirements.
- Maybe Try This: It is possible that you can "hack" the compiled Installscript MSI setup to be able to install without the
setup.exe
wrapper. So you extract the files with an admin install goingsetup.exe /a
and then you use this trick: How to deploy the Installshield MSI without having to run Setup.exe - in order to run the extracted MSI file using the normalmsiexec.exe
engine. So then you just gomsiexec.exe /i MyMsi.Msi /L*Vx C:\Test.log /QN
and see what you get. - It is also conceivable that there is a setting in Installscript MSI projects where you can directly specify a command line to pass to msiexec.exe for testing. I have no access to recent Installshield version and can not help you with this. Documentation might give you a clue.
回答2:
Have you tried this?
setup.exe /s /v"/lvoicewarmupx! C:\temp\install.log"