2010-12-08 2 views
0

カスタムUIはWebサービスを呼び出します。 Webサービスが承認すると、インストールが続行されます。そうでなければ、セットアップを続行できないというメッセージがユーザーに表示されます。c#msi setup - インストール前のカスタム検証

Visual Studioセットアッププロジェクトと展開プロジェクトを使用します。カスタムアクションを追加しようとしましたが、インストールプロセスの後に常に実行されます。

どうすればよいですか。

+0

ORCAのMSIを変更せずに、ファイルをコピーする前にカスタムアクションに移動しない限り、これを行うことはできません。正直言って、これは私がVSの展開プロジェクトから離れる傾向にある多くの理由の1つです。それは簡単なケースでのみ動作します。 –

+0

VSセットアッププロジェクトは、できることでは非常に限られています。多くの開発チームは、しばしばinstallshieldなどの他のインストーラソリューションを検討します。 – jlafay

答えて

1

私は、Webサービスがインストール中に入力したライセンスキーを検証していると推測しています。プログラムの最初の実行時に鍵の検証を実行できますか?それはあなたにいくつかの頭痛を救うかもしれません。

これに失敗した場合、InstallerクラスのBeforeInstallイベントを見てください。これは、すべての情報が収集された後、実際のインストールが開始される前に実行されます。ファイルをコピーする前に実行しなければならないコードを置くのに最適な場所です。 Webサービスを呼び出すためにこれらのファイルやその他の設定を実行する必要がある場合は、BeforeCommitを使用してみてください(検証に失敗した場合でもインストールをロールバックできます)。

+0

Well FirstRunsはかなりプログラムが難しいです。私はレジストリから遠ざかり、設定ファイルを簡単に変更することができます。 –