I'm trying to add specific command line install arguments to a prerequisite (SQL Express 2012) for a Windows Setup Project in Visual Studio 2015.
I've selected "Download prerequisites from the same location as my application" and downloaded and placed the required installers in their respective bootstrap folders (C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages...)
and I modified the package.xml in C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\SqlExpress2012\en to include my specific changes to <Command
Arguments="my specific stuff" />
This builds fine and when I go to test the install it faild during the SQL Express 2012 install. The install.log notes:
Installing using command 'C:\Users\ljhersma\AppData\Local\Temp\VSDFB27.tmp\SqlExpress2012\SQLEXPR_x64_ENU.EXE' and parameters 'my specific stuff'
Process exited with code -2054422506
Status of package 'SQL Server 2012 Express' after install is 'InstallFailed'
So the fact that the install.log picked up my specific commands proves that the modification of packages.xml worked, but I'm not sure why its actually failing. Let me know if you need any more information!
Below is the entire install.log
The following properties have been set: Property: [AdminUser] = true {boolean} Property: [InstallMode] = SameSite {string} Property: [NTProductType] = 1 {int} Property: [ProcessorArchitecture] = AMD64 {string} Property: [VersionNT] = 10.0.0 {version} Running checks for package 'Windows Installer 4.5', phase BuildList Looking up path for special folder 'WindowsFolder' Running check with folder 'C:\Windows\System32' and file 'msi.dll' Attempting to find file 'C:\Windows\System32\msi.dll' File version is '5.0.10586.0' Setting value '5.0.10586.0 {version}' for property 'VersionMsiDll' The following properties have been set for package 'Windows Installer 4.5': Property: [VersionMsiDll] = 5.0.10586.0 {version} Running checks for command 'WindowsInstaller4_5\WindowsXP-KB942288-v3-x86.exe' Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsi' and value '4.5': true Result of checks for command 'WindowsInstaller4_5\WindowsXP-KB942288-v3-x86.exe' is 'Bypass' Running checks for command 'WindowsInstaller4_5\WindowsXP-KB958655-v2-x86-ENU.exe' Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsiDll' and value '4.5.6001.22299': true Result of checks for command 'WindowsInstaller4_5\WindowsXP-KB958655-v2-x86-ENU.exe' is 'Bypass' Running checks for command 'WindowsInstaller4_5\WindowsServer2003-KB942288-v4-x86.exe' Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsi' and value '4.5': true Result of checks for command 'WindowsInstaller4_5\WindowsServer2003-KB942288-v4-x86.exe' is 'Bypass' Running checks for command 'WindowsInstaller4_5\WindowsServer2003-KB958655-v2-x86-ENU.exe' Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsiDll' and value '4.5.6001.22299': true Result of checks for command 'WindowsInstaller4_5\WindowsServer2003-KB958655-v2-x86-ENU.exe' is 'Bypass' Running checks for command 'WindowsInstaller4_5\WindowsServer2003-KB942288-v4-x64.exe' Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsi' and value '4.5': true Result of checks for command 'WindowsInstaller4_5\WindowsServer2003-KB942288-v4-x64.exe' is 'Bypass' Running checks for command 'WindowsInstaller4_5\WindowsServer2003.WindowsXP-KB958655-v2-x64-ENU.exe' Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsiDll' and value '4.5.6001.22299': true Result of checks for command 'WindowsInstaller4_5\WindowsServer2003.WindowsXP-KB958655-v2-x64-ENU.exe' is 'Bypass' Running checks for command 'WindowsInstaller4_5\Windows6.0-KB958655-v2-x86.MSU' Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsiDll' and value '4.5.6001.22308': true Result of checks for command 'WindowsInstaller4_5\Windows6.0-KB958655-v2-x86.MSU' is 'Bypass' Running checks for command 'WindowsInstaller4_5\Windows6.0-KB958655-v2-x64.MSU' Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsiDll' and value '4.5.6001.22308': true Result of checks for command 'WindowsInstaller4_5\Windows6.0-KB958655-v2-x64.MSU' is 'Bypass' 'Windows Installer 4.5' RunCheck result: No Install Needed Running checks for package 'Microsoft .NET Framework 4 (x86 and x64)', phase BuildList Reading value 'Version' of registry key 'HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full' Read string value '4.6.01038' Setting value '4.6.01038 {string}' for property 'DotNet40Full_TargetVersion' The following properties have been set for package 'Microsoft .NET Framework 4 (x86 and x64)': Property: [DotNet40Full_TargetVersion] = 4.6.01038 {string} Running checks for command 'DotNetFX40\dotNetFx40_Full_x86_x64.exe' Result of running operator 'ValueEqualTo' on property 'InstallMode' and value 'HomeSite': false Result of running operator 'VersionGreaterThanOrEqualTo' on property 'DotNet40Full_TargetVersion' and value '4.0.30129': true Result of checks for command 'DotNetFX40\dotNetFx40_Full_x86_x64.exe' is 'Bypass' Running checks for command 'DotNetFX40\dotNetFx40_Full_setup.exe' Result of running operator 'ValueNotEqualTo' on property 'InstallMode' and value 'HomeSite': true Result of checks for command 'DotNetFX40\dotNetFx40_Full_setup.exe' is 'Bypass' 'Microsoft .NET Framework 4 (x86 and x64)' RunCheck result: No Install Needed Running checks for package 'SQL Server 2012 Express', phase BuildList Running external check with command 'C:\Users\ljhersma\AppData\Local\Temp\VSDC819.tmp\SqlExpress2012\SqlExpressChk.exe' and parameters '11.0.2100 1033' Process exited with code 1 Setting value '1 {int}' for property 'SQLExpressChk' The following properties have been set for package 'SQL Server 2012 Express': Property: [SQLExpressChk] = 1 {int} Running checks for command 'SqlExpress2012\SQLEXPR32_x86_ENU.EXE' Result of running operator 'ValueNotExists' on property 'VersionNT': false Result of running operator 'VersionLessThan' on property 'VersionNT' and value '6.0.0': false Result of running operator 'VersionLessThan' on property 'VersionNT' and value '6.0.2': false Result of running operator 'VersionEqualTo' on property 'VersionNT' and value '6.1.0': false Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false Result of running operator 'ValueEqualTo' on property 'SQLExpressChk' and value '-1': false Result of running operator 'ValueEqualTo' on property 'SQLExpressChk' and value '-2': false Result of running operator 'ValueEqualTo' on property 'SQLExpressChk' and value '-3': false Result of running operator 'ValueEqualTo' on property 'SQLExpressChk' and value '-4': false Result of running operator 'ValueLessThan' on property 'SQLExpressChk' and value '-4': false Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'Intel': true Result of checks for command 'SqlExpress2012\SQLEXPR32_x86_ENU.EXE' is 'Bypass' Running checks for command 'SqlExpress2012\SQLEXPR32_x86_ENU.EXE' Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'Intel': true Result of checks for command 'SqlExpress2012\SQLEXPR32_x86_ENU.EXE' is 'Bypass' Running checks for command 'SqlExpress2012\SQLEXPR_x64_ENU.EXE' Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'amd64': false Result of running operator 'ValueNotEqualTo' on property 'SQLExpressChk' and value '1': false Result of checks for command 'SqlExpress2012\SQLEXPR_x64_ENU.EXE' is 'Install' Running checks for command 'SqlExpress2012\SQLEXPR_x64_ENU.EXE' Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'amd64': false Result of running operator 'ValueNotEqualTo' on property 'SQLExpressChk' and value '2': true Result of checks for command 'SqlExpress2012\SQLEXPR_x64_ENU.EXE' is 'Bypass' 'SQL Server 2012 Express' RunCheck result: Install Needed EULA for components 'SQL Server 2012 Express' was accepted. Copying files to temporary directory "C:\Users\ljhersma\AppData\Local\Temp\VSDC819.tmp\" Copying from 'C:\Users\ljhersma\Documents\Projects\9.8.8 Patches\Setup\Debug\SqlExpress2012\SQLEXPR_x64_ENU.EXE' to 'C:\Users\ljhersma\AppData\Local\Temp\VSDC819.tmp\SqlExpress2012\SQLEXPR_x64_ENU.EXE' Verifying file integrity of C:\Users\ljhersma\AppData\Local\Temp\VSDC819.tmp\SqlExpress2012\SQLEXPR_x64_ENU.EXE WinVerifyTrust returned 0 File trusted Running checks for package 'SQL Server 2012 Express', phase BeforePackage Running external check with command 'C:\Users\ljhersma\AppData\Local\Temp\VSDC819.tmp\SqlExpress2012\SqlExpressChk.exe' and parameters '11.0.2100 1033' Process exited with code 1 Setting value '1 {int}' for property 'SQLExpressChk' The following properties have been set for package 'SQL Server 2012 Express': Property: [SQLExpressChk] = 1 {int} Running checks for command 'SqlExpress2012\SQLEXPR_x64_ENU.EXE' Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'amd64': false Result of running operator 'ValueNotEqualTo' on property 'SQLExpressChk' and value '1': false Result of checks for command 'SqlExpress2012\SQLEXPR_x64_ENU.EXE' is 'Install' 'SQL Server 2012 Express' RunCheck result: Install Needed Verifying file integrity of C:\Users\ljhersma\AppData\Local\Temp\VSDC819.tmp\SqlExpress2012\SQLEXPR_x64_ENU.EXE WinVerifyTrust returned 0 File trusted Installing using command 'C:\Users\ljhersma\AppData\Local\Temp\VSDC819.tmp\SqlExpress2012\SQLEXPR_x64_ENU.EXE' and parameters '/Q /ACTION=Install /FEATURES=SQL,AS,RS,IS,Tools /SQLSVCACCOUNT="NT AUTHORITY\Network Service" /SQLSYSADMINACCOUNTS="Users" /AGTSVCACCOUNT="NTAUTHORITY\Network Service"' Process exited with code -2054422506 Status of package 'SQL Server 2012 Express' after install is 'InstallFailed'