Visual Studio 2010でInstallShield LEを使用していましたが、かなり制限されており、バグが発生することがあります。私は有料のInstallShieldのバージョンを見ていましたが、これらのバージョンもその価格タグには限界がありました。WindowsインストーラXML(WiX)の自動更新とアップグレード管理
私はWiXに切り替えることにしました。私は数年前にそれについていくつかの経験がありました。 WiXツールでSharpDevelopを使用して簡単なインストーラを作成するのはかなり簡単でした。
今私はWiX用のソリューションとツールを収集しようとしています。基本的に、私は(私のクライアントによって要求された)次の機能を取得する必要があります。
私は、インストーラを起動したとき、それは、サーバー上のテキストファイルを確認する必要がありますし、新しいバージョンが利用可能であるかどうかを確認します。その場合、インストーラは更新されたインストーラパッケージをダウンロードして起動できます(WiXにダウンローダユーティリティはありますか?)
解決方法私のアプリケーションの主な依存関係は.NET 4(Windowsインストーラ3に依存します)です。インストーラは、ユーザにダウンロードとインストールを自動的に提供する必要があります。
依存関係のインストールプロセスのログファイルも収集します。 .NET4またはWindowsInstaller3のインストールが失敗した場合に備えて、ユーザーがさまざまな.logファイルを探したいとは思わない。すべての情報を1か所に集め、何かが失敗した場合は、完全なインストールログファイルを保存して私に送信するオプション付きのカスタムポップアップダイアログを表示する必要があります。
インストーラはif私のアプリの新しいバージョンが既にインストールされていて、それが終了する前に意味のあるカスタマイズされたエラーメッセージが表示されます。
インストーラは私の古いバージョンのアプリケーションが既にインストールされているかどうかを検出できます。インストールを終了するか、以前のバージョンをアンインストールして新しいバージョンをインストールするようにユーザーに指示します。ところで、マイナーなコンポーネントアップグレードは計画されていません。私はすべて新鮮なものを再インストールすることをお勧めします(これはWindowsInstallerの点ではメジャーなアップグレードです)。 InstallshieldのLEは、それだけで他の製品に関するメッセージとエラー・ボックスを示し、このために私には失敗したが、
アップグレードの場合、インストーラは、アプリケーション・コンポーネントの一部かどうかを検出することができるはずアンインストールして提供していませんでした私は私はそのまま私のUpgradeCodeを続ける場合でも、アップグレードを管理するために少し痛みを伴うことも読んだことが
を「失敗したインストール」を使用(アプリケーション・プロセスを実行している)であり、カスタムエラーメッセージだけでなく、いくつかの不可解を表示このコードは圧縮された形でWindowsレジストリに格納されており、ダウンロードしたファイルの名前を変更すると、WindowsInstallerによって全く新しい製品として検出される可能性があります。 rこれはWindowsInstallerの.msiファイルの場合に過ぎないかもしれません.WiXはこの問題を回避するためのいくつかのトリックを持っていますか?
アップデートのダウンロードについて - この機能はアプリケーション自体にも必要です。私はそれを効率的に実装する方法がわからないので、WiXインストーラと私のアプリケーションの両方で同じアップデートダウンローダコード/ユーティリティを再利用できます。
現在のWiXツールを使用してこれらの要件をすべて満たすことは可能でしょうか、あるいはゼロからいくつかのコンポーネントをコーディングする必要がありますか?
偉大で詳細な説明と役に立つリンクありがとうございます。私はバーンについて知らなかった、私は間違いなくそれを見守るだろう。 – JustAMartin