You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First of all I want to thank you for the great job you've done creating the WixTools.
My question is related to WiX3. I know that it's out of support and do not expect any fix to the outdated code, however I'll be glad to know if it's a known issue or there's a solution to overcome it. If there's a fix for it in WiX4/5/6 - it would be a good motivation to move our product installer to the most recent version of WiX. So, let's start :-)
Our product installer is a bundle that contains 8 different packages (msi, exe, bat). The structure is like this:
Bundle
|-- VCRedist.exe
|-- Script1.bat
|-- Driver.msi
|-- Helper1.exe
|-- Product.msi
|-- Helper2.exe
|-- Helper3.exe
|-- Script2.bat
The issue we face is related to the major upgrade process. Most of the client PCs product upgrade goes smoothly, however some of them (actually less than 1%) get inconsistent state after the upgrade. Here's the flow we observe during the upgrade from version 5.11.0 to 5.12.0:
Bundle 5.12.0 creates registry key in HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{8fd9603c-611b-4906-94ec-9bcda28fd0ef}
Bundle 5.12.0 executes packages one by one
Bundle 5.12.0 executes Product.msi. It performs the the upgrade of Product.msi 5.11.0 according to it's internal logic.
At some random moment of Product.msi we observe that registry key HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{8fd9603c-611b-4906-94ec-9bcda28fd0ef} disappears. We can't tie it to any custom action inside the Product.msi, according to the logs moment is random.
Bundle 5.12.0 finishes the chain execution and starts Bundle 5.11.0 for uninstallation
Bundle 5.11.0 fails to detect that it's an upgrade because HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{8fd9603c-611b-4906-94ec-9bcda28fd0ef} is missing and executes pure uninstall procedure. It goes throw all the items in the chain and uninstalls them.
The upgrade operation result Success on all steps, but we get the state where both bundles are considered to be not installed, the Product.msi 5.12.0 is installed, all other packages are removed.
The attempts to reproduce this behavior locally didn't succeed, so we tried to get as much details from our users as possible and equipped the installer with the ProcessMonitor. ProcessMonitor showed that it's a bootstrapper application who removes the entry:
Some additional anomalies that are observed across several unsuccessful installations:
The usual installation log for Product.msi contains 2 entries with 'Running as a service'
MSI (s) (24:DC) [16:58:18:750]: Running as a service.
MSI (s) (24:DC) [16:58:18:755]: Hello, I'm your 64bit Elevated Non-remapped custom action server.
and
MSI (s) (24:DC) [16:58:26:276]: Running as a service.
MSI (s) (24:DC) [16:58:26:282]: Hello, I'm your 32bit Elevated Non-remapped custom action server.
The abnormal installation has the 3rd entry right the moment when HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{8fd9603c-611b-4906-94ec-9bcda28fd0ef} is removed
...
MSI (s) (24:B4) [17:03:04:054]: Doing action: Set_RemoveDriverFileFromSystemFolder_stub_driver_Props
Action ended 17:03:04: UninstallDriver_UninstallDriver_stub_driver. Return value 1.
MSI (s) (24:DC) [17:03:13:919]: Running as a service.
Action start 17:03:21: Set_RemoveDriverFileFromSystemFolder_stub_driver_Props.
...
We have log entries like 'MSI (s) ...' in the Product.msi. They are missing from the moment when registry entry HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{8fd9603c-611b-4906-94ec-9bcda28fd0ef} is removed. Till the end of the log not a single entry 'MSI (s) ...', however the other log entries are there and the execution seems to be normal
I would appreciate any help on this case. Thank you!
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
First of all I want to thank you for the great job you've done creating the WixTools.
My question is related to WiX3. I know that it's out of support and do not expect any fix to the outdated code, however I'll be glad to know if it's a known issue or there's a solution to overcome it. If there's a fix for it in WiX4/5/6 - it would be a good motivation to move our product installer to the most recent version of WiX. So, let's start :-)
Our product installer is a bundle that contains 8 different packages (msi, exe, bat). The structure is like this:
Bundle
|-- VCRedist.exe
|-- Script1.bat
|-- Driver.msi
|-- Helper1.exe
|-- Product.msi
|-- Helper2.exe
|-- Helper3.exe
|-- Script2.bat
The issue we face is related to the major upgrade process. Most of the client PCs product upgrade goes smoothly, however some of them (actually less than 1%) get inconsistent state after the upgrade. Here's the flow we observe during the upgrade from version 5.11.0 to 5.12.0:
HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{8fd9603c-611b-4906-94ec-9bcda28fd0ef}
HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{8fd9603c-611b-4906-94ec-9bcda28fd0ef}
disappears. We can't tie it to any custom action inside the Product.msi, according to the logs moment is random.HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{8fd9603c-611b-4906-94ec-9bcda28fd0ef}
is missing and executes pure uninstall procedure. It goes throw all the items in the chain and uninstalls them.The attempts to reproduce this behavior locally didn't succeed, so we tried to get as much details from our users as possible and equipped the installer with the ProcessMonitor. ProcessMonitor showed that it's a bootstrapper application who removes the entry:


Some additional anomalies that are observed across several unsuccessful installations:
and
The abnormal installation has the 3rd entry right the moment when
HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{8fd9603c-611b-4906-94ec-9bcda28fd0ef}
is removedHKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{8fd9603c-611b-4906-94ec-9bcda28fd0ef}
is removed. Till the end of the log not a single entry 'MSI (s) ...', however the other log entries are there and the execution seems to be normalI would appreciate any help on this case. Thank you!
Beta Was this translation helpful? Give feedback.
All reactions