2009-04-14 6 views
1

私の製品の新機能については、WCFサービスとして動作し、いくつかの高度な特権を持つアクションを実行しています。そのため、私はそのコンポーネントをユーザーが必要とするときにインストールして、不要になったときには削除するだけで、インストールはプログラムで行うことができます。MSIオンデマンドでのインストールのベストプラクティス?

私はadvertising(特に、割り当てられたインストール)を調べましたが、これを達成するための良い仕組みと思われます。ただし、不要になったコンポーネントを削除するのに便利なI'm not sure whether the installation of an advertised feature can be undoneがあります。また、プログラムによるインストールが広告で達成できるかどうかは完全にはわかりません:advertised COM classes seems to be discouraged

したがって、msiexecにコンポーネントをインストール/削除するという簡単な呼び出しがより賢明なのではないかと思います。このコンポーネントは、別のMSIにパッケージ化することも、メインMSIの別の機能としてパッケージ化することもできます。

オンデマンドで機能をインストールするためにどのようなテクニックを使用しましたか?

+1

広告に関する問題は、MSIソースが常に利用可能である必要があることです。 ADを使用してセットアップを公開しようと計画している場合、それは大きな問題ではありませんが、セットアップがCDのものであれば問題になります。ネットワーク共有も変化する傾向があります。 (cont ...) –

+1

msiexec.msiを実行する代わりにMsiInstallProductを呼び出すと、MSIのサウンドが分かりやすくなります。 –

答えて

1

必要なすべてのビットを前面にインストールし、必要に応じてWCFサービスを開始/無効にすることでこれを解決しました。