0

アプリケーションをインストールするために VS2010 でインストーラーを作成しましたが、Python などのサードパーティの前提条件がいくつかあります。追加のインストーラーを埋め込みリソースとして含め、ファイルとして抽出し、(カスタム アクションとして) 実行しようとしました。動作しますが、同時に 2 つのインストーラーを実行することはできないようです。そのため、これらのインストーラーを自分のインストーラーからインストールすると、エラーが発生します。

アプリケーションのインストール中にこれらのサードパーティ製アプリケーションをインストールするにはどうすればよいですか? (プロパティ ページの「前提条件」は、.NET や SQL サーバーなどの ms にのみ関連するため、役に立ちません...)

ありがとう!

4

2 に答える 2

1

そのために System.Diagnostics.Process を使用できます。MySQLサーバーインストーラーなど、特定のパスでファイルを実行できます。これを参照してくださいただし、実行可能ファイルを提供する必要があります。Ramhound がコメントで示唆したように、商用製品を見てインストーラーを作成してください。私の個人的なお気に入りの Advanced Installer を含むいくつかは、最初の要件を満たすツールの無料バージョンを提供しています。

前提条件のパッケージ方法 (MSI または EXE) によっては、ターゲット システムで前提条件を検索し、存在しない場合はそれをインストールするカスタム アクションまたはブートストラップを使用しないと、MSI が前提条件を直接インストールできない場合があります。ターゲット システム。

余談ですが、私は Advanced Installer と何の関係もありませんが、数年前から有料の顧客でした。しっかりした製品に加えて、彼らのサービスも優れています。

于 2013-02-10T10:14:20.420 に答える
0

この同じ問題が発生しました。Bootstrapper Manifest Generatorを使用してブートストラップ パッケージを作成し、セットアップ プロジェクトでこれらを前提条件として選択しました。前提条件の 1 つは、Python も同様でした。インストール ログによると、Python のインストールはコード 0 とステータス「InstallFailed」で終了します。

インストールは実際に成功したことがわかりましたが、0 は成功した終了コードとして認識されていませんでした。インストールファイルのプロパティで、BMGでこれを修正しました。終了コードと結果を手動で入力できる [終了コード] タブがあります。成功の結果に 0 を追加し、パッケージを再ビルドして、ブートストラップ パッケージ フォルダーにコピーし、最後にセットアップ プロジェクトを再ビルドしました。その後、インストールはうまくいきました。これが私の BMG 設定のスクリーンショットです。

ここに画像の説明を入力

BMG を使用していない場合は、Product.xml の Commands ノードを次のように手動で編集できます。

<Commands Reboot="Defer">
   <Command PackageFile="python-2.7.5.msi" Arguments="/q /norestart">
      <ExitCodes>
         <ExitCode Value="0" Result="Success" />
            <DefaultExitCode Result="Fail" String="Anunexpectedexitcodewasr" FormatMessageFromSystem="true" />
      </ExitCodes>
   </Command>
</Commands>
于 2013-10-09T18:27:08.660 に答える