Windows 10
Vagrant 2.0.0
Virtualbox 5.1.30
vagrant up worked fine
==> default: Running provisioner: shell...
default: Running: shell/NotifyGuiAppsOfEnvironmentChanges.ps1 as
c:\tmp\vagrant-shell.ps1
==> default: 1
==> default: SUCCESS: Specified value was saved.
==> default: Running provisioner: shell...
default: Running: inline PowerShell script
==> default: SUCCESS: Specified value was saved.
==> default: Testing package if a line is uncommented.
==> default: Exit code was 0
kikitux@alvaro MINGW64 ~/Downloads/chocolatey-test-environment (master)
$
On Fri, Nov 3, 2017 at 12:53 AM, Bob Tanner <[email protected]>
wrote:
> Not sure if this is a bug or a personal problem, posting here before
> opening a bug report.
>
> macOS 10.12.6
> Vagrant 2.0.0
> VirtualBox 5.1.30 r118389
> Windows Server 2016 Standard Edition
>
> Unfortunately I upgraded Vagrant and VirtualBox at the same time so I
> don't know which one is causing the problem.
>
> Using the Vagrant configuration from the https://github.com/
> chocolatey/chocolatey-test-environment project
>
> $ vagrant up
> ==> default: Checking if box 'BasicTheProgram/windows_2016' is up to
> date...
> ==> default: Running provisioner: shell...
> default: Running: shell/PrepareWindows.ps1 as c:\tmp\vagrant-shell.ps1
> ==> default: (10,8):UserId:
> ==> default: At line:72 char:1
> ==> default: + $folder.RegisterTaskDefinition($task_name, $task, 6,
> $username, $pass ...
> ==> default: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ==> default: + CategoryInfo : OperationStopped: (:) [],
> ArgumentException
> ==> default: + FullyQualifiedErrorId : System.ArgumentException
> ==> default: The system cannot find the file specified. (Exception from
> HRESULT: 0x80070002)
> ==> default: At line:74 char:1
> ==> default: + $registered_task = $folder.GetTask("\$task_name")
> ==> default: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ==> default: + CategoryInfo : OperationStopped: (:) [],
> FileNotFoundException
> ==> default: + FullyQualifiedErrorId : System.IO.FileNotFoundException
> ==> default: You cannot call a method on a null-valued expression.
> ==> default: At line:75 char:1
> ==> default: + $registered_task.Run($null) | Out-Null
> ==> default: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ==> default: + CategoryInfo : InvalidOperation: (:) [],
> RuntimeException
> ==> default: + FullyQualifiedErrorId : InvokeMethodOnNull
>
> The shell/PrepareWindows.ps1 works when executed from an interactive
> powershell prompt inside the VM
>
> # Adapted from http://stackoverflow.com/a/29571064/18475
> $AdminKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed
> Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}"
> $UserKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed
> Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}"
> New-ItemProperty -Path $AdminKey -Name "IsInstalled" -Value 0 -Force |
> Out-Null
> New-ItemProperty -Path $UserKey -Name "IsInstalled" -Value 0 -Force |
> Out-Null
> Stop-Process -Name Explorer -Force
> Write-Output "IE Enhanced Security Configuration (ESC) has been disabled."
>
> # http://techrena.net/disable-ie-set-up-first-run-welcome-screen/
> New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Internet Explorer\Main"
> -Name "DisableFirstRunCustomize" -Value 1 -PropertyType "DWord" -Force |
> Out-Null
> Write-Output "IE first run welcome screen has been disabled."
>
> Write-Output 'Setting Windows Update service to Manual startup type.'
> Set-Service -Name wuauserv -StartupType Manual
>
> #Set-ExecutionPolicy Unrestricted
>
> Vagrantfile attached
>
> # Vagrant File (Vagrantfile)
> # http://docs.vagrantup.com/v2/vagrantfile/index.html
>
> # Windows guests can't even be used with Vagrant versions less than 1.3.5.
> Vagrant.require_version ">= 1.3.5"
> if Vagrant::VERSION < '1.6.0'
> # Vagrant versions less than 1.6.x do not have a built-in way to
> # communicate with Windows guest images.For versions less than 1.6.x
> # the vagrant-windows plugin is required.
> Vagrant.require_plugin "vagrant-windows"
> end
>
> # http://docs.vagrantup.com/v2/vagrantfile/machine_settings.html
> Vagrant.configure("2") do |config|
> # This setting will download the atlas box at
> # https://atlas.hashicorp.com/ferventcoder/boxes/win2012r2-x64-nocm
> config.vm.box = "BasicTheProgram/windows_2016"
>
> # http://docs.vagrantup.com/v2/providers/configuration.html
> # http://docs.vagrantup.com/v2/virtualbox/configuration.html
> config.vm.provider :virtualbox do |v, override|
> # Show the GUI
> v.gui = true
> # 4GB RAM
> v.customize ["modifyvm", :id, "--memory", "4096"]
> # 2 CPUs
> v.customize ["modifyvm", :id, "--cpus", "2"]
> # Video RAM is 32 MB
> v.customize ["modifyvm", :id, "--vram", 32]
> # For better DNS resolution
> v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
> # No audio
> v.customize ["modifyvm", :id, "--audio", "none"]
> # Clipboard enabled
> v.customize ["modifyvm", :id, "--clipboard", "bidirectional"]
> v.customize ["modifyvm", :id, "--draganddrop", "hosttoguest"]
> # For performance
> v.customize ["modifyvm", :id, "--usb", "off"]
> # Huge performance gain here
> v.linked_clone = true if Vagrant::VERSION >= '1.8.0'
> end
>
> # https://www.vagrantup.com/docs/hyperv/configuration.html
> # https://technet.microsoft.com/en-us/library/dn798297(v=ws.11).aspx
> config.vm.provider :hyperv do |v, override|
> # 4GB RAM
> v.memory = 4096
> # 2 CPUs
> v.cpus = 2
> # The time in seconds to wait for the virtual machine to report an IP
> address
> v.ip_address_timeout = 130
> # Use differencing disk instead of cloning whole VHD
> v.differencing_disk = true
> v.vm_integration_services = {
> guest_service_interface: true,
> heartbeat: true,
> key_value_pair_exchange: true,
> shutdown: true,
> time_synchronization: true,
> vss: true
> }
> end
>
> # timeout of waiting for image to stop running - may be a deprecated
> setting
> config.windows.halt_timeout = 20
> # username/password for accessing the image
> config.winrm.username = "vagrant"
> config.winrm.password = "vagrant"
> # explicitly tell Vagrant the guest is Windows
> config.vm.guest = :windows
>
> if Vagrant::VERSION >= '1.6.0'
> # If we are on greater than v1.6.x, we are using the built-in version
> # of communicating with Windows. For versions less than 1.6 the
> # `vagrant-windows` plugin would need to be installed and uses monkey
> # patching to override the communicator.
> config.vm.communicator = "winrm"
> end
>
> # Synced folders - http://docs.vagrantup.com/v2/synced-folders/
> # A synced folder is a fancy term for shared folders - it takes a folder
> on
> # the host and shares it with the guest (vagrant) image. The entire
> folder
> # where the Vagrantfile is located is always shared as `c:\vagrant` (the
> # naming of this directory being `vagrant` is just a coincedence).
> # Share `packages` directory as `C:\packages`
> config.vm.synced_folder "packages", "/packages"
> config.vm.synced_folder "/Users/tanner/projects/", "/projects"
>
> #config.vm.synced_folder "temp", "/Users/vagrant/AppData/Local/
> Temp/chocolatey"
> # not recommended for sharing, it may have issues with `vagrant sandbox
> rollback`
> #config.vm.synced_folder "chocolatey", "/ProgramData/chocolatey"
>
> # Port forward WinRM / RDP
> # Vagrant 1.9.3 - if you run into Errno::EADDRNOTAVAIL (
> https://github.com/mitchellh/vagrant/issues/8395),
> # add host_ip: "127.0.0.1" for it to work
> config.vm.network :forwarded_port, guest: 5985, host: 5985, id: "winrm",
> auto_correct: true #, host_ip: "127.0.0.1"
> config.vm.network :forwarded_port, guest: 3389, host: 3389, id: "rdp",
> auto_correct: true #, host_ip: "127.0.0.1"
> # Port forward SSH (ssh is forwarded by default in most versions of
> Vagrant,
> # but be sure). This is not necessary if you are not using SSH, but it
> doesn't
> # hurt anything to have it
> config.vm.network :forwarded_port, guest: 22, host: 2222, id: "ssh",
> auto_correct: true #, host_ip: "127.0.0.1"
>
> # Provisioners - http://docs.vagrantup.com/v2/provisioning/
> # In this specific vagrant usage, we are using the shell provisioner
> # http://docs.vagrantup.com/v2/provisioning/shell.html
> if Vagrant::VERSION < '1.8.0'
> config.vm.provision :shell, :path => "shell/PrepareWindows.ps1"
> config.vm.provision :shell, :path => "shell/InstallNet4.ps1"
> config.vm.provision :shell, :path => "shell/InstallChocolatey.ps1"
> config.vm.provision :shell, :path => "shell/
> NotifyGuiAppsOfEnvironmentChanges.ps1"
> else
> config.vm.provision :shell, :path => "shell/PrepareWindows.ps1",
> :powershell_elevated_interactive => true
> config.vm.provision :shell, :path => "shell/InstallNet4.ps1",
> :powershell_elevated_interactive => true
> config.vm.provision :shell, :path => "shell/InstallChocolatey.ps1",
> :powershell_elevated_interactive => true
> config.vm.provision :shell, :path => "shell/
> NotifyGuiAppsOfEnvironmentChanges.ps1", :powershell_elevated_interactive
> => true
> config.vm.provision :shell, :path => "shell/InstallToolchain.ps1",
> :powershell_elevated_interactive => true
> end
>
> $packageTestScript = <<SCRIPT
> setx.exe trigger 1 # run arbitrary win32 application so LASTEXITCODE is 0
> $ErrorActionPreference = "Stop"
> $env:PATH +=";$($env:SystemDrive)\\ProgramData\\chocolatey\\bin"
> # https://github.com/chocolatey/choco/issues/512
> $validExitCodes = @(0, 1605, 1614, 1641, 3010)
>
> Write-Output "Testing package if a line is uncommented."
> # THIS IS WHAT YOU CHANGE
> # - uncomment one of the two and edit it appropriately
> # - See the README for details
> #choco.exe install -fdvy INSERT_NAME --version INSERT_VERSION
> --allow-downgrade
> #choco.exe install -fdvy INSERT_NAME --allow-downgrade --source
> "'c:\\packages;http://chocolatey.org/api/v2/'"
>
> $exitCode = $LASTEXITCODE
>
> Write-Host "Exit code was $exitCode"
> if ($validExitCodes -contains $exitCode) {
> Exit 0
> }
>
> Exit $exitCode
> SCRIPT
>
> if Vagrant::VERSION < '1.8.0'
> config.vm.provision :shell, :inline => $packageTestScript
> else
> config.vm.provision :shell, :inline => $packageTestScript,
> :powershell_elevated_interactive => true
> end
> end
>
> --
> This mailing list is governed under the HashiCorp Community Guidelines -
> https://www.hashicorp.com/community-guidelines.html. Behavior in
> violation of those guidelines may result in your removal from this mailing
> list.
>
> GitHub Issues: https://github.com/mitchellh/vagrant/issues
> IRC: #vagrant on Freenode
> ---
> You received this message because you are subscribed to the Google Groups
> "Vagrant" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/vagrant-up/9a3d2149-7d04-4bae-9aa7-06515040c129%40googlegroups.com
> <https://groups.google.com/d/msgid/vagrant-up/9a3d2149-7d04-4bae-9aa7-06515040c129%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
--
Alvaro
--
This mailing list is governed under the HashiCorp Community Guidelines -
https://www.hashicorp.com/community-guidelines.html. Behavior in violation of
those guidelines may result in your removal from this mailing list.
GitHub Issues: https://github.com/mitchellh/vagrant/issues
IRC: #vagrant on Freenode
---
You received this message because you are subscribed to the Google Groups
"Vagrant" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vagrant-up/CAHqq0eyStiKr%3DMra4XmUmcUQWvPBYaU2GSg-qMAF3%3Dv%2BTLe-Lg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.