▼スレッド
│
└◇2949:サイレントモードでのインストール方法について [お世話になります] 06/14 18:54
├◇2950:Re:サイレントモードでのインストール方法について [nil] 06/14
└◇2954:Re:サイレントモードでのインストール方法について [anonymo] 06/19
└◇2955:配布およびライセンス [nil] 06/19 <
スレッド一覧
お世話になります。
アプリケーションを配布するインストーラ(msi)を検討しており
一緒にCygwinもインストールしたいと考えています。
サイレントモードでCygwinをインストール方法はありますでしょうか?
ご教授お願いできれば幸いです。
スレッド一覧
どの程度の意味で「サイレントモード」とおっしゃっているのかわからないのですが、標準では提供されていません。
setup.exe を改造したり、新たな Cygwinインストーラを用意すれば、不可能ではありませんが。(BUGったままかもしれませんが、一応 setup.exe はコマンド引数からの指定だけはできます)
しかし、そういう形で Cygwinをインストールされるのは、(Cygwinを必要としない)ユーザにとってはトラブルの元、不都合にしかならないと思うのですが、杞憂でしょうか。
配布したいアプリケーションがどんなものか存じませんが、Cygwinインストールにまつわるトラブルの可能性をそちらではサポートしきれないですよね?
アプリケーションが Cygwinに依存しているのであれば、.msi 形式で配布するのが不適当に感じられますし、.msi 等の形式にする必要があるようなアプリケーションならば、Cygwinに依存するのが不適切だと思います。(MinGWなり MS製なり、Windows native な環境で動かす手段がいくつもあると思います。)
とりあえず、cygwin上のgccでコンパイルしたアプリケーションならcygwinのスレッド一覧
unixエミュレーションのコアであるcygwin1.dll等を配布パッケージに含めれば
良いのではないでしょうか。
作成した*.exeファイルをobjdumpしてDLLリンクしている情報を参照すれば
必要なライブラリの種類がわかるはずです(VisualC++ならDepWalkerもありましたね)
unix独特のライブラリ、例えばreadlineやncursesを使っているならば、それらの
DLLも配布に含める必要があると思います。
それらをzipとかlhaアーカイブに固め一緒に配布するか、インストーラで
システムディレクトリにインストールするように設定すれば良いのでは
ないでしょうか。
(実際ウィルススキャンのclamavやcygwin版のrubyではcygwin1.dllも配布されます
よね。ただしこの場合はライセンスに関係するので配布されるアプリケーションは
注意が必要になると思います)
作成したアプリケーションがどのようなものか推測の域を出ないので何とも
言えないですね。単にコマンドラインをパイプで利用してるだけという事も
ありえるし。
#実際に作ったアプリケーションを>2949さんが晒せば良いアドバイスが見つかる
#かもしれない・・・・
>作成した*.exeファイルをobjdumpしてDLLリンクしている情報を参照すればスレッド一覧
>必要なライブラリの種類がわかるはずです(VisualC++ならDepWalkerもありましたね)
DLLを確認するだけならば cygcheck /bin/test.exe でも可能ですね。
>#実際に作ったアプリケーションを>2949さんが晒せば良いアドバイスが見つかる
>#かもしれない・・・・
せめて、どうして Cygwin依存でなければならないか、どんなパッケージが必要か程度ははっきりしなければ……
技術的にはどうにかはできるものですしね。
Cygwinに依存するものを配布すること自体は問題ではないし、意義ある場合もありますから。
Cygwin上で動く "SSH for Windows" の配布などの例もあるし。(現在は Cygwinのパッケージ)
先日は書きそびれましたが、個人的には晒す気があるのか気になってます。
というか、GPL などのライセンス上の問題はご存知なのでしょうかね。
http://cygwin.com/ の FAQ や Licensing Terms は検討ずみでしょうか。
|あなたの Cygwin アプリケーションを配布する際にこれが問題となるのであれば、
|(略)
|Red Hat から特別な商用ライセンスを購入しない限り、
|あなたの Cygwin アプリケーションは必然的にオープンソースとなります。
|(訳は "Cygwin 文書図書館" より)
.msi どうこうより先にオープンにしてしまうほうが、いろんなアイデアが使えると思いますが…
(たまに、業務の話をする人もいるので、そういうのはアドバイスしようがないですが)