Reputation: 167
We have a WinForms project that requires SQL Server 2008 R2 Express. The application is Deployed using MSI installer with a Bootstrapper executable created by WIX. So we need to run SQL Server installer from our installer.
A WIX project has few Features, and only one of them requires SQL Server 2008 R2 Express. The Bootstrapper installer installs .NET 3.5 SP1, .NET 4 and Windows Installer 4.5 and is created using MSBuild GenerateBootstrapper task. We use SQL Server 2008 R2 Express with embedded SP1 and English localization, an installer file SQLEXPR_x86_ENU.exe is taken from http://www.microsoft.com/en-us/download/details.aspx?id=26729.
When user selects a Feature that requires SQL Server we schedule a Custom Action that runs SQLEXPR_x86_ENU.exe with arguments: /QS /ACTION=Install /ENU /ERRORREPORTING=0 /SQMREPORTING=0 /IACCEPTSQLSERVERLICENSETERMS /FEATURES=SQL /INSTANCENAME=ASSET_BANK /HIDECONSOLE /ADDCURRENTUSERASSQLADMIN /SAPWD=[SqlPassword] /SQLSVCACCOUNT="[WIX_ACCOUNT_LOCALSYSTEM]" /SECURITYMODE=SQL /SQLCOLLATION=Latin1_General_CI_AS This Custom Action is scheduled right before InstallInitialize action of the Execute sequence of installer.
When described above Custom Action starts it hangs for a few minutes on ExecuteStandardTimingsWorkflow action of SQL Server installer and then fails. When I run same command from CMD all works well.
Log files are attached. Please help us defeat this issue.
Summary_ComponentUpdate.log:
Overall summary:
Final result: Failed: see details below
Exit code (Decimal): -2068052398
Exit facility code: 1212
Exit error code: 1618
Exit message: Failed: see details below
Start time: 2012-07-31 06:42:11
End time: 2012-07-31 06:48:58
Requested action: ComponentUpdate
Log with failure: C:\Program Files (x86)\Microsoft SQL Server\100\Setup Bootstrap\Log\20120731_064129\WatsonX86_Cpu32_1_ComponentUpdate.log
Exception help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=10.50.2500.0
Machine Properties:
Machine name: TEST-PC
Machine processor count: 1
OS version: Windows 7
OS service pack: Service Pack 1
OS region: United States
OS language: English (United States)
OS architecture: x64
Process architecture: 32 Bit
OS clustered: No
Package properties:
Description: SQL Server Database Services 2008 R2
ProductName: SQL Server 2008 R2
Type: RTM
Version: 10
Installation location: c:\935b38da99e6817b615ea738\x86\setup\
Installation edition: EXPRESS
Slipstream: True
SP Level 1
User Input Settings:
ACTION: ComponentUpdate
CONFIGURATIONFILE:
ENU: True
FARMACCOUNT: <empty>
FARMADMINPORT: 0
FARMPASSWORD: *****
HELP: False
INDICATEPROGRESS: False
PASSPHRASE: *****
PID: *****
QUIET: False
QUIETSIMPLE: True
UIMODE: AutoAdvance
X86: False
Configuration file: C:\Program Files (x86)\Microsoft SQL Server\100\Setup Bootstrap\Log\20120731_064129\ConfigurationFile.ini
Detailed results:
Feature: SQL
Status: Skipped
MSI status: Passed
Configuration status: Passed
Rules with failures:
Global rules:
There are no scenario-specific rules.
Rules report file: C:\Program Files (x86)\Microsoft SQL Server\100\Setup Bootstrap\Log\20120731_064129\SystemConfigurationCheck_Report.htm
WatsonX86_Cpu32_1_ComponentUpdate.log:
=== Verbose logging started: 7/31/2012 6:42:39 Build type: SHIP UNICODE 5.00.7601.00 Calling process: c:\935b38da99e6817b615ea738\x86\setup100.exe ===
MSI (c) (68:54) [06:42:39:853]: Resetting cached policy values
MSI (c) (68:54) [06:42:39:853]: Machine policy value 'Debug' is 0
MSI (c) (68:54) [06:42:39:853]: ******* RunEngine:
******* Product: c:\935b38da99e6817b615ea738\x86\redist\watson\dw20shared.msi
******* Action:
******* CommandLine: **********
MSI (c) (68:54) [06:42:39:853]: Client-side and UI is none or basic: Running entire install on the server.
MSI (c) (68:54) [06:42:42:864]: Failed to grab execution mutex. System error 258.
MSI (c) (68:54) [06:42:42:864]: Cloaking enabled.
MSI (c) (68:54) [06:42:42:864]: Attempting to enable all disabled privileges before calling Install on Server
MSI (c) (68:54) [06:42:42:864]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (c) (68:54) [06:42:42:864]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (c) (68:54) [06:42:42:864]: MainEngineThread is returning 1618
=== Verbose logging stopped: 7/31/2012 6:42:42 ===
Upvotes: 1
Views: 7341
Reputation: 1347
Indeed, this issue could be caused by the SQL Server setup package. Starting with SQL Server 2008 R2 there is a well known SQL Server setup issue. When you launch the SQL Server setup within an MSI package the SQL setup tries to stop the Msiexec process, but the parent MSI package doesn't allow this. Therefore the SQL Server setup will hang. As LucID already mentioned, a workaround would be either to start the SQL Server setup using an asynchronous custom action (which runs as a separate process) or to create an EXE bootstrapper installation package which first start the SQL Server setup and then install the MIS package.
I hope this will help future users facing with the same problem.
Upvotes: 1
Reputation: 12823
My case: msi installer created with WiX. SQL Server Express 2008 R2 SP1 installer was started from within my installer via C# custom action. Custom action was starting the sql server installer from the command line. And it was working fine in Windows Server 2008, Windows 7, even in Windows XP. However, in Windows 8 it gave out about compatibility
I updated the installer to SQL Server 2008 R2 SP2. That's when it started to get stuck at ExecuteStahdardTimingsWorkflow with no progress.
Looking at %ProgramFiles%\Microsoft SQL Server\100\Setup Bootstrap\Log revealed the piece below which gave me a clue that it cannot top msiexec.exe (Windows Installer) service.
What helped (a little bit brutal): added piece of code to the custom action that searched for Windows Installer service process id and explicitly killed it with taskkill /F /PID xxxxx (stopping didn't help!)
2013-10-07 13:17:44 Slp: Completed Action: InitializeMsiAction, returned True
2013-10-07 13:17:44 Slp: ----------------------------------------------------------------------
2013-10-07 13:17:44 Slp: Running Action: MsiTimingAction
2013-10-07 13:17:44 Slp: ----------------------------------------------------------------------
2013-10-07 13:17:44 Slp: Running Action: Install_SqlSupport_Cpu64_Action
2013-10-07 13:17:44 Slp: Sco: Attempting to create base registry key HKEY_LOCAL_MACHINE, machine
2013-10-07 13:17:44 Slp: Sco: Attempting to open registry subkey
2013-10-07 13:17:44 Slp: Sco: Attempting to open registry subkey SOFTWARE\Microsoft\VisualStudio\9.0
2013-10-07 13:17:44 Slp: Sco: Waiting for service 'msiserver' to accept the stop request.
2013-10-07 13:17:44 Slp: Sco: Returning service status Running
2013-10-07 13:17:49 Slp: Sco: Returning service status Running
2013-10-07 13:17:54 Slp: Sco: Returning service status Running
....
2013-10-07 13:20:39 Slp: Sco: Returning service status Running
2013-10-07 13:20:44 Slp: Sco: Returning service status Running
Upvotes: 0
Reputation: 167
Actually this is a problem of SQL Server 2008 R2 by itself. I successfully installed SQL Server 2005 with the same WIX project. Looks like a problem of Windows Installer 4.5 and SQL Server's chained msi's :(
Upvotes: 0
Reputation: 21896
You cannot install an .msi from another .msi. That's what the 1618 error is saying.
Upvotes: 3