[SOLVED] QEMU guest agent installation issue

cybermcm

Well-Known Member
Aug 20, 2017
101
10
58
Hi,

I've several Win10 and Server 2016 machines running, all with an active QEMU guest agent. I updated (0.1.149) all of them except one server fails to install.
CustomAction RegisterCom returned actual error code 1 (note this may not be 100% accurate if translation happened inside sandbox)
Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action RegisterCom, location: cmd.exe, command: /c "C:\Program Files\Qemu-ga\qemu-ga.exe" -s vss-install
MSI (s) (4C:F0) [16:46:19:524]: Product: QEMU guest agent -- Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action RegisterCom, location: cmd.exe, command: /c "C:\Program Files\Qemu-ga\qemu-ga.exe" -s vss-install

Action ended 16:46:19: InstallFinalize. Return value 3.
Action ended 16:46:19: INSTALL. Return value 3.
Action ended 16:46:20: ExecuteAction. Return value 3.
Action ended 16:46:20: INSTALL. Return value 3.
=== Logging stopped: 16.04.2018 16:46:20 ===
MSI (c) (98:0C) [16:46:20:053]: Product: QEMU guest agent -- Installation failed.

MSI (c) (98:0C) [16:46:20:059]: Windows Installer installed the product. Product Name: QEMU guest agent. Product Version: 7.5.0. Product Language: 1033. Manufacturer: Red Hat, Inc.. Installation success or error status: 1603.
Any idea how to solve this? I'm aware that this is not a PVE problem but I'm hoping that someone here has an idea.

Thanks in advance
 
Hi,

Try to remove the Programm and install it new.
 
Hi,
This was the first thing I tried. Currently the agent is not installed and I'm unable to reinstall it. It has something to to with VSS but I've no idea how to narrow it down. I also tried to install older versions but every time I get the same error.
I think the installer includes at least 2 parts, the agent itself (which isn't the problem from my point of view) and the VSS component (which can't be installed).
 
I guess the deinstallation does not remove everything.
 
I guess you are right. I tried to analyze with procmon but it didn't help, I didn't find a clue why the installation terminates.
 
The MSI probably doesn't have proper error handling for the custom action it tries to run. Or some parts of the previous installs you tried got mixed up. So the custom action just failes.

But you are in luck.

You can control qemu-ga.exe by command line parameters:
c:\Program Files\qemu-ga>qemu-ga.exe -h gives:

c:\Program Files\qemu-ga\qemu-ga.exe -h
Usage: qemu-ga.exe [-m <method> -p <path>] [<options>]
QEMU Guest Agent 0.12.1

-m, --method transport method: one of unix-listen, virtio-serial, or
isa-serial (virtio-serial is the default)
-p, --path device/socket path (the default for virtio-serial is:
\\.\Global\org.qemu.guest_agent.0)
-l, --logfile set logfile path, logs to stderr by default
-f, --pidfile specify pidfile (default is C:\ProgramData\qemu-ga\qemu-ga.pid)
-t, --statedir specify dir to store state information (absolute paths
only, default is C:\ProgramData\qemu-ga)
-v, --verbose log extra debugging information
-V, --version print version information and exit
-d, --daemonize become a daemon
-s, --service service commands: install, uninstall, vss-install, vss-uninstall
-b, --blacklist comma-separated list of RPCs to disable (no spaces, "?"
to list available RPCs)
-h, --help display this help and exit

Report bugs to <mdroth@linux.vnet.ibm.com>

So you can control the state of the service as well as the QGA VSS provider.
What I would do is:
  • uninstall every QEMU-GA form AddRemovePrograms.
  • look if c:\Program Files\qemu-ga\qemu-ga.exe is still there (shouldn't be in C:\Program Files (x86))
  • if not, copy the entire c:\Program Files\qemu-ga\ folder from an existing server to this server
  • run
    Code:
    "c:\Program Files\qemu-ga\qemu-ga.exe" -s uninstall
    "c:\Program Files\qemu-ga\qemu-ga.exe" -s vss-uninstall
  • install QEMU-GA again from the right MSI file
If after this you are still left with the issue you can try and get some output from the command the MSI is trying to run:

Code:
"c:\Program Files\qemu-ga\qemu-ga.exe" -s vss-install
 
@janssensm: You are a hero! "qemu-ga.exe -s vss-uninstall" did the trick, afterwards I was able to install the new agent.
Thank you very much! :)
 
Glad to be of help and that it solved your issue.
We can thank the guys at Redhat too for implementing these parameters on qemu-ga.exe.
The lack of control which is common on Windows executables is exactly what is guiding me from my work environment (Windows) into Linux. This example shows opposite, in a positive way.
 
This helped me as well! This VM has been moved back and forth between Proxmox and ESXi, and it appears to have been some remnants since the last time it was on Proxmox.

On a note, extracting the MSI and using the files from there should also work, but you need to replace all underscores in the extracted filenames with dashes (this is how it is in the installed folder).
 
Thanks everybody, I tried everything here but in my case, I'm always getting "missing libcc_s_seh-1.dll"
Renaming:
libgcc_arch_lib

to:
missing libcc_s_seh-1.dll

made the "c:\Program Files\qemu-ga\qemu-ga.exe" -s vss-install work, but proxmox doesn't recognize it.
....
In the end, the final procedure to fix it was:
1) unzip the .msi to program files\qemu-ga
2) rename libgcc_arch_lib to libcc_s_seh-1.dll
3) rename the other files replacing "_" with "-"
4) run from an administrative prompt: qemu-ga -s install (this will install both services)
 
Last edited:
The MSI probably doesn't have proper error handling for the custom action it tries to run. Or some parts of the previous installs you tried got mixed up. So the custom action just failes.

But you are in luck.

You can control qemu-ga.exe by command line parameters:
c:\Program Files\qemu-ga>qemu-ga.exe -h gives:

c:\Program Files\qemu-ga\qemu-ga.exe -h
Usage: qemu-ga.exe [-m <method> -p <path>] [<options>]
QEMU Guest Agent 0.12.1

-m, --method transport method: one of unix-listen, virtio-serial, or
isa-serial (virtio-serial is the default)
-p, --path device/socket path (the default for virtio-serial is:
\\.\Global\org.qemu.guest_agent.0)
-l, --logfile set logfile path, logs to stderr by default
-f, --pidfile specify pidfile (default is C:\ProgramData\qemu-ga\qemu-ga.pid)
-t, --statedir specify dir to store state information (absolute paths
only, default is C:\ProgramData\qemu-ga)
-v, --verbose log extra debugging information
-V, --version print version information and exit
-d, --daemonize become a daemon
-s, --service service commands: install, uninstall, vss-install, vss-uninstall
-b, --blacklist comma-separated list of RPCs to disable (no spaces, "?"
to list available RPCs)
-h, --help display this help and exit

Report bugs to <mdroth@linux.vnet.ibm.com>

So you can control the state of the service as well as the QGA VSS provider.
What I would do is:
  • uninstall every QEMU-GA form AddRemovePrograms.
  • look if c:\Program Files\qemu-ga\qemu-ga.exe is still there (shouldn't be in C:\Program Files (x86))
  • if not, copy the entire c:\Program Files\qemu-ga\ folder from an existing server to this server
  • run
    Code:
    "c:\Program Files\qemu-ga\qemu-ga.exe" -s uninstall
    "c:\Program Files\qemu-ga\qemu-ga.exe" -s vss-uninstall
  • install QEMU-GA again from the right MSI file
If after this you are still left with the issue you can try and get some output from the command the MSI is trying to run:

Code:
"c:\Program Files\qemu-ga\qemu-ga.exe" -s vss-install
我没有办法执行这些命令;似乎我安装失败后没有这个qemu-ga\qemu-ga.exe文件夹及程序 ; 我通过在其他服务器复制qemu-ga\文件夹后,也无法执行,谁能帮助我一下呢
 
The MSI probably doesn't have proper error handling for the custom action it tries to run. Or some parts of the previous installs you tried got mixed up. So the custom action just failes.

But you are in luck.

You can control qemu-ga.exe by command line parameters:
c:\Program Files\qemu-ga>qemu-ga.exe -h gives:

c:\Program Files\qemu-ga\qemu-ga.exe -h
Usage: qemu-ga.exe [-m <method> -p <path>] [<options>]
QEMU Guest Agent 0.12.1

-m, --method transport method: one of unix-listen, virtio-serial, or
isa-serial (virtio-serial is the default)
-p, --path device/socket path (the default for virtio-serial is:
\\.\Global\org.qemu.guest_agent.0)
-l, --logfile set logfile path, logs to stderr by default
-f, --pidfile specify pidfile (default is C:\ProgramData\qemu-ga\qemu-ga.pid)
-t, --statedir specify dir to store state information (absolute paths
only, default is C:\ProgramData\qemu-ga)
-v, --verbose log extra debugging information
-V, --version print version information and exit
-d, --daemonize become a daemon
-s, --service service commands: install, uninstall, vss-install, vss-uninstall
-b, --blacklist comma-separated list of RPCs to disable (no spaces, "?"
to list available RPCs)
-h, --help display this help and exit

Report bugs to <mdroth@linux.vnet.ibm.com>

So you can control the state of the service as well as the QGA VSS provider.
What I would do is:
  • uninstall every QEMU-GA form AddRemovePrograms.
  • look if c:\Program Files\qemu-ga\qemu-ga.exe is still there (shouldn't be in C:\Program Files (x86))
  • if not, copy the entire c:\Program Files\qemu-ga\ folder from an existing server to this server
  • run
    Code:
    "c:\Program Files\qemu-ga\qemu-ga.exe" -s uninstall
    "c:\Program Files\qemu-ga\qemu-ga.exe" -s vss-uninstall
  • install QEMU-GA again from the right MSI file
If after this you are still left with the issue you can try and get some output from the command the MSI is trying to run:

Code:
"c:\Program Files\qemu-ga\qemu-ga.exe" -s vss-install
Great!!! I solved that same problem. Thanks.
 
  • Like
Reactions: janssensm

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!