Quoting Denis V. Lunev (2015-11-25 13:02:26) > From: Yuri Pudgorodskiy <y...@virtuozzo.com> > > With previous commit we added gspawn-win64-helper-console.exe, > required for gspawn() mingw implementation. > Unfortunatly when running as a service without interactive > desktop, gspawn() also requires another helper app. > > Added gspawn-win64-helper.exe and gspawn-win32-helper.exe > for corresponding architectures. > > Signed-off-by: Yuri Pudgorodskiy <y...@virtuozzo.com> > Signed-off-by: Denis V. Lunev <d...@openvz.org> > CC: Michael Roth <mdr...@linux.vnet.ibm.com>
Thanks, applied to qga tree with minor whitespace fixup: https://github.com/mdroth/qemu/commits/qga I noticed something testing this though: if we run qemu-ga from a console, then exec something like ipconfig with capture-output: true, qemu-ga returns that output via guest-exec-status. If we run it as a service however, there's no output. # with qemu-ga started via console {'execute':'guest-exec','arguments':{'path':'/Windows/System32/ipconfig.exe', 'capture-output':true}} {"return": {"pid": 1644}} {'execute':'guest-exec-status','arguments':{'pid':1644}} {"return": {"exitcode": 0, "out-data": "DQpXaW5kb3dzIElQIENvbmZpZ3VyYXRpb24NCg0KDQpFdGhlcm5ldCBhZGFwdGVyIExvY2FsIEFyZWEgQ29ubmVjdGlvbiAyOg0KDQogICBDb25uZWN0aW9uLXNwZWNpZmljIEROUyBTdWZmaXggIC4gOiANCiAgIExpbmstbG9jYWwgSVB2NiBBZGRyZXNzIC4gLiAuIC4gLiA6IGZlODA6OjMwMDU6NmRjOjNjNmE6NTQ2NCUxNA0KICAgSVB2NCBBZGRyZXNzLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDogMTkyLjE2OC4xMjIuMTQNCiAgIFN1Ym5ldCBNYXNrIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA6IDI1NS4yNTUuMjU1LjANCiAgIERlZmF1bHQgR2F0ZXdheSAuIC4gLiAuIC4gLiAuIC4gLiA6IDE5Mi4xNjguMTIyLjENCg0KVHVubmVsIGFkYXB0ZXIgaXNhdGFwLns3Q0Q3OTAwQy05NThCLTRBRUMtQkUwRC0yMTNERjM1NjQ2MEZ9Og0KDQogICBNZWRpYSBTdGF0ZSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gOiBNZWRpYSBkaXNjb25uZWN0ZWQNCiAgIENvbm5lY3Rpb24tc3BlY2lmaWMgRE5TIFN1ZmZpeCAgLiA6IA0KDQpUdW5uZWwgYWRhcHRlciBMb2NhbCBBcmVhIENvbm5lY3Rpb24qIDExOg0KDQogICBNZWRpYSBTdGF0ZSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gOiBNZWRpYSBkaXNjb25uZWN0ZWQNCiAgIENvbm5lY3Rpb24tc3BlY2lmaWMgRE5TIFN1ZmZpeCAgLiA6IA0K", "exited": true}} # wtih qemu-ga started via windows service {'execute':'guest-exec','arguments':{'path':'/Windows/System32/ipconfig.exe', 'capture-output':true}} {"return": {"pid": 1176}} {'execute':'guest-exec-status','arguments':{'pid':1176}} {"return": {"exitcode": 0, "exited": true}} Is this expected? > --- > qga/installer/qemu-ga.wxs | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/qga/installer/qemu-ga.wxs b/qga/installer/qemu-ga.wxs > index f25afdd..7c59972 100644 > --- a/qga/installer/qemu-ga.wxs > +++ b/qga/installer/qemu-ga.wxs > @@ -95,11 +95,17 @@ > <Component Id="gspawn-helper-console" > Guid="{446185B3-87BE-43D2-96B8-0FEFD9E8696D}"> > <File Id="gspawn-win32-helper-console.exe" > Name="gspawn-win32-helper-console.exe" > Source="$(var.Mingw_bin)/gspawn-win32-helper-console.exe" KeyPath="yes" > DiskId="1"/> > </Component> > + <Component Id="gspawn-helper" > Guid="{CD67A5A3-2DB1-4DA1-A67A-8D71E797B466}"> > + <File Id="gspawn-win32-helper.exe" > Name="gspawn-win32-helper.exe" > Source="$(var.Mingw_bin)/gspawn-win32-helper.exe" KeyPath="yes" DiskId="1"/> > + </Component> > <?endif?> > <?if $(var.Arch) = "64"?> > <Component Id="gspawn-helper-console" > Guid="{9E615A9F-349A-4992-A5C2-C10BAD173660}"> > <File Id="gspawn-win64-helper-console.exe" > Name="gspawn-win64-helper-console.exe" > Source="$(var.Mingw_bin)/gspawn-win64-helper-console.exe" KeyPath="yes" > DiskId="1"/> > </Component> > + <Component Id="gspawn-helper" > Guid="{D201AD22-1846-4E4F-B6E1-C7A908ED2457}"> > + <File Id="gspawn-win64-helper.exe" > Name="gspawn-win64-helper.exe" > Source="$(var.Mingw_bin)/gspawn-win64-helper.exe" KeyPath="yes" DiskId="1"/> > + </Component> > <?endif?> > <Component Id="iconv" > Guid="{35EE3558-D34B-4F0A-B8BD-430FF0775246}"> > <File Id="iconv.dll" Name="iconv.dll" > Source="$(var.Mingw_bin)/iconv.dll" KeyPath="yes" DiskId="1"/> > @@ -159,6 +165,7 @@ > <ComponentRef Id="qga_vss_tlb" /> > <?endif?> > <ComponentRef Id="gspawn-helper-console" /> > + <ComponentRef Id="gspawn-helper" /> > <ComponentRef Id="iconv" /> > <ComponentRef Id="libgcc_arch_lib" /> > <ComponentRef Id="libglib" /> > -- > 2.1.4 >