0

InstallShield 2016でサービスを設定およびインストールしようとしています。コンポーネントウィザードを使用してサービスを追加しました。インストーラを実行すると、ウィンドウインストーラのポップアップが画面に表示され、サービスに渡すことができるさまざまなオプションが表示されました。これらのオプションをサービスに渡すにはどうすればよいですか? コンポーネントウィザードを使用し、コンポーネントウィザードを使用せずにサービスを作成しようとしました。どちらの場合も、上記の結果と同じでした。私はそれをする方法についての説明をうまく模索していませんでした。スクリーンショットの設定とポップアップウィンドウのInstallShield 2016がインストールされていないサービス

enter image description here

enter image description here

+0

サービスとしてインストールのランチャーをインストールしようとしていますか?通常は、exeまたはdll(インストール時にマシン上に置かれる)をサービスとしてインストールします。 –

+0

ターゲットマシンのフォルダに置かれるexeファイルとmsiファイルがあります。私はそのexeファイルを昼食しようとしています。 –

+0

exeはサービスですか、またはインストールランチャーですか? MSIが現れたという事実(おそらく、このファイルが呼び出されたとき、procmonのようなツールで確認するのは不確かです)は後者のことを示唆しています。 –

答えて

-1

最後に、私はこれを動作させることができました。私はInstallshieldの初心者です。これを初めて使ったのです。

  1. Michael Urmanのコメントは非常に役に立ちました。
  2. msiexec.exeを使用してmsiを起動する方法に関するドキュメントを読みましたが、私はまだ混乱しています。ドキュメントによると、遅延アクションはInstallInitializeとInstallFinalizeの間でなければならず、戻り処理は同期していなければなりません(終了コードを待つ)。しかし、システムは別のインストールが進行中であると苦情を言い、サービスをインストールしませんでした。

  3. これを回避するために、作業ディレクトリを[service](msiファイルとexeファイルが入っているフォルダ)に設定しました。コマンドラインをmsiexec.exe/i "[SERVICE] UserAgentに設定しました。 msi "/ qn、私は非同期(完了待ちなし)に復帰処理を設定し、リブート後にExec Sequenceを再起動し、インストールされていないかどうかを確認する条件を追加します。

  4. これらのオプションを使用すると、サービスをサイレントインストールすることができました。ただし、アプリケーションをアンインストールするときにはアンインストールされません。手動でアンインストールする必要があります

1

msiexecコマンドラインが間違っているときにエラーダイアログボックスが表示されます。何をしているのかははっきりしませんが、サービスやexeファイルでmsiexecコマンドを実行しないでください。 MSIファイルを作成してインストールすると、そのMSIファイルがサービスをインストールします。あなたが作成したMSIファイルでmsiexecコマンドラインを実行していても、間違っています。

+0

いいえ、私はmsiexecを実行しておらず、コマンドライン引数を渡していません。 –

関連する問題