[Namazu-win32-users-ja 1241] Re: Namazuインストール手順解説

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2010年 8月 27日 (金) 21:18:42 JST


寺西です。

"K.Yamachika" wrote:
> 
> ということで、久しぶりにNamazu for Win32のインストール手順解説を作って
> みました。今回はWindows Server 2008(R2)+IIS 7用です。
> 皆さんのお役に立てれば幸いです。

ちまたの Web サイトの中にはかなりいい加減な内容のものが多数あるなか、
こちらはしっかりした内容かと思います。

特定 OS に限った話なので、Windows Server 2008(R2) を使っている方は
ラッキーかと思います。

# 他 OS だと当てはまらないこともあるので注意。


それはともかく、Windows 版は今では、「Namazu for Windows」という呼び
方に変えているので、「Namazu for Win32」とは言わないでください。


ところで、
「msvcr71.dll」のコピー先は、残念ながら C:\namazu\bin ではないです。
マイクロソフトの推奨設定ではないことは重々承知の上、システムディレ
クトリに存在しない場合はコピーするように指示しています。

では何故、マイクロソフトの推奨設定にしていないかというと、
実行可能プログラムと共にアプリケーションディレクトリにコピーする
ことが困難なためです。

c:\namazu\bin にインストールされるバイナリは、そもそも msvcr71.dll 
に依存していません。VC++ 2005 でコンパイルしているので(更にスタ
ティックリンクだし)
このため、c:\namazu\bin にコピーしても、しなくても何ら関係ありません。
# c:\namazu\bin に入れれば良いだけなら、配布パッケージの namazu の
# 下に最初から入れてますし...。

msvcr71.dll が必要なのは ActivePerl の PPM の方です。
実行可能プログラムと共にアプリケーションディレクトリにコピーする
というマイクロソフトの推奨設定に従おうとすると、
msvcr71.dll に依存する PPM のインストールディレクトリを探して、
その全部にコピーしなければなりません。

これは簡単なことではありません。

また、msvcr71.dll のセキュリティ上の問題が見つかった場合には、それら
コピーした msvcr71.dll を全て置き換える必要があります。
差し替えを忘れるとセキュリティ上の問題となります。

そのため、あえてシステムディレクトリにコピーするよう指示しています。
システムディレクトリにコピーすると問題になるケースもありますが、
総合的に判断すると、msvcr71.dll に限ればまだその方が安全です。

システムディレクトリに存在しない場合にコピーするように指示している
のは、バージョン違いのものを上書きして、もともとあった msvcr71.dll
のバージョンに依存したプログラムに悪影響を与えないための配慮です。

で、私が配布している PPM に関しては msvcr71.dll に依存しないような
バイナリに差し替えを行っていますが、まだ完全ではないです。
そのうち、msvcr71.dll をコピーしなくても良くなる環境が構築できるかと
思います。

というような背景があります。

以上、よろしくお願いします。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E


Namazu-win32-users-ja メーリングリストの案内