Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PRIVATE:Win32でのインストール時の不具合と解決法 ( namazu-bugs-ja#879)



竹迫です。

安部さん、情報ありがとうございます。

# namazu-devel-ja に振ります。

>On Mon, 26 May 2003 14:01:05 +0900
>takesako@xxxxxxxxx wrote:
>
>> できれば、次のバージョンの Namazu for Win32 からは、インストーラに
>> Inno Setup <http://www.jrsoftware.org/isinfo.php> を採用するなどして、
>
>今のInno Setupってmulti-language supportというか、インストーラに複数
>言語のメッセージカタログを含める機能は入っています? 
>
>NSIS2<http://nsis.sourceforge.net/>には入っているみたいなんですが。
>#けど、手元ではフォントが正しく選択されないようで、日本語の文字列が
>#一部化けてしまっているという...

NSIS version 2.0 beta 3 を早速ダウンロードして試してみました。
私の環境だと、Win2000 は O.K. で、Win98 だと日本語が文字化け
してしまいました。

調べてみると、\Program Files\NSIS\Contrib\Modern UI\System.nsh に、

  !ifndef MUI_FONT
    !define MUI_FONT "MS Shell Dlg"
  !endif

  !ifndef MUI_FONT_HEADER
    !define MUI_FONT_HEADER "MS Shell Dlg"
  !endif

  !ifndef MUI_FONT_TITLE
    !define MUI_FONT_TITLE "Verdana"
  !endif

という記述があって、フォント名が "MS Shell Dlg" と "Verdana" になって
いるのが原因のようです。

この部分は、ユーザが選択した言語によって切り替える事ができないようで、
とりあえず、

  !ifndef MUI_FONT
    !define MUI_FONT "MS UI Gothic"
  !endif

  !ifndef MUI_FONT_HEADER
    !define MUI_FONT_HEADER "MS UI Gothic"
  !endif

  !ifndef MUI_FONT_TITLE
    !define MUI_FONT_TITLE "MS UI Gothic"
  !endif

と書き換えたら、Win2000 / Win98 双方の環境でも、正しく日本語が表示できる
ようになりました。(これで本当によいのか若干不安が残ります)

* [参考] NSISを使う(最終更新:2003年2月4日)
  http://www2s.biglobe.ne.jp/~futot/research/nsis1.html

あと、NSIS 2.0 beta3 で作ったインストーラだと、表示言語を一度選んでしまうと、
インストールを中断した後、選び直せないといった問題があります。
そのソフトウェアをインストールして、アンインストールすれば選択可能に
なるのですが、ユーザが表示言語を間違って選択してしまった事を考えると、
これはちょっといただけない動作です。

# どこかのレジストリの値を削除すれば大丈夫なのかもしれませんが、
# そこまで追いかけていません。

>それがあればインストーラは一つで済みそうなんですが。

確かに、日本語・英語版のインストーラを一つのバイナリで済ませることが
できれば、best ですね。

個人的には、multi-language をまともにサポートしたインストーラ作成ソフトが
主流になるまでの間は、Inno Setup で Windows の流儀に従ったインストーラを
作って、日本語版と英語版の2つのバイナリを両方作ってもいいかなと思っています。

一つの大きな目標として、アンインストールができればいいかなと。

>あと、どれを使うにせよPPMの扱いは面倒な気がします。

これは確かに面倒ですね。

x86 だけでも、ActivePerl 500系、600系、800系の
3つのバイナリを用意しないといけないので・・・

--
  竹迫 良範 <takesako@xxxxxxxxxx>