2012-05-09 29 views
1

私のインストーラーでは、ユーザー入力に基づいてサービスとしてインストールするためにいくつかのランチャーが必要です。それらのランチャーは、名前のインデックスを除いてすべて同じです。Install4j:実行時にランチャーをコピーして変更する方法

これらのランチャーを手動で作成したくないのは、維持が不可能なためです。

インストーラ実行時にランチャをコピーおよび変更してサービスとしてインストールする方法はありますか?

答えて

0

実行時にサービスランチャーを複製する理由はありません。 「サービスのインストール」アクションを使用して、異なるサービス名を持つ複数のサービスをインストールできます。これを実行するには、そのアクションの「サービス」プロパティで「その他のサービス実行可能ファイル」を選択し、(可変)サービス名と可変引数を選択して実行可能にします。

0

ランタイムの名前を変更する可能性があるので、私はユースケースも持っています。

あなたのプログラムのインスタンスをテストするだけでなく、いくつかのテストインフォストラクチャを使用したいとします。また、Install4Jのランチャーを使用してアプリケーションを起動したいとします。

必要な機能を提供するために開始する必要がある5つのサービスがあるとします。 10人の顧客に対して10のインスタンスがあると考えると、テストしたいと思う。さらに、10台のマシン、ドッカー、VMなどでテストするのではなく、1台のマシン上でテストしたいと考えています。

実行時にサービスの名前を変更できないため、これはできません。 ウォルフガング、あなたの問題を理解しています。私のものは似ています。

私はLauncher.exeで少し遊んだ。 おそらくあなたのケースに対する解決策があります。 のように、ご希望のLaunchernamesがすべて同じ長さオフになっていると仮定: - Launcher_01.exe - Launcher_02.exeが - Launcher_03.exe - Launcher_04.exe - Launcher_05.exe

あなたはその後、一度ランチャーを生成することができます「Launcher_xy.exe」という名前を付けてください。

"Launcher_xy"の検索でお気に入りの16進エディタを開き、 "Launcher_01"に名前を変更して、データをexe-Fileに保存し直すことができます。しかし、名前の長さを変更しないことに注意してください。あなたが長さを変えるなら、それはうまくいかないでしょう。

あなたが名前を変更し、その後

Launcher_xy.exe -install non-interactive 

を実行してきたのであれば、あなたは、Windowsサービスの下で「Launcher_01.exe」と呼ばれる新しいサービスを取得します。

関連する問題