[vbox-dev] Regarding possible solution to #13157 - Windows Command line argument handling error
Knut St. Osmundsen
knut.osmundsen at oracle.com
Mon May 4 20:53:51 UTC 2015
Hi Magnus,
seems notepad.exe and few other windows apps are doing it for
themselves... So, I've added an option to disable the quoting and
escaping.
New test build:
https://www.virtualbox.org/download/testcase/VirtualBox-4.3.27-100026-Win.exe
Try: VBoxManage guestcontrol <vm> exec [creds] --unquoted-args -- \
c:\windows\system32\notepad.exe test=\"test\"
Notepad should now see test="test" and tell you off for giving in an
incorrect name.
Note! The --unquoted-args option only disables the final
RTGetOptArgvToString(,,MS_CRT) right before CreateProcessW is called
on the guest side. On the VBoxManage command line, the shell/CRT will
interpret your command line first and turn it into argv, which is send
to the guest, thus the escaped double quotes (\").
Kind Regards,
bird.
On 2015-04-29 17:47, Magnus Madsen wrote:
> Hi Knut,
>
> I didn't realize that there had been modifications to the host side
> as well, but doing a test installation with 99834 the problem still
> occurs as far as I can tell. Calling IGuestProcess.ProcessCreate
> with the file name notepad.exe and a single argument test="test"
> results in the process being created in the guest with the
> following command line:
>
> notepad.exe "test=\"test\""
>
> I am not sure what could be wrong with the configuration of my host
> to cause this issue if it is not related to VirtualBox. It happens
> with multiple different guest OS's (all Windows though).
>
>
> _______________________________________________ vbox-dev mailing
> list vbox-dev at virtualbox.org
> https://www.virtualbox.org/mailman/listinfo/vbox-dev
>
More information about the vbox-dev
mailing list