17

Inno Setup を使用しており、これを WiX に置き換える予定です。しかし、WiX を評価して試してみると、プログラムによるセットアップ ソリューションと比較して、宣言的な方法にはいくつかの制限があると感じました。

さらに、WiX のドキュメントがかなりまばらであることがわかりました。そこで、C# で記述されたスクリプト ファイルを介してプログラムで WiX ソース コードを作成することを約束する Wix# (WixSharp) に出会いました。

しかし、私たちは非常に小規模な会社や「ワンマンショー」でさえ、いくつかの否定的な経験をしました. そのため、Wix# (WixSharp) またはその他の優れた代替製品を使用した経験についてお聞きしたいと思います。いくつかの利点または制限を報告できますか?

4

2 に答える 2

18

Wix# は、「来年あたりになるだろうか」というスコアに対する良い賭けのように見えます。下記参照。また、カスタム アクションは Wix# で簡単に作成できるようになったことに注意してください。

この記事から: http://www.codeproject.com/Articles/31407/Wix-WixSharp-managed-interface-for-WiX

2014 年 7 月、Wix# はよりリベラルな MIT ライセンスの下で再リリースされ、現在は CodePlex でホストされています。 https://wixsharp.codeplex.com/

2014 年 8 月に Wix# の UI 拡張機能がリリースされ、この CodeProject 記事「Wix# (WixSharp) UI 拡張機能」で説明されました。
http://www.codeproject.com/Articles/804584/Wixsharp-WixSharp-UI-Extensions

新しい Wix# 機能が出てくるという事実は、製品にとって良い兆候です.

Wix# は WiX と Windows Installer テクノロジの上に構築されているため、WiX で可能なことしか実行できません。Wix# のガスがなくなったら... WiX は、Wix# C# 構文では直接利用できない多くのことを実行できるため、通常、WiX XML テクノロジを直接使用してギャップを埋めることができます。また、Wix# で .wxs XML を生成し、追加の WiX XML コードを含め、Candle と Light を呼び出して、結合された XML を MSI に構築する追加の例については、こちらの回答も参照してください。 プログラムによる MSI の構築

以下は、私がこれまでに経験した WiX と Wix# の長所と短所の簡単なリストです。

WiX/Wix# 長所:

  • 実際のWindows インストーラー MSI ファイルを生成します。
  • アンインストール機能は「無料」です。信頼できるアンインストーラーを自動的に取得します。
  • 私の環境のサーバー管理者は、MSI テクノロジとアンインストール機能を信頼しているため、開発者としてインストールしたいものの MSI ファイルをすぐに受け入れます。
    • Windows レジストリ エントリは、WiX または Wix# ネイティブ構文を使用して作成し、.reg ファイルをマージしない限り、取得する「無料」のアンインストールに含まれます。レジストリ エントリをそのようにアンインストールすることはできません。

WiX/Wix# 短所

  • これは Windows インストーラーの機能セットに限定されているため、WiX と Wix では一部の「手続き型」の処理が困難です#

WiXの長所

  • 多くの優れた例とサポート リソース (「How do I .. in WiX」) が Web で入手できます。
  • レジストリ エントリを収集し、XML WiX ステートメントを挿入するためのユーティリティはうまく機能します。

WiXの短所

  • C# 開発者として、XML ファイルを直接操作する WiX XML を使い始めるのは直感的ではないことがわかりました。Wix# と C# は、最初は WiX よりも理にかなっていました。

Wix#プロ

  • カスタム アクションは、Wix# で簡単に実装できるようになりました。
  • Wix# は Visual Studio とうまく統合されています。現在VS2013で使用しています。
  • Wix# と C# は、最初は WiX XML よりも理にかなっています。より良い出発点。
  • Wix# は、より親しみやすい方法で WiX を学ぶのに役立っています。Wix# で何が機能し、何が機能しないかを確認することは、WiX を理解するのに役立ちます。

Wix# 短所

  • 現在、Wix# の例を Web で入手するのは非常に困難です。多くの場合、WiX のハウツーを調べてから、それを Wix# に適用する方法を理解する必要があります。
  • レジストリ エントリを収集し、WiX# C# コードで表現するための自動化されたパスが見つかりませんでした。.reg ファイルのエントリを手動で翻訳しました。レジストリ エントリの自動アンインストール機能を取得するには、Wix# "RegValue(" ステートメントにレジストリ エントリを含める必要があります。 注: 開発者は 2015 年 1 月のリリースでこの機能を追加しました。まだ試していません。

NSIS などの手続き型インストーラーや、過去の世代のスクリプトベースのインストーラー (古い Wise エディションなど) では単純で明白だったことを WiX/Wix# で実行するには、WiX/Wix# で追加の調査と創造性が必要になることがよくあります。

全体として、私は Wix# が成長テクノロジーであり、現在および将来の使用に対する安全な賭けであることに賭けています. 最悪の場合、まだ .wxs ファイルが残っていて、そのまま WiX XML アプローチを使用してインストーラーを構築するように変更しても、Wix# への時間投資から価値を得ることができます。

一般的なインストーラー タスクに関する Wix# 製品の最近の更新

2015 年 1 月現在。参照: [ https://wixsharp.codeplex.com/releases/view/610843][1]

  • 手動でレジストリ クラス エントリをコーディングする代わりに、.reg レジストリ設定ファイルをインポートできるようになりました
  • Windows Config ファイルの変更に対する追加サポート
  • Windows サービスのインストールに対する特定のサポート
  • すべての WiX サポート インフラストラクチャが適切に自動生成された状態で、パラメーター値を Deferred Custom Actions に渡すためのサポート
  • ターゲット システム ディレクトリの絶対パスをサポートし、WiX をサポートするすべてのインフラストラクチャが適切に自動生成されます
于 2014-10-07T19:26:38.410 に答える
1

WiX はかなり前から存在しており、多くのコミュニティ サポートがあります。私は約 8 年間 (暇なときに :)) セットアップを行ってきましたが、WiX で合理的にできないことを見つけたことはありません。

WixSharp を見たのはこれが初めてです。私の最初の反応は、現時点で 0.1.42 であることを考えると、どれだけ安定しているかということです。また、WixSharp で実際に MSI スキーマがどの程度実装されているかも気になります。面白そうに見えますが、私は XML ファイルの方が快適です。C# でそれを行うメリットは特にありません。

于 2012-04-16T19:20:55.283 に答える