VB6 英語版で開発されたアプリケーションの配布の件

タグの編集
投稿者 VB2008初心者  (中学生) 投稿日時 2013/10/14 19:01:55
今日、VB6を手に入れました。英語版ですけど(笑)

英語版のVB6で開発されたアプリケーションの動作にはVB6のランタイムが必要と聞きました。
ということはVB6のランタイムは英語版のランタイムが必要かと疑問に思った…。
英語版のVB6で開発されたアプリケーションのランタイムは
普通のVB6のランタイムでも正常に動作しますか?

因みに現在持っているVB6のサービスパックはありません。
投稿者 (削除されました)  () 投稿日時 2013/10/16 11:13:16
(削除されました)
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2013/10/16 11:15:32
> 今日、VB6を手に入れました。

使用許諾契約上の問題は無い物である、という認識で回答します。

あえて大昔の VB6 (1998年リリース) を使うからには、何らかの事情があるとは思いますが、
今から開発するのであれば、VB2012 や Office 2013 VBA などの最新環境に
移行することを強くおすすめします。Visual Studio Express なら無償ですし。


> 英語版ですけど(笑)

英語版VB6でも、日本語アプリの開発は一応可能です。

フォントが既定で欧文フォントになっているため、明示的に Font.Name と Font.Charset を
指定する必要がありますし、エラーメッセージの類も一部英語とはなりますが、
各国語版の Windows 上で動作させることができます。

文字コードが Shift_JIS ベースでは無い(内部的には Unicode だが、入出力は ANSI となる)ため、
文字列操作などで注意が必要となる部分はありますが、動作しないわけではありません。

なお、文字列リソースなどは英語版のままです。リソース言語を切り替えたい場合のために、
VB6 向けに IPDK (International Package and Deployment Kit)という 他言語対応キットが
かつて公開されていました。これは、どの言語版の Visual Basic を使用しても、
ローカライズ版のアプリケーションを作成および配布することを可能にするための
リソースとツールであり、たとえば、下記のコマンドで変換できるようになっています。
 VBLOCAL Project1.exe vb6jp.dll 0x411 …… 日本語版版へ変換
 VBLOCAL Project1.exe vb6chs.dll 0x804 …… 簡体字中国語版へ変換

プログラムコードそのものを改修するわけではないため、各国の文字コード対応や
翻訳作業などは、もちろん開発者自身で行う必要がありますけれどね。


ただし、その IPDK も現在は公開ページが閉鎖されていますし、そもそも
最新の Service Pack にも対応していません(2001年のSP5時代で止まっていたはず)。
古い開発ツールなので仕方ないところですけれどね。
http://msdn.microsoft.com/ja-jp/library/cc765234.aspx
http://download.microsoft.com/download/vb60ent/ipdkeng/6.0/W9XNT4/EN-US/ipdk.exe


> 英語版のVB6で開発されたアプリケーションの動作にはVB6のランタイムが必要と聞きました。
英語版であろうと無かろうと、VB6 製アプリの動作には VB6 のランタイムが必要です。

> ということはVB6のランタイムは英語版のランタイムが必要かと疑問に思った…。
MSVBVM60.DLL をはじめとする「コア ランタイム」のみがインストールされている環境の場合、
アプリは英語版として動作します。ここに、各国語対応の サテライト ライブラリ が
追加されることで、他の言語に対応することになります。

サテライト ライブラリとしては、たとえば、
 VB6JP.DLL (日本語)
 VB6CHT.DLL (繁体字中国語)
 VB6CHS.DLL (簡体字中国語)
 VB6KO.DLL (韓国語)
 VB6IT.DLL (イタリア語)
 VB6FR.DLL (フランス語)
 VB6ES.DLL (スペイン語)
 VB6DE.DLL (ドイツ語)
などがあります。

もちろん、各種 OCX やシステム DLL 等に対しても、同様に *JP.DLL や *JPN.DLL といった
ファイルが数多く存在しています。他言語バージョンの VB で必要なバイナリについては、
下記にまとめられていますので参考にしてみてください。
http://msdn.microsoft.com/ja-jp/vstudio/cc707268.aspx

※なお、ランタイムを単体で再頒布することは禁止されています。 
投稿者 VB2008初心者  (中学生) 投稿日時 2013/11/8 17:44:53
詳しい内容を有り難うございます。