Hi,
My application program's installer installs Windows Installer 4.5, Visual C++ 2010 run-time, .NET 4.0, and SQL Server Express 2008 R2 SP2 as application prerequisites in Windows 7. This works 90+% of the time without issues. Recently installing onto a clean Win7/64 VM generated an error. Here's a segment of the installer log file (note the bolded items associated with SQL Server):
-------------------------------------
Copying files to temporary directory "C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\"
Copying from 'C:\Users\ptobey\Desktop\SoilManager\vcredist_x64_x86\vcredist_x64.exe' to 'C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\vcredist_x64_x86\vcredist_x64.exe'
Verifying file integrity of C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\vcredist_x64_x86\vcredist_x64.exe
WinVerifyTrust returned 0
File trusted
Copying from 'C:\Users\ptobey\Desktop\SoilManager\vcredist_x64_x86\vcredist_x86.exe' to 'C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\vcredist_x64_x86\vcredist_x86.exe'
Verifying file integrity of C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\vcredist_x64_x86\vcredist_x86.exe
WinVerifyTrust returned 0
File trusted
Copying from 'C:\Users\ptobey\Desktop\SoilManager\DotNetFX40\dotNetFx40_Full_x86_x64.exe' to 'C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\DotNetFX40\dotNetFx40_Full_x86_x64.exe'
Verifying file integrity of C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\DotNetFX40\dotNetFx40_Full_x86_x64.exe
WinVerifyTrust returned 0
File trusted
Copying from 'C:\Users\ptobey\Desktop\SoilManager\SqlExpress2008R2SP2\SQLEXPR_x64_ENU.EXE' to 'C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\SqlExpress2008R2SP2\SQLEXPR_x64_ENU.EXE'
Verifying file integrity of C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\SqlExpress2008R2SP2\SQLEXPR_x64_ENU.EXE
WinVerifyTrust returned -2146762495
File not trusted
Running checks for package 'Visual C++ 2010 SP1 Runtime Libraries (x86 and x64)', phase BeforePackage
Running MsiProductCheck with ProductCode '{1D8E6291-B0D5-35EC-8441-6616F567A0F7}'
MsiQueryProductState returned '-1'
Setting value '-1 {int}' for property 'VCRedistInstalled_x64'
Running MsiProductCheck with ProductCode '{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}'
MsiQueryProductState returned '-1'
Setting value '-1 {int}' for property 'VCRedistInstalled_x86'
The following properties have been set for package 'Visual C++ 2010 SP1 Runtime Libraries (x86 and x64)':
Property: [VCRedistInstalled_x64] = -1 {int}
Property: [VCRedistInstalled_x86] = -1 {int}
Running checks for command 'vcredist_x64_x86\vcredist_x64.exe'
Result of running operator 'ValueGreaterThanEqualTo' on property 'VCRedistInstalled_x64' and value '3': false
Result of running operator 'ValueNotEqualTo' on property 'ProcessorArchitecture' and value 'AMD64': false
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Result of checks for command 'vcredist_x64_x86\vcredist_x64.exe' is 'Install'
'Visual C++ 2010 SP1 Runtime Libraries (x86 and x64)' RunCheck result: Install Needed
Verifying file integrity of C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\vcredist_x64_x86\vcredist_x64.exe
WinVerifyTrust returned 0
File trusted
Installing using command 'C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\vcredist_x64_x86\vcredist_x64.exe' and parameters ' /q /norestart '
Process exited with code 0
Running checks for package 'Visual C++ 2010 SP1 Runtime Libraries (x86 and x64)', phase AfterPackage
Running MsiProductCheck with ProductCode '{1D8E6291-B0D5-35EC-8441-6616F567A0F7}'
MsiQueryProductState returned '5'
Setting value '5 {int}' for property 'VCRedistInstalled_x64'
Running MsiProductCheck with ProductCode '{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}'
MsiQueryProductState returned '-1'
Setting value '-1 {int}' for property 'VCRedistInstalled_x86'
The following properties have been set for package 'Visual C++ 2010 SP1 Runtime Libraries (x86 and x64)':
Property: [VCRedistInstalled_x64] = 5 {int}
Property: [VCRedistInstalled_x86] = -1 {int}
Running checks for command 'vcredist_x64_x86\vcredist_x64.exe'
Result of running operator 'ValueGreaterThanEqualTo' on property 'VCRedistInstalled_x64' and value '3': true
Result of checks for command 'vcredist_x64_x86\vcredist_x64.exe' is 'Bypass'
'Visual C++ 2010 SP1 Runtime Libraries (x86 and x64)' RunCheck result: Install Succeeded
Running checks for package 'Microsoft .NET Framework 4 (x86 and x64)', phase BeforePackage
Reading value 'Version' of registry key 'HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full'
Unable to read registry value
Not setting value for property 'DotNet40Full_TargetVersion'
The following properties have been set for package 'Microsoft .NET Framework 4 (x86 and x64)':
Running checks for command 'DotNetFX40\dotNetFx40_Full_x86_x64.exe'
Result of running operator 'ValueEqualTo' on property 'InstallMode' and value 'HomeSite': false
Skipping ByPassIf because Property 'DotNet40Full_TargetVersion' was not defined
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Result of running operator 'VersionLessThan' on property 'VersionNT' and value '5.1.2': false
Result of running operator 'ValueEqualTo' on property 'ProcessorArchitecture' and value 'IA64': false
Result of checks for command 'DotNetFX40\dotNetFx40_Full_x86_x64.exe' is 'Install'
'Microsoft .NET Framework 4 (x86 and x64)' RunCheck result: Install Needed
Verifying file integrity of C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\DotNetFX40\dotNetFx40_Full_x86_x64.exe
WinVerifyTrust returned 0
File trusted
Installing using command 'C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\DotNetFX40\dotNetFx40_Full_x86_x64.exe' and parameters ' /q /norestart /ChainingPackage FullX64Bootstrapper'
Process exited with code 0
Running checks for package 'Microsoft .NET Framework 4 (x86 and x64)', phase AfterPackage
Reading value 'Version' of registry key 'HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full'
Read string value '4.0.30319'
Setting value '4.0.30319 {string}' for property 'DotNet40Full_TargetVersion'
The following properties have been set for package 'Microsoft .NET Framework 4 (x86 and x64)':
Property: [DotNet40Full_TargetVersion] = 4.0.30319 {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'
'Microsoft .NET Framework 4 (x86 and x64)' RunCheck result: Install Succeeded
Running checks for package 'SQL Server 2008 R2 Express SP2', phase BeforePackage
Running external check with command 'C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\SqlExpress2008R2SP2\SqlExpressChk.exe' and parameters '10.52.4000 1033'
Process exited with code 1
Setting value '1 {int}' for property 'SQLExpressChk'
Running external check with command 'C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\SqlExpress2008R2SP2\SqlExpressSPChk.exe' and parameters '10.52.4000 1033'
Process exited with code 10
Setting value '10 {int}' for property 'SQLExpressSPChk'
The following properties have been set for package 'SQL Server 2008 R2 Express SP2':
Property: [SQLExpressChk] = 1 {int}
Property: [SQLExpressSPChk] = 10 {int}
Running checks for command 'SqlExpress2008R2SP2\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 'SqlExpress2008R2SP2\SQLEXPR_x64_ENU.EXE' is 'Install'
'SQL Server 2008 R2 Express SP2' RunCheck result: Install Needed
Verifying file integrity of C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\SqlExpress2008R2SP2\SQLEXPR_x64_ENU.EXE
WinVerifyTrust returned -2146762495
File not trusted
Installing using command 'C:\Users\ptobey\AppData\Local\Temp\VSDD74B.tmp\SqlExpress2008R2SP2\SQLEXPR_x64_ENU.EXE' and parameters '/q /hideconsole /action=Install /features=SQL /instancename=SQLEXPRESS /enableranu=1
/sqlsvcaccount="NT Authority\Network Service" /AddCurrentUserAsSqlAdmin /skiprules=RebootRequiredCheck /IAcceptSQLServerLicenseTerms'
Process exited with code -595541211
Status of package 'Visual C++ 2010 SP1 Runtime Libraries (x86 and x64)' after install is 'InstallSucceeded'
Status of package 'Microsoft .NET Framework 4 (x86 and x64)' after install is 'InstallSucceeded'
Status of package 'SQL Server 2008 R2 Express SP2' after install is 'InstallFailed'
----------------------------------------
Note that the install failed. Running the same file installing SQL Server 2008 R2 SP2interactively was 100% successful yielding a running server. I see no reason why this would express on system A but not on system B, C, D, E, etc. and don't know where to look for information.
Note that I also uninstalled SQL Server 2008 R2 SP2, cleared the SQL Server installation logs, and replicated the error. No SQL Server installer log files are generated so it seems that SETUP.EXE is not trying or the SQL Server install is failing very early.
Please help if you can,
Paul T.