virtio-win / virtio-win-guest-tools-installer

113 stars 19 forks source link

virtio-win-gt-x64.msi 0.1.217-1 fails with rollback if components missing devices are selected #33

Closed kevinoid closed 2 years ago

kevinoid commented 2 years ago

Attempting to install virtio-win-gt-x64.msi 0.1.217-1 with default options on Windows 10.0.19043.1645 fails with rollback (msiexec log) and displays the following message:

Screenshot of "virtio-win-driver-installer Setup Wizard ended prematurely

On the same system, if I deselect Pvpanic, Qemufwcfg, and Qemupciserial (whose devices are not present on this guest), installation succeeds. (msiexec log)

It would be nice if installation did not fail and rollback in this case. (as previous versions did?) to make installation easier for users, especially across diverse guest configurations. If that's not feasible, a clearer error message would be appreciated.

Thanks, Kevin

vrozenfe commented 2 years ago

@kevinoid Hi Kevin, Can you please post the setupapi.dev.log file corresponded to virtio-win-gt-x64-bad.log case?

Thanks, Vadim.

vrozenfe commented 2 years ago

Found the problem. I will fix this issue in the next build. Vadim.

Dragonizedpizza commented 2 years ago

When is the next build?

vrozenfe commented 2 years ago

In a couple of weeks, I hope.

Best, Vadim.

Remzi1993 commented 2 years ago

In a couple of weeks, I hope.

Best, Vadim.

I have the exact same problem! I hope you can fix. I'm using Gnome Boxes and use it for a project.

Remzi1993 commented 2 years ago

@kevinoid Hi Kevin, Can you please post the setupapi.dev.log file corresponded to virtio-win-gt-x64-bad.log case?

Thanks, Vadim.

I have a log file for you! See log.txt attachment: log.txt

jostrasser commented 2 years ago

Same issue on a fresh Windows 11 Pro. I tried to upgrade from 0.1.215 to 0.1.217 and lost the network adapter / connectivity. A repair with 0.1.215 was not easy, I rolled back with a snapshot.

DaDummy commented 2 years ago

Found the problem. I will fix this issue in the next build. Vadim.

Since version 0.1.217 was labeled/marketed as a stable build without any warning about this issue so far, the number of effected users will continue growing. Please consider releasing at least a hotfix soon.

marshalleq commented 2 years ago

I have had this happen today too. The challenge is that I actually don't know which drivers to remove to resolve it and doing it one by one is painful. For others coming here, downgrading to 0.1.215-2 works around the issue.

elriti commented 2 years ago

Six weeks and counting... 0.1.215-2 it's working, can confirm. Thanks @marshalleq

kevinoid commented 2 years ago

I'm unable to reproduce this issue with the newly released virtio-win-gt-x64.msi 0.1.217-2. Closing as fixed.

Thanks @vrozenfe et al.!

vrozenfe commented 2 years ago

@kevinoid Thank you for your feedback. And sorry for taking so long to build a new rpm. Just needed to fix https://bugzilla.redhat.com/show_bug.cgi?id=2082021 to make sure that it works properly.

Best, Vadim.

DaDummy commented 2 years ago

The fix doesn't seem to have been effective. The same error is still occurring for me with the 0.1.217-2 iso.

Are there any additional steps that need to be taken in order for the setup to succeed again?

log.txt

cvocvo commented 2 years ago

Also running into issues with 0.1.217-2 on Server 2019 with the ISO and x64 MSI. However, the new version worked fine for me on Windows 10 21H2.

kevinoid commented 2 years ago

Perhaps, to help confirm that it is the same issue and not a new/different issue, you could confirm that virtio-win-gt-x64.msi installs correctly when only the drivers for devices present in the guest are selected for installation?

Also, the log from msiexec /i virtio-win-gt-x64.msi /l*v msiexec.log and/or setupapi.dev.log may be useful.

(I'm not a virtio-win developer. Take these suggestions for what they're worth.)

cvocvo commented 2 years ago

virtio-win-0.1.217-2-server2019.txt Good thought; here's an msiexec log from my Serve 2019 VM. I'm not 100% sure about the devices present; here's what I tried:

I combed through Device Manager and see the following are installed:

In the installer, I left those as "Will be installed on local hard drive" and then I flipped everything else to "Feature will be installed when required." However it still fails and rolls back, so I'm not sure about that.

kevinoid commented 2 years ago

virtio-win-0.1.217-2-server2019.txt

Thanks! A few lines that jumped out at me:

 DIFXAPP: ERROR 0x2 encountered while opening persistent-info key for component '{0279689F-2B56-47BB-BE08-2D66A0B9F4FC}'
 DIFXAPP: UninstallDriverPackages failed with error 0x2
 DIFXAPP: RETURN: UninstallDriverPackages() 2 (0x2)
 CustomAction MsiUninstallDrivers returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
 Action ended 9:10:30: InstallFinalize. Return value 3.

That's the GUID for the balloon component on Windows 2019:

https://github.com/virtio-win/virtio-win-guest-tools-installer/blob/0474970897df7e3635c760c94b4984867cb2b244/virtio-win-drivers-installer/Drivers/Balloon/balloon.wxi#L35

Perhaps it's failing to uninstall the old version before installing the new one? Possibly corrupted registry info, as in a similar error discussed on WiX-users? I'm a bit out of my depth. Hopefully one of the virtio developers can chime in.

cvocvo commented 2 years ago

Seems like something is indeed broken with uninstalling the previous version; I can run virtio-win-gt-x64.msi and do a repair install (I have 0.1.208 installed) and the repair install works. However, many things do not work (taking some inspiration from that WIX link):

EDIT: To test one other thing the only other VM I had handy was Server 2022 and I was able to uninstall 0.1.208 from that and install the new 0.1.217-2 without any issue. So it seems my issue is mostly resolved aside from one box where I can't seem to force uninstall 0.1.208.

ghost commented 1 year ago

I'm having this issue with 0.1.215 and it is absolutely impossible to force uninstall.

Remzi1993 commented 1 year ago

@kevinoid Maybe it's better to reopen this issue? People are still experiencing this issue. It's not nice to close an issue while the issue still persist.

kevinoid commented 1 year ago

@Remzi1993 I'll leave the decision about whether to reopen this issue to the project maintainers. I suspect that installer rollback can have many causes which may be separate issues. However, in this case, I really don't know.

If it were my project, I'd encourage users experiencing similar symptoms to create new issues and provide msiexec and setupapi logs (and reproduction steps where possible) so that the cause of each issue can be determined and issues merged (and reopened) if/when the cause is found to be the same. However, this is not my project, so take that advice with a grain of salt.

BourgeoisBear commented 1 year ago

Is it a WHQL signature issue?

Per https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md:

`All the Windows binaries are from builds done on Red Hat’s internal build system, which are generated using publicly available code. Windows 8+ drivers are cryptographically signed with Red Hat’s test signature Windows 10+ drivers are signed with Microsoft attestation signature. However they are not signed with Microsoft’s WHQL signature. WHQL signed builds are only available with a paid RHEL subscription.

Xetob11 commented 1 year ago

Same on new drivers in Windows 8.1

mailinglists35 commented 1 year ago

update: I take that back. The issue was caused by disabled windows management instrumentation service Winmgmt which in turn prevented the balloonservice to start with exit code 1008.

this persists.

from https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md I click on "Latest virtio-win-guest-tools.exe" then this seems to launch a second installer then when the wizard starts I leave all components defaults and it finishes with error and rollbacks.

~~attached logs created by both installers: Virtio-win-guest-tools_20230622175644.log and Virtio-win-guest-tools_20230622175644_000_virtio_win_gt_x64.msi.log Temp.zip~~

section in logs:

~~[1C24:1C2C][2023-06-22T17:57:22]i323: Registering package dependency provider: {BC3373F8-48ED-490D-9431-0D02425BA607}, version: 0.1.229, package: virtio_win_gt_x64.msi~~
~~[1C24:1C2C][2023-06-22T17:57:22]i301: Applying execute package: virtio_win_gt_x64.msi, action: Install, path: C:\ProgramData\Package Cache\{BC3373F8-48ED-490D-9431-0D02425BA607}v0.1.229\virtio-win-gt-x64.msi, arguments: ' ARPSYSTEMCOMPONENT="1" MSIFASTINSTALL="7"'~~
~~[1C24:1C2C][2023-06-22T17:57:59]e000: Error 0x80070643: Failed to install MSI package.~~
~~[1C24:1C2C][2023-06-22T17:57:59]e000: Error 0x80070643: Failed to execute MSI package.~~
~~[1840:1980][2023-06-22T17:57:59]e000: Error 0x80070643: Failed to configure per-machine MSI package.~~
~~[1840:1980][2023-06-22T17:57:59]i319: Applied execute package: virtio_win_gt_x64.msi, result: 0x80070643, restart: None~~
~~[1840:1980][2023-06-22T17:57:59]e000: Error 0x80070643: Failed to execute MSI package.~~

guest is LTSC 2019 ~~