1

I'm a developer working on a cross-platform application. One of the target platforms is Windows, and I've inherited an installer written using Wix.

One of our current priorities is recoverability from failures that occur during the process of upgrading to a new version of our application. It's a background application controlled by a server component, and an important capability is that it upgrade itself without user supervision.

So, our QE folks are hammering on this functionality, and I'm working on a bug report stating that the installation is left in an invalid state if machine gets restarted at a certain point during the installation process. Since the user doesn't know the upgrade is happening (and that's what our customers want), it's entirely feasible that they might choose to restart at exactly the wrong time.

In this specific case the machine is running Windows 10. At the moment, I suspect that the built-in automatic rollback functionality is doing something here, either during shutdown or upon startup, but I don't know how to prove it, as all of the code I control is getting killed before any of this happens. Is there a log file somewhere that will show me what steps were taken by the automatic recovery mechanism? Or a particular place to look in Event Viewer? I know when it happened within a minute or so; I just don't know where to look.

All of my attempts to Google for this information are cluttered up with dozens of articles about getting into and out of self-repair loops, which is not at all what I'm after. I just want to know what the repair mechanism is doing so that I can try to understand how my test machine is getting into the invalid state.

I've dug around for hours in the Event Log to no avail, but I'm not sure I know the right place to look.

I can reproduce this easily, so if I have to enable some kind of logging somehow and then do it again, that's fine.

9
  • Windows Installer does write to the event log. Rather than looking for things related to auto-rollback, have you looked for what Windows Installer DOES write to Event Logs regarding the transaction? Commented Jan 22 at 17:38
  • Does your installer write any logs of its own, separate from the Event Viewer, or the Windows Installer logs? Commented Jan 22 at 17:45
  • Where exactly would I find the events Installer wrote itself? Event Viewer is a labyrinth to me. My installer does create a log of its own, and nothing appears at any appoint after I trigger the restart.
    – JakeRobb
    Commented Jan 22 at 21:49
  • Here's Microsoft's guide, found with a simple web search, for Windows Installer Event Logging. I'd guess this is as good a place as any to start: learn.microsoft.com/en-us/windows/win32/msi/event-logging Commented Jan 22 at 22:20
  • 1
    Got it. It's got 4 close votes currently, so it should be closed relatively soon. Commented Jan 25 at 15:23

0