Thank you the detailed
explanation, I really appreciate it.

 

One issue that we
encountered during an upgrade was that a process was holding onto an exclusive
handle to one of the files being replaced during upgrade. This process ignores
Ctrl+C controls and is managed by a parent process which immediately restarts it
after detecting a shutdown. we use MSIRMSHUTDOWN=1, which causes RM to
terminate this process but it immediately comes back up and as a result copying
of that binary fails leading to an upgrade failure.

 

we were thinking if we can
schedule a reboot in such a case causing the file replacement to happen by
Session Manager after the reboot (and before the process starting). 

 

Regards,

Surya
> Date: Fri, 28 Mar 2014 12:44:26 -0700
> From: phildgwil...@gmail.com
> To: wix-users@lists.sourceforge.net
> Subject: Re: [WiX-users] Manually scheduling a Machine Reboot during MSI      
> Major Upgrade
> 
> Unfortunately I don't understand much of that preamble. If you're
> getting failures during upgrades, perhaps explain how reboots are
> involved, if that's what you're looking at. I've only heard the term
> "hardening" in the sense of "making a system more resistant to cyber
> attack" (look it up!) so maybe you mean "more reliable", and if so the
> answer to that is a good install design that follows best practices.
> Perhaps you could explain why doing a reboot in the worst case is a
> good thing, because it's usually not. I've never seen anyone
> successfully outwit Windows in dealing with reboots during an
> installation because it knows much more than you do about what's going
> on, and by "dealing with" I mean minimizing to reduce the impact to
> the customer.
> 
> The docs are clear about MsiSystemRebootPending. Use it in a launch
> condition, and especially when a previous install has finished that
> needs to be really complete, with files updated instead of pending a
> change. It's nothing to do with your install  - it's about the state
> of the system.
> 
> ReplacedInUseFiles is set when your install has replaced in use files,
> obviously, but if a reboot is required Windows will do it anyway, and
> you don't need to schedule a reboot because ReplacedInUseFiles is set.
> 
> There are no cases AT ALL that I know of where YOU need to schedule a
> reboot. Windows will do the right thing if you let it. Again, if you
> had issues associated with reboots you could tell us what they were. I
> have known people who've built installs that were so honked up with
> things like custom actions and badly written services and other
> processes that refused to shut down when told, and rather than fix
> those they forced a reboot on the customers - hopefully that's not
> your situation.
> 
> Look at the msiexec exit codes. If you are running bat files or the
> equivalent and you have anyone that can code, write something that
> calls the Win32 API MsiInstallProduct. When it returns 3010 it means a
> reboot was required but it was suppressed by (usually) a command line
> that said suppress reboots (see REBOOT property), same with the
> msiexec exit code.
> 
> http://msdn.microsoft.com/en-us/library/aa376931(v=vs.85).aspx
> 
> ---------------
> Phil Wilson
> 
> 
> On Fri, Mar 28, 2014 at 11:40 AM, Suryadeep Biswal
> <surya6...@hotmail.com> wrote:
> > Hi,
> >
> >
> >
> > We use MSI Major Upgrade to update our products on servers. In
> > the light of some recent failures during upgrade, we have been working 
> > towards
> > hardening our installation package so that a reboot can be scheduled in the
> > worst case. I have been looking at various Installer properties/actions on 
> > msdn
> > related to REBOOT. One thing I am still unsure is the cases where the 
> > Installer
> > would initiate a reboot vs where the package itself needs to do so. It 
> > would be
> > great if I can get the following questions answered -
> >
> >
> >
> > 1.
> > Initially, if MsiSystemRebootPending
> > property is set to true, Is it recommended that the installer package 
> > schedules
> > a reboot? Which Installer action (ForceReboot or ScheduleReboot)
> > is recommended here?
> >
> > 2.
> > I read on msdn that in case of installation over
> > in-use files, ReplacedInUseFiles  is set to true and Installer
> > schedules a reboot. I believe in such cases, no action is needed from the
> > installation packages. Is my understanding correct? Also, Is there a way to
> > easily reproduce this scenario? I have tried with processes having handles 
> > open
> > to files being replaced but have never seen the property being set to true 
> > by
> > the installer (I have not seen a reboot either).
> >
> > 3.
> > Are there any other error cases that need to be
> > handled by an Installer package and a reboot needs to be scheduled?
> >
> > 4.
> > We run "msiexec" command from a batch file. Do
> > we need to check for some special exit codes from msiexec.exe and take 
> > reboot actions
> > accordingly?
> >
> >
> >
> > Regards,
> >
> > Surya
> > ------------------------------------------------------------------------------
> > _______________________________________________
> > WiX-users mailing list
> > WiX-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
                                          
------------------------------------------------------------------------------
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to