#1
|
|||
|
|||
VMWare Workstation step
I think I found a bug:
When the checkbox for "Prevent Prompting" is enabled in the Options Tab, I find that every other execution on the same VM machine, it'll error out with: Code:
Error: Command failed: Insufficient permissions I took a look at the .action file, and starting on line 88 is where the NoPrompt condition is checked. You open the vmx file, but never close it. When VMWare starts it reads the file for writing, but cannot since VBP has exclusivity to it. I added Code:
f.close Code:
f.WriteLine vbCrLf & NoPromptStr I don't have this problem anymore. Maybe fixed for the next revision of VBP? Btw, this is version 6.7: Code:
Windows Version: 5.1.2600.3.0 Install path: C:\Program Files\VisBuildPro6 SftTree_IX86_U_50.dll version 5.06 unins000.exe version 51.49.0.0 VisBuildCmd.exe version 6.7.0.0 VisBuildPro.exe version 6.7.0.0 VisBuildBld.dll version 6.7.0.0 VisBuildBurn.dll version 6.7.0.0 VisBuildCore.dll version 6.7.0.0 VisBuildDotNET.dll version 6.7.0.0 VisBuildExt.dll version 6.7.0.0 VisBuildLog.dll version 6.7.0.0 VisBuildMisc.dll version 6.7.0.0 VisBuildMS.dll version 6.7.0.0 VisBuildMS2.dll version 6.7.0.0 VisBuildNet.dll version 6.7.0.0 VisBuildSvr.dll version 6.7.0.0 VisBuildSvr.Interop.dll version 1.0.0.0 VisBuildVCS.dll version 6.7.0.0 Eric. |
#2
|
|||
|
|||
It does appear that the variable f does not get disposed of (and its file handle closed) until after the action completes (not when f goes out of scope), so when vmrun is called later in the action, it isn't able to open the file. And the fix is to add the explicit close call as you did. Although that code shouldn't even get executed on the 2nd and subsequent invocations of the step (unless the .vmx file is getting replaced with a version that doesn't have that line).
|
|
|