2

「InstallUtil.exe」という引用は醜いパターンまたは「InstallUtil.exeを使用しないでください」であり、ネイティブのWIXまたはインストールパッケージパターンを使用する必要があるとよく思いますが、その理由はまだわかりません。

InstallUtilを使用して.NETサービスをインストールすることをやめたのは、そのようなアクションのレジストリキーを作成することはアンインストール可能なアクションである必要があることをようやく知ったためです。これは、正しいと判断しました。

比較的複雑な製品のWIXインストーラーを使用して作業していると、SQL Serverデータベースの作成または更新、IISアプリケーションの作成または更新、最後に構成ファイルの更新または作成が必要になります。

私の各コンポーネント(機能)はオプションですが、それらはすべて同じ構成ファイルを共有しています。私の製品はUnityを使用しているため、このライブラリにはUnity構成ブロックからのコンポーネントの読み取り/更新/削除が強力にサポートされていることに注意してください。したがって、インストールコンポーネント(つまりInstallUtil)を介してこれらのブロックを利用する必要があることはかなり賢明です。 )インストール時に構成ファイルを作成または更新します。

ここで明確にするために、私のインストーラーには、私のアプリケーションの構成ファイルがネイティブに含まれていません。インストール時に、インストーラーは、選択した機能に基づいて、その形状を認識していません。確かに、完全に独立したプロジェクトであるインストーラーの権限ではなく、デプロイされる各モジュールにこの知識を埋め込む必要がありますか?インストールについて話している場合でも、これはOOプリンシパルを壊しませんか?

これが良い習慣であるかどうかについてのガイダンスを本当に感謝しますか?「InstallUtil」を読んでいるのはサービスのインストールに悪いですか、それとも「InstallUtil」の使用は終止符に悪いですか?もしそうなら、構成ファイルのスマートアップデートのための私のオプションは何ですか?

4

1 に答える 1

1

InstallUtilを回避する主な理由は、InstallUtilがインストールトランザクションの外部で実行されるため、Windowsインストーラーが実行内容を追跡できないためです。

私は、Wixに必要なことを実行させることができず、カスタムアクションを作成する時間がなかったときに、InstallUtilを数回使用しました。この場合、これがよりクリーンなアプローチであると感じたので、InstallUtilLibバージョンを呼び出しました。

私はこれを達成する方法についてのガイドとしてこのブログを使用しました。

于 2011-11-21T09:44:22.247 に答える