I am trying to use cChoco module to provision a few packages with Azure Automation DSC on Windows Server 2016 virtual machines (SKU: 2016-Datacenter
).
Some packages (e.g.
vcredist2008
,vcredist2010
)- Chocolatey (called from DSC) installs them successfully
- Chocolatey (called from CustomScriptExtension) installs them successfully
- Chocolatey (called from an interactive command prompt) installs them successfully
Other packages (e.g.
mssqlserver2014express
andmssqlservermanagementstudio2014express
)Chocolatey (called from DSC)
fails to install them
the direct cause seems to be indicated by the error message "The system cannot find the file specified" for
C:\Windows\TEMP\chocolatey\chocolatey\MsSqlServerManagementStudio2014Express\SQLManagementStudio\setup.exe
;
Chocolatey (called from CustomScriptExtension)
fails to install them
again, the direct cause seems to be indicated by the error message "The system cannot find the file specified" for the same file as above;
Chocolatey (called from an interactive command prompt)
- installs them successfully
The last action suggests a difference between and interactive session and the environment of DSC (or CustomScriptExtension), however the error message itself doesn't clearly indicate the direct reason.
Question:
What exactly could be the reason for these MSSQL Express-related packages (not all packages) to fail?
Is there any way (e.g. parameter, configuration setting) to enable these packages to be installed?
Details:
For the CustomScriptExtension (fail) and interactive command prompt (success), I used the following call (from the PowerShell script):
choco install -y mssqlservermanagementstudio2014express
For Azure Automation DSC, I have the following tasks in the configuration file (an excerpt):
cChocoPackageInstaller installVCRedist201WithChoco
{
Name = 'vcredist2010'
Ensure = 'Present'
DependsOn = '[cChocoInstaller]installChoco'
}
cChocoPackageInstaller installmssqlservermanagementstudio2014express
{
Name = 'mssqlservermanagementstudio2014express'
Ensure = 'Present'
DependsOn = '[cChocoInstaller]installChoco'
}
The machine is clean and vcredist2010
installs fine, however mssqlservermanagementstudio2014express
fails with the following error:
2016-11-22 08:19:34,256 [INFO ] - Downloading MsSqlServerManagementStudio2014Express 64 bit
from 'https://download.microsoft.com/download/2/A/5/2A5260C3-4143-47D8-9823-E91BB0121F94/SQLManagementStudio_x64_ENU.exe'
2016-11-22 08:20:43,755 [INFO ] -
2016-11-22 08:20:44,986 [INFO ] - Download of SQLManagementStudio.exe (850.63 MB) completed.
2016-11-22 08:22:54,657 [INFO ] - C:\Windows\TEMP\chocolatey\chocolatey\MsSqlServerManagementStudio2014Express\SQLManagementStudio.exe
2016-11-22 08:22:54,922 [INFO ] - Extracting...
2016-11-22 08:23:01,164 [INFO ] - Installing...
2016-11-22 08:23:01,745 [INFO ] - Installing MsSqlServerManagementStudio2014Express...
2016-11-22 08:23:03,311 [WARN ] - WARNING: Unable to generate 'C:\Windows\TEMP\chocolatey\chocolatey\MsSqlServerManagementStudio2014Express\SQLManagementStudio\setup.exe.ignore'
2016-11-22 08:23:03,999 [WARN ] - WARNING: May not be able to find 'C:\Windows\TEMP\chocolatey\chocolatey\MsSqlServerManagementStudio2014Express\SQLManagementStudio\setup.exe'. Please use full path for executables.
2016-11-22 08:23:05,250 [ERROR] - ERROR: Exception calling "Start" with "0" argument(s): "The system cannot find the file specified"
2016-11-22 08:23:07,903 [ERROR] - The install of mssqlservermanagementstudio2014express was NOT successful.
2016-11-22 08:23:07,950 [ERROR] - Error while running 'c:\choco\lib\MsSqlServerManagementStudio2014Express\tools\ChocolateyInstall.ps1'.
See log for details.
2016-11-22 08:23:10,208 [WARN ] -
Chocolatey installed 1/2 packages. 1 packages failed.
See the log for details (c:\choco\logs\chocolatey.log).
2016-11-22 08:23:10,275 [INFO ] -
2016-11-22 08:23:10,321 [ERROR] - Failures
2016-11-22 08:23:10,364 [ERROR] - - mssqlservermanagementstudio2014express (exited -1) - Error while running 'c:\choco\lib\MsSqlServerManagementStudio2014Express\tools\ChocolateyInstall.ps1'.
See log for details.
The log file contains:
2016-11-22 08:23:01,164 [INFO ] - Installing...
2016-11-22 08:23:01,665 [DEBUG] - Running Install-ChocolateyInstallPackage -validExitCodes '0 3010' -packageName 'MsSqlServerManagementStudio2014Express' -fileType 'EXE' -silentArgs '/IACCEPTSQLSERVERLICENSETERMS /Q /ACTION=install /UPDATEENABLED=FALSE' -file 'C:\Windows\TEMP\chocolatey\chocolatey\MsSqlServerManagementStudio2014Express\SQLManagementStudio\setup.exe'
2016-11-22 08:23:01,745 [INFO ] - Installing MsSqlServerManagementStudio2014Express...
2016-11-22 08:23:03,311 [WARN ] - WARNING: Unable to generate 'C:\Windows\TEMP\chocolatey\chocolatey\MsSqlServerManagementStudio2014Express\SQLManagementStudio\setup.exe.ignore'
2016-11-22 08:23:03,734 [DEBUG] - Running Start-ChocolateyProcessAsAdmin -validExitCodes '0 3010' -workingDirectory 'C:\Windows\TEMP\chocolatey\chocolatey\MsSqlServerManagementStudio2014Express\SQLManagementStudio' -statements '/IACCEPTSQLSERVERLICENSETERMS /Q /ACTION=install /UPDATEENABLED=FALSE ' -exeToRun 'C:\Windows\TEMP\chocolatey\chocolatey\MsSqlServerManagementStudio2014Express\SQLManagementStudio\setup.exe'
2016-11-22 08:23:03,953 [DEBUG] - Elevating Permissions and running ["C:\Windows\TEMP\chocolatey\chocolatey\MsSqlServerManagementStudio2014Express\SQLManagementStudio\setup.exe" /IACCEPTSQLSERVERLICENSETERMS /Q /ACTION=install /UPDATEENABLED=FALSE ]. This may take a while, depending on the statements.
2016-11-22 08:23:03,999 [WARN ] - WARNING: May not be able to find 'C:\Windows\TEMP\chocolatey\chocolatey\MsSqlServerManagementStudio2014Express\SQLManagementStudio\setup.exe'. Please use full path for executables.
2016-11-22 08:23:04,781 [DEBUG] - Setting RunAs for elevation
2016-11-22 08:23:05,250 [ERROR] - ERROR: Exception calling "Start" with "0" argument(s): "The system cannot find the file specified"
2016-11-22 08:23:05,509 [DEBUG] - Built-in PowerShell host called with ['[System.Threading.Thread]::CurrentThread.CurrentCulture = '';[System.Threading.Thread]::CurrentThread.CurrentUICulture = ''; & import-module -name 'c:\choco\helpers\chocolateyInstaller.psm1'; & 'c:\choco\helpers\chocolateyScriptRunner.ps1' -packageScript 'c:\choco\lib\MsSqlServerManagementStudio2014Express\tools\ChocolateyInstall.ps1' -installArguments '' -packageParameters '''] exited with '-1'.
2016-11-22 08:23:05,557 [DEBUG] - Calling command ['"C:\Windows\System32\shutdown.exe" /a']
2016-11-22 08:23:07,369 [DEBUG] - Command ['"C:\Windows\System32\shutdown.exe" /a'] exited with '1116'
2016-11-22 08:23:07,385 [DEBUG] - Capturing package files in 'c:\choco\lib\MsSqlServerManagementStudio2014Express'
2016-11-22 08:23:07,432 [DEBUG] - Found 'c:\choco\lib\MsSqlServerManagementStudio2014Express\MsSqlServerManagementStudio2014Express.nupkg'
with checksum 'AD996F040E8828374737D274BC5EF15D'
2016-11-22 08:23:07,573 [DEBUG] - Found 'c:\choco\lib\MsSqlServerManagementStudio2014Express\MsSqlServerManagementStudio2014Express.nuspec'
with checksum 'D7BE143BDF795902EAEE640DFCE85D15'
2016-11-22 08:23:07,619 [DEBUG] - Found 'c:\choco\lib\MsSqlServerManagementStudio2014Express\tools\ChocolateyInstall.ps1'
with checksum 'E60A57F683AB9A3A4D9C28ED78E09081'
2016-11-22 08:23:07,650 [DEBUG] - Found 'c:\choco\lib\MsSqlServerManagementStudio2014Express\tools\ChocolateyUninstall.ps1'
with checksum '4F30E08CD2C8D4E13C3AE84AA94FBE00'
2016-11-22 08:23:07,682 [DEBUG] - Attempting to create directory "c:\choco\.chocolatey\MsSqlServerManagementStudio2014Express.12.2.5000.20161110".
2016-11-22 08:23:07,749 [DEBUG] - Attempting to copy "c:\choco\.chocolatey\MsSqlServerManagementStudio2014Express.12.2.5000.20161110\.files.update"
to "c:\choco\.chocolatey\MsSqlServerManagementStudio2014Express.12.2.5000.20161110\.files".
2016-11-22 08:23:07,838 [DEBUG] - Attempting to delete file "c:\choco\.chocolatey\MsSqlServerManagementStudio2014Express.12.2.5000.20161110\.files.update".
2016-11-22 08:23:07,854 [DEBUG] - Attempting to delete file "c:\choco\.chocolatey\MsSqlServerManagementStudio2014Express.12.2.5000.20161110\.sxs".
2016-11-22 08:23:07,871 [DEBUG] - Attempting to delete file "c:\choco\.chocolatey\MsSqlServerManagementStudio2014Express.12.2.5000.20161110\.pin".
2016-11-22 08:23:07,885 [DEBUG] - Sending message 'HandlePackageResultCompletedMessage' out if there are subscribers...
2016-11-22 08:23:07,903 [ERROR] - The install of mssqlservermanagementstudio2014express was NOT successful.
2016-11-22 08:23:07,950 [ERROR] - Error while running 'c:\choco\lib\MsSqlServerManagementStudio2014Express\tools\ChocolateyInstall.ps1'.
See log for details.
2016-11-22 08:23:07,994 [DEBUG] - Moving 'c:\choco\lib\MsSqlServerManagementStudio2014Express'
to 'c:\choco\lib-bad\MsSqlServerManagementStudio2014Express'
2016-11-22 08:23:10,053 [DEBUG] - Attempting to delete file "C:\Windows\system32\config\systemprofile\AppData\Local\NuGet\Cache\MsSqlServerManagementStudio2014Express.12.2.5000.20161110.nupkg".
2016-11-22 08:23:10,208 [WARN ] -
Chocolatey installed 1/2 packages. 1 packages failed.
See the log for details (c:\choco\logs\chocolatey.log).
2016-11-22 08:23:10,275 [INFO ] -
2016-11-22 08:23:10,321 [ERROR] - Failures
2016-11-22 08:23:10,364 [ERROR] - - mssqlservermanagementstudio2014express (exited -1) - Error while running 'c:\choco\lib\MsSqlServerManagementStudio2014Express\tools\ChocolateyInstall.ps1'.
See log for details.
2016-11-22 08:23:10,396 [DEBUG] - Sending message 'PostRunMessage' out if there are subscribers...
2016-11-22 08:23:10,431 [DEBUG] - Exiting with -1
Late to the party but because I experienced this issue (albeit in a newer version of SQL Server Express), I found (with procmon) that there was an additional logfile created in
C:\Windows\temp\chocolatey
, in my case calledSQLEXPR_decompression_log.txt
. The SQLEXPR installer refuses to expand the installer from a system folder:To resolve this, I used an Administrator account credential for my chocolatey install and chocolatey DSC resources, so then it ran from that account's temp instead of system temp: