VisualStudio2005では、セットアッププロジェクトと言うのが作成できて、インストーラが簡単に作れるのだけども、そのときに.NET Framework2.0やWindowsInstallerも自動的にインストールされるように設定できる。C#で書いたアプリをCD-ROMなどで配布する場合は、これを利用するのがお手軽である。
以前、Windows2000の場合、Windows Installer3.0をインストールする必要がある(→
id:yaneurao:20060524)と書いたが、これは、マイクロソフト公式でそう書かれていたのだけども、実際はWindows Installer
2.0のほうをWindows2000にインストールすることが出来るようなので、こちらを指定しておけば良いようだ。
インターネット経由で自分の作ったアプリを配布したい場合、.NET Framework2.0もバンドルしてしまいたいということもあるだろう。バンドル自体は、上の方法で簡単に出来るのだけども、ファイルが複数になると配布が大変なのでzipか何らかのアーカイバでファイルをひとまとめにしたい。
zipはWindowsXPではクリーンインストールされた状態でも解凍できるのだけども、Windows2000以前だとそうもいかない。zip解凍のためのアナウンスを配布するときに書くのも面倒である。そこで、
7-Zipの自己解凍形式を用いることを考える。
問題は、7-ZipのライセンスはGNU LGPLなのだが、自己解凍形式にして配布することが許されているのか、ということだ。
id:O-sakaに聞いたところ、以下とのこと。(
id:O-saka:20060706#p2)
SFX License Question
上記の質問に開発者の Igor Pavlov が「I don't think that it contradicts LGPL.
So you can use it.」と答えているので、LGPL に従う必要はないでしょう。
よし、C#で書いたプログラムの配布は、これにしよう。