add CreateNoWindow  to Run-NuGet.ps1
Merge pull request #450 from SimonCropp/master

add CreateNoWindow  to Run-NuGet.ps1
Generate _env.cmd file instead of bat file for consistency.
Merge pull request #469 from pagebrooks/fix-env-batch-file-consistency

Generate _env.cmd file instead of bat file for consistency.
add CreateNoWindow  to Run-NuGet.ps1
Generate _env.cmd file instead of bat file for consistency.
tests: remove chocolateyInstaller module at test initialization

The existing test init code removes the 'chocolatey' and '_Setup' modules,
but leaves the 'chocolateyInstaller' module loaded. This has the nasty
effect that changes to chocolatey helpers are ignored when tests are
repeatedly run in the same Powershell session using Invoke-Pester.

As 'chocolateyInstaller' is imported as a nested module (by the
'chocolatey' module), it requires the -All switch to Get-Module in order
to be discovered and must be removed by piping it to Remove-Module.

Also change the existing module removal commands to pipe syntax, so as not
to mix two removal styles in one file (and get tighter code).
add basic tests for Get-ChocolateyUnzip
Write-FileUpdateLog: support passing arguments to the script block
Get-ChocolateyUnzip: add error handling (GH-455)

If 7za.exe encounters an error (such as access denied) and returns an
error code, throw an exception.

Until now, no error checking was performed and package installation was
reported as successful, even if the extraction failed. Since 7za output is
hidden, the user had no way of knowing something went wrong.
Get-ChocolateyUnzip: improve docs
Get-ChocolateyUnzip: add tests exposing WOW64 problems

The tests verify correct handling of paths (archive and destination)
inside System32, which might get redirected to SysWOW64 in a 32-bit child
process, such as 7za.exe.
Get-ChocolateyUnzip: fix problems accessing paths under System32 on 64-bit

On a 64-bit OS, as 7za.exe is a 32-bit application, when it is passed
paths pointing inside $Env:SystemRoot\System32 and uses those paths in
Windows API calls, the paths get transparently translated by the WOW64
filesystem redirector to $Env:SystemRoot\SysWOW64\...

This happens, for instance, when Chocolatey is executed as SYSTEM (e.g.
from a service). A real-life example is using Chocolatey to configure
Azure virtual machines using the startup script feature.

The SYSTEM identity has TEMP pointing to
$Env:SystemRoot\System32\config\systemprofile\AppData\Local\Temp.
That path is used by Chocolatey for storage of downloaded archive files
and is passed to 7za.exe when extracting those files. Because of WOW64
redirection, 7za.exe looks for the files in the wrong place and fails.

The solution is to replace 'System32' with 'sysnative' in paths passed to
32-bit processes. The sysnative directory, accessible only from 32-bit
processes, points to the 64-bit system directory.
Merge branch 'unzip-fixes' into stable

* unzip-fixes:
  Get-ChocolateyUnzip: fix problems accessing paths under System32 on 64-bit
  Get-ChocolateyUnzip: add tests exposing WOW64 problems
  Get-ChocolateyUnzip: improve docs
  Get-ChocolateyUnzip: add error handling (GH-455)
  Write-FileUpdateLog: support passing arguments to the script block
  add basic tests for Get-ChocolateyUnzip
  tests: remove chocolateyInstaller module at test initialization
  Generate _env.cmd file instead of bat file for consistency.
  add CreateNoWindow  to Run-NuGet.ps1
Merge branch 'stable'

* stable:
  Get-ChocolateyUnzip: fix problems accessing paths under System32 on 64-bit
  Get-ChocolateyUnzip: add tests exposing WOW64 problems
  Get-ChocolateyUnzip: improve docs
  Get-ChocolateyUnzip: add error handling (GH-455)
  Write-FileUpdateLog: support passing arguments to the script block
  add basic tests for Get-ChocolateyUnzip
  tests: remove chocolateyInstaller module at test initialization
  Generate _env.cmd file instead of bat file for consistency.
  add CreateNoWindow  to Run-NuGet.ps1