2009-12-07 5 views

答えて

25

を試してみてください。シンプルで使いやすく、Windows Installerにはない多くの機能があります。

Windows Installer(MSI)は、データベース駆動型のトランザクションインストールパッケージを作成します。正しく書かれたWindows Installerパッケージは非常に堅牢で、ファイルが破損したり削除されたりすると自動的に再インストールされます。 WindowsインストーラはUACを認識しており、必要に応じて昇格するだけです。基本的に企業向けのソフトウェアを作成する場合は、MSIを提供する必要があります。

The Definitive Guide to Windows Installerを参照して、MSIの理解を深めてください。

+0

さらに:MSIには多くの問題があります。 x64とx64のインストーラを別々に作成することができます(多くの場合、MSIは常に昇格しても昇格しなくてもかまいません)。これらの制限はNSISでは存在しないと思います。 – BrainSlugs83

+1

@ BrainSlugs83はMSIシリーズのUACを参照してください。あなたが正しくそれを書く場合、制限はありません:) http://blogs.msdn.com/b/rflaming/archive/2006/10/01/uac-in-msi-notes-how-to-build-packages-that両方の標準のuser-per-machine.aspx – saschabeaumont

+0

もう一つの利点は、NSIS内でMSIをラップすることです。これは、IT部門がWindowsインストーラサービスを無効(または手動)に設定した場合に最適です。 NSISインストーラでこれをチェックし、サービスを有効にしてからMSIを抽出して実行することができます。 いいえいい書き方が少ないです、@asasababaaumont – Damian

12

ません(そして.MSI出力をサポートする予定はありません)、残念ながら、第

NSISあなたは、スクリプト、手続きインストールパッケージを作成することができますWIX

+3

代わりに 'WiX'を入れていいですね。 –

16

NSISインストーラは、MSIラッパーを使用してMSIファイルにラップすることができます。 NSISとInnoセットアップインストーラをラップするために作った小さなツールです。それはWiXを使用してMSIをコンパイルしますが、XMLファイルの代わりにあなたを助けるGUIがあります。

これは、従来のEXEインストーラに基づいてMSIファイルを作成するためのツールが必要だったために作成されました。私はアンインストールとアップグレードのサポートが必要でした。ラップされたインストーラは、コントロールパネルの[プログラムの追加と削除]に一度しか表示されませんでした。

MSIのインストール時に、ラップされたインストーラにコマンドラインパラメータを渡すこともできます。

あなたがそれを使用したい場合、または私の改善に役立てたい場合は、http://www.exemsi.comで見つけることができます。

MSIパッケージに実行可能インストーラをラップすることは、理想的な解決策ではないという意見を共有します。しかし、すでにexeを持っている場合、多くの意味があります:-)

+0

うわー!これはNSISに組み込まれている必要があります!今すぐ試してみてください。 – BrainSlugs83

+2

ホラー・クラップは、そのパターンの良い説明です。それはまったく意味がありません...ごめんなさい。 –

関連する問題