несколько проблем с vmrun.exe - PullRequest
3 голосов
/ 16 февраля 2012

Хост: Windows 7 pro 64-bit с VMWare Workstation 7.1

Что я пытаюсь автоматизировать:

1) Clone a template into a new VM. The template is Windows Server 2003 32-bit w/SP1 and already has VMWare tools installed and network and VM settings configured the way I want.
2) Start the VM
3) Copy a batch file and a zip file into the VM which installs a build and copies some files into certain locations. The build is different each time but I want the OS to be the same each time.
4) Run the batch file within the VM

Основная идея заключается в возможности развертывания различных версийвстроить в виртуальную машину с управляемым образом и конфигурацией ОС.

мой командный файл выглядит примерно так:

     vmrun clone %vm_template_path% %new_vm_path% full
     vmrun -T ws -gu <user> -gp <pass> start %new_vm_path% gui
     vmrun -T ws -gu <user> -gp <pass> copyFileFromHostToGuest %new_vm_path% %file_on_host% %file_path_on_VM%
     vmrun -T ws -gu <user> -gp <pass> runProgramInGuest %new_vm_%path% -nowait -interactive %file_on_host%

Клон работает просто отлично.Мои проблемы: 1) Команда запуска правильно запускает виртуальную машину, но никогда не возвращается к следующей строке в моем командном файле.Я ждал более 30 минут, чтобы убедиться.2) copyFileFromHostToGuest не копирует файл, никогда не возвращает и не отображает никаких ошибок.Он просто сидит там.Файл, который я пытался скопировать в качестве теста, занимал 30 КБ, и я ждал минут 15 или около того.

Ответы [ 2 ]

1 голос
/ 09 марта 2012

Похоже, ваша проблема может быть в том, что команда запуска активна все время, когда виртуальная машина включена.Вы пытались вызвать его в отдельном командном файле?

vmrun clone %vm_template_path% %new_vm_path% full

REM Creates a separate batch to run the start command which will delete itself when done
ECHO vmrun -T ws -gu <user> -gp <pass> start %new_vm_path% gui > startVM.bat
ECHO del /q /s /f startVM.bat >> startVM.bat

REM runs the separate batch
startVM.bat

REM if the VM needs to be booted before you continue with the file copy you can try a TIMEOUT in here like the two minute one below:
TIMEOUT 120

vmrun -T ws -gu <user> -gp <pass> copyFileFromHostToGuest %new_vm_path% %file_on_host% %file_path_on_VM%
vmrun -T ws -gu <user> -gp <pass> runProgramInGuest %new_vm_%path% -nowait -interactive %file_on_host%
0 голосов
/ 18 сентября 2013

Вы пробовали это на компьютере с 32-битной Windows в качестве хоста? У меня была та же проблема, после открытия поддержки и большого количества ошибок поиска, это оказалось проблемой с Panda Antivirus на 64-битных окнах, блокирующих VMRun. Поэтому мне пришлось либо сменить антивирус, либо использовать 32-битную Windows.

...