View Single Post
Old 03-15-2010, 07:54 PM   #9 (permalink)
LoZ
Guest
 
Posts: n/a
Default Re: Install CustomAction does not run when /PASSIVE passed at commandline

On Sep 15, 5:33*pm, "Wilson, Phil" <ph...@wonderware.nospam.com>
wrote:
> Forget passive for a moment. Install the MSI file. *After it's installed,
> try to install it again. You'll see a maint dialog as LoZ mentioned. The
> default is Repair. It does not install it "again", whatever that might be
> thought to mean. When you run without showing UI all that happens is thatit
> takes that default and does the repair. It's not even looking at your MSI
> file, it's using the cached one in *Windows\Installer.
>
> --
> Phil Wilson
> The Definitive Guide to Windows Installerhttp://www.apress.com/book/view/1590592972
>
> "livingstone" <livingstone_a...@yahoo.com> wrote in message
>
> news:80ab6618-1fc3-484e-a1d6-944b8806e8e6@j19g2000vbp.googlegroups.com...
>
>
>
> > LoZ, Phil, thanks a million for your time and input. I am "not quite
> > there yet". Maybe (most likely) because I don't fully understand /
> > PASSIVE option and/or difference between running MSI from the command
> > line vs. interactively-by double clicking the MSI. My understanding
> > (and I might be wrong) is that /PASSIVE literally takes all default
> > options to avoid having the user interact. If REPAIR is the default
> > option when running the MSI by double clicking it for the second time
> > why wouldn't the II run of the msi from the command line take supposed
> > default option of REPAIR and actually run custom actions as well?

>
> > Also, the second consecutive run of the MSI from the command line
> > msiexec /I Something.MSI /PASSIVE
> > msiexec /I Something.MSI /PASSIVE
> > will actually DO SOMETHING so to some extent I have to disagree with
> > LoZ that
> >>> "This won't just not run the CAs, it won't actually do anything. "

> > If any of the files installed by the first run of the MSI get deleted
> > (by mistake, for example), running the MSI on top of itself in
> > Scenario #2 will actually reinstall the missing files - isn't this a
> > sort of repair?

>
> > Maybe I should I ask the question like this: how can I make sure that
> > CAs will execute on the II consecutive run of
> > msiexec /I Something.MSI /PASSIVE
> > LoZ, I tried your suggestion to set condition on my custom actions to
> > REMOVE<>"ALL" and it didn't help - CAs still don't run in Scenario #2
> > outlined in my first post.

>
> > To answer LoZ's question - the reason I am even trying to test running
> > MSI on top of itself
> > msiexec /I Something.MSI /PASSIVE
> > msiexec /I Something.MSI /PASSIVE
> > is to have a full understanding of what it does, if anything, in case
> > my customer ends up doing it. My customer always runs with /PASSIVE
> > because they push my MSI via SMS at night and the requirement is that
> > no user interaction is permitted (MSI is sort of silent, userinput-
> > less install). I needed to know what happens, if anything, if the
> > customer pushes the same MSI by mistake two times in a row. Now that I
> > discovered what it does I am trying to make the second run of the
> > msiexec /I Something.MSI /PASSIVE
> > do the exact same thing that the first run did. Maybe I *am chasing my
> > tail?

>
> > Thanks again folks.
> > Cheers,
> > livingstone


That's not my understanding at all Phil.

In my experience even if the default option offered by the UI window
is repair, using /passive with /i will not do anything at all the
second time round. Windows Installer will not switch into maintenance
mode automatically, it will just see that the product is registered
and stop the install.
It will reference the cached MSI as you say but will not repair it if /
i has been passed in the command line.

Which would explain why in livingstone's scenario #2 described above,
the custom action(s) do not fire again.

Anyway, I could be completely wrong on this but my experiences suggest
otherwise.
  Reply With Quote