0

私は WIX インストーラーを作成しています。私のProduct.wxsファイルにはSQLEXPR_x64_ENU.exe、製品のインストール ディレクトリに含まれています。次のようなカスタム アクションを介してインストール コマンドを呼び出しています。

<Property Id="SQLEXPRINSTANCENAME" Value="SQLEXPR" />
<CustomAction Id="SqlInstall"
              FileKey="SqlInstaller"
              ExeCommand="/Q /HIDECONSOLE /ACTION=Install /INSTANCENAME=&quot;[SQLEXPRINSTANCENAME]&quot; /IACCEPTSQLSERVERLICENSETERMS /FEATURES=SQLEngine  /TCPENABLED=1 /SQLSVCACCOUNT=&quot;NT AUTHORITY\Network Service&quot; /SQLSYSADMINACCOUNTS=&quot;Builtin\Administrators&quot; /BROWSERSVCSTARTUPTYPE=&quot;Automatic&quot; /AGTSVCACCOUNT=&quot;NT AUTHORITY\Network Service&quot; /SQLSVCSTARTUPTYPE=&quot;Automatic&quot;"
              Execute="immediate"
              Return="check"
              Impersonate="yes" />

そして後で実行シーケンス宣言で私は持っています:

<InstallExecuteSequence>
  <Custom Action="SchedXmlFile" After="InstallFiles">1=1</Custom>
  <Custom Action="SqlInstall" After="InstallFinalize">INSTALLSQLYN = "Yes"</Custom>
  <RemoveExistingProducts After="InstallInitialize" />
 </InstallExecuteSequence>

インストーラーは正常に実行されますが、SQL Server Express がハングし始めるため、MSI 全体がハングします。

このコマンド ラインをコマンド プロンプトにコピーすると、インストールが完了します。

MSI 詳細ログ オプションは何も示しておらず、SQL Server インストール ログの概要ファイルはありません。

そのため、基本的に、インストーラーが動かなくなる理由がわからず、何をすべきかわかりません。

インストーラーを MSI に含める簡単な方法を知っている人がいたら教えてください。または、なぜ失敗したのかを理解するのを手伝ってもらえますか? 私はそれをブートストラップしませんでした (それは機能しますが、UI がユーザーに SQL をインストールするかどうかを質問することはできません。ブートストラップの確認ダイアログから条件付きで exepackage を実行する方法を知っていますか?)。この MSI を連鎖させて、製品インストーラーのブートストラッパーにするつもりです。

4

2 に答える 2