21

かなり単純な WinForms アプリケーションをインストールするために使用する Visual Studio セットアップ プロジェクトがあります。インストールの最後に、アプリケーションを実行するかどうかをユーザーに尋ねる単一のチェック ボックスを表示するカスタム ユーザー インターフェイス ページがあります。他のインストーラーがこれを頻繁に行うのを見てきました。しかし、インストールの完了後にセットアップ プロジェクトで実行可能ファイルを実行する方法が見つかりません。アイデア?

注: カスタム アクションはインストール プロセスの一部として使用されるため、使用できません。ユーザーがインストールの最後に [閉じる] ボタンを押したら、インストール済みのアプリケーションを実行したいと考えています。

4

7 に答える 7

7

これは、Visual Studio インストール プロジェクトの実際の制限の 1 つだと思います。インストール UI の最後のページを変更できるようにする必要がありますが、VS.NET にはこれを行う方法がありません。ビルド後に .MSI 内のテーブルを変更できますが、VS.NET はビルドされるたびにこれらの変更を上書きする可能性があります。インストール プロジェクトに含めるマージ モジュールを使用して、最後のページをオーバーライドできる場合があります。いずれにせよ、UI ダイアログが .MSI で作成される方法に慣れる必要があり、これは簡単ではありません。

無料のスクリプト ベースのインストーラーへの切り替えを検討するか、商用のセットアップ オーサリング アプリケーションを購入することをお勧めします (Pete の愛のために InstallShield を購入しないでください)。InstallAware を見てみましょう (私は使用していませんが)。

于 2008-09-13T17:17:39.927 に答える
5

外部ツールを必要としない非常に簡単な方法を見つけました。メイン プロジェクトにクラス ファイルを追加し、セットアップ プロジェクトにカスタム アクションを追加するだけです。

http://www.codeproject.com/KB/install/Installation.aspx

于 2010-11-24T12:30:03.887 に答える
4

カスタム アクションを使用することもできます

于 2009-12-10T09:32:03.457 に答える
1

You can use MSILAUNCH (though I've only got it to work with MSICREATE).

http://www.cornerhouse.ca/en/msi.html

于 2008-11-17T02:55:57.487 に答える
1

セットアップ実行可能ファイルを起動し、それが閉じるのを待ってから 2 番目のプログラムを起動する VB スクリプト ハーネスを作成することで、内部アプリに対してこれを行いました。

これは、C 実行可能ファイルでいくつかの Win API 呼び出しを使用して、もう少し洗練されたものにすることもできます。

于 2008-09-13T16:03:58.717 に答える
0

次の行を使用して、アセンブリの Main メソッドを呼び出すことで管理しました。

(typeof(ClassWithinAssemblyToExecute)).Assembly.EntryPoint.Invoke(null, new Object[] {} )
于 2011-09-13T04:32:46.807 に答える
0

カスタムインストーラーでそれを行うことができます。インストーラー クラスを追加するだけで、インストール後、インストール前などの多くのイベントが表示されます。インストール後に接続し、そこからプロセス クラスで ur exe を実行するだけです。カスタム インストーラーの詳細については、Google で検索することをお勧めします。ここに役立つリンクが 1 つあります。

ありがとう

于 2013-01-29T12:34:13.977 に答える