1

.VDProj ファイルで MSBuild を実行して (または Visual Studio 2010 を介して) .MSI ファイルにパッケージ化された、多くのプロジェクトにまたがる大規模な C# アプリケーションがあります。通常、インストールは正常に行われ、ローカル マシンに他の必要なソフトウェアが見つからない場合は、正しく警告が表示されます。

ただし、インストールが成功した場合は、インストーラーが自分自身をプログラム ファイル内の特定のフォルダーにコピーするようにします。たとえば、「c:\program files\app\version\install_1.2.3.4.msi」です。

これを行う方法を知っている人はいますか?

4

1 に答える 1

1

MSI パスは、OriginalDatabaseプロパティから取得できます。MSI をコピーするには、InstallFinalize 標準アクションの後にスケジュールされたカスタム アクションを使用できます。

たとえば、[OriginalDatabase] をパラメーターとして受け取り、コピー操作を実行する単純な EXE を作成できます。

InstallFinalize は Visual Studio に表示されません。[Install and edit the MSI with ORCA]の下にカスタム アクションを追加して、 InstallExecuteSequenceテーブルのInstallFinalize の後にシーケンスを変更できます。

他のセットアップ オーサリング ツールを使用すると、カスタム アクションをより詳細に制御できます。

于 2011-02-23T14:45:37.710 に答える