InstallShield 2009で構築されたMSIインストールがあります。これは、サービスexeを含むコンポーネントで「.NETインストーラークラス」を「はい」に設定することにより、.NETサービスをインストールします。ファイルとexeを含むこの基本インストールはOKです。元のインストールでサービスexeファイルを更新する小さな更新MSPを作成しました。基本インストールを含むシステムでMSPを実行すると、小さな更新のMSPインストール中にサービスを再インストールしようとしているため、エラー1001が発生します。
この問題に対するFlexeraの公式の対応は、.NET実行可能ファイルを更新する必要がある場合は、コンポーネント「.NETインストーラークラス」を「いいえ」に設定し、独自のカスタムアクションを作成する必要があるというものです。Flexeraは、「。NETインストーラークラス」を「はい」に設定すると、インストールのMSP更新を作成できないことをどこにも文書化していないことも認めています。ベースインストールはリリースされており、それに対してアップデートを作成する必要があるため、元に戻ってベースインストールを変更することはできません。MSPのインストール中にサービスをアンインストールするカスタムアクションをMSPアップデートに含めることで、自分で回避策を考え出しました。これにより、小さなアップデートMSPがインストールされますが、この回避策は、ARPからMSPをアンインストールする場合には機能しません。
将来のインストールでこの問題に対処するための最良の方法を知る必要があります。小さな更新MSPを使用して後でサービスを簡単に更新できるような方法で、.NETサービスをどのようにインストールしますか?