1

SQL Server 2008 R2 Express を必要とする WinForms プロジェクトがあります。アプリケーションは、WIX によって作成された Bootstrapper 実行可能ファイルを含む MSI インストーラーを使用して展開されます。そのため、インストーラーから SQL Server インストーラーを実行する必要があります。

WIX プロジェクトにはフィーチャーがほとんどなく、SQL Server 2008 R2 Express を必要とするのはそのうちの 1 つだけです。Bootstrapper インストーラーは、.NET 3.5 SP1、.NET 4、および Windows Installer 4.5 をインストールし、MSBuild GenerateBootstrapper タスクを使用して作成されます。SP1 が埋め込まれた SQL Server 2008 R2 Express と英語のローカライズを使用しています

ユーザーが SQL Server を必要とする機能を選択すると、引数を指定して SQLEXPR_x86_ENU.exe を実行するカスタム アクションをスケジュールします。 /ADDCURRENTUSERASSQLADMIN /SAPWD=[SqlPassword] /SQLSVCACOUNT="[WIX_ACCOUNT_LOCALSYSTEM]" /SECURITYMODE=SQL /SQLCOLLATION=Latin1_General_CI_AS このカスタム アクションは、インストーラーの実行シーケンスの InstallInitialize アクションの直前にスケジュールされます。

上記のカスタム アクションを開始すると、SQL Server インストーラーの ExecuteStandardTimingsWorkflow アクションで数分間ハングした後、失敗します。CMD から同じコマンドを実行すると、すべて正常に動作します。

ログファイルが添付されています。この問題の解決にご協力ください。

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 ===
4

4 に答える 4

2

別の .msi から .msi をインストールすることはできません。それが1618エラーが言っていることです。

于 2012-07-31T20:55:32.430 に答える
1

実際、この問題は SQL Server セットアップ パッケージが原因である可能性があります。SQL Server 2008 R2 以降では、よく知られているSQL Server セットアップの問題があります。MSI パッケージ内で SQL Server セットアップを起動すると、SQL セットアップは Msiexec プロセスを停止しようとしますが、親の MSI パッケージはこれを許可しません。したがって、SQL Server のセットアップがハングします。LucID が既に述べたように、回避策は、(別のプロセスとして実行される) 非同期カスタム アクションを使用して SQL Server セットアップを開始するか、最初に SQL Server セットアップを開始してから MIS パッケージをインストールする EXE ブートストラップ インストール パッケージを作成することです。 .

これが、同じ問題に直面している将来のユーザーに役立つことを願っています。

于 2014-04-17T08:23:45.213 に答える
0

実はこれは SQL Server 2008 R2 自体の問題です。同じ WIX プロジェクトで SQL Server 2005 を正常にインストールしました。Windows Installer 4.5 と SQL Server の連鎖 msi の問題のようです :(

于 2012-08-02T15:09:15.077 に答える
0

私の場合: WiX で作成された msi インストーラー。SQL Server Express 2008 R2 SP1 インストーラーは、C# カスタム アクションを介してインストーラー内から開始されました。カスタム アクションは、コマンド ラインから SQL Server インストーラーを起動していました。Windows Server 2008、Windows 7、Windows XP でも問題なく動作していました。ただし、Windows 8では互換性について配りました

インストーラーを SQL Server 2008 R2 SP2 に更新しました。それは、進行なしで ExecuteStahdardTimingsWorkflow でスタックし始めたときです。

%ProgramFiles%\Microsoft SQL Server\100\Setup Bootstrap\Log を見ると、以下の部分が明らかになり、msiexec.exe (Windows インストーラー) サービスをトップにできないという手がかりが得られました。

何が役に立ちましたか (少し残忍です): Windows インストーラー サービス プロセス ID を検索し、それを taskkill /F /PID xxxxx で明示的に強制終了するカスタム アクションにコードを追加しました (停止しても役に立ちませんでした!)

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
于 2013-10-07T15:39:06.030 に答える