2017年12月7日木曜日

Market Speed Ver15.7をWindows2000で動かす

楽天証券のマーケットスピードを使うために、UbuntuをベースにしているBasix上にインストールしたVirtualBox上でWindows2000を使っている。

昨日までは動いたいたのだが、下記のメッセージが出て使えなくなったMarket Speed Ver15.2。

「お客様がご利用中のバージョンはサポート対象外です。最新バージョンをご利用下さい。」

Market Speed Ver15.2は昨日で終了らしい。

仕方がないので最新版のMarket Speed Ver15.7をダウンロードしてインストールすることにした。

が、インストールしようとすると下記のメッセージが出てインストールできない。

「1155: instmsi30.exe を検出できません。」

「instmsi30.exe」。これはWindowsインストーラか?そう言えば、Windows2000にはWindowsインストーラ3が入っていないので、Windowsインストーラ3をインストールして、使っていた記憶がある。今回新たにVirtualBox上にWindows2000をインストールしたのでWindowsインストーラ3が入っていなかったということか。

HDD上を漁ったらWindowsインストーラ3.0が出てきたので、Windowsインストーラ3.0をインストール。

改めてMarket Speed Ver15.7をインストール。

今度は下記のメッセージが出てインストールできない。

「ファイル http://www.installengine.com/msiengine30/WindowsInstaller-KB893803-x86.exe のダウンロード中ににエラーが発生しました。処理を指定してください。」

「WindowsInstaller-KB893803-x86.exe」を検索してみると、どうやらWindowsインストーラ3.1らしい。

Windowsインストーラ3.0じゃなくて、Windowsインストーラ3.1が必要ということか。

下記のURLからWindowsインストーラ3.1をダウンロードしてインストール。

http://www.microsoft.com/ja-jp/download/details.aspx?id=25

再度、Market Speed Ver15.7をインストール。

やっとMarket Speed Ver15.7のインストールが完了した。

既に取引時間が開始している。

今日は先物のSQ(Special Quotation)前日なので、取引するつもりもなかったのでまあいいか、と思いつつMarket Speed Ver15.7を起動。

起動できた。

ログイン・・・

今度はDLLのエラー。

「プロシージャエントリポイント freeaddrinfo がダイナミックリンクライブラリ WS2_32.dll から見つかりませんでした。」

Windows2000では動かなくなったらしい。

が、ここで引き下がる訳にはいかない。

何とかしてWindows2000上で楽天証券Market Speed Ver15.7を動かすことにする。

下記URLの「Windows 2000 Kernel32 改造計画【BM】」からダウンロ-ドして、必要なDLL(WS2_32.dll)を取り出して使うことにする。EXE形式のインスーラなのでVirtualBox上に新たにWindows2000を用意する。

http://blog.livedoor.jp/blackwingcat/archives/1299806.html

VirtualBox上で、バックアップ用にExportしていたものをImportする。VirtualBoxはこういう作業が簡単で良いね。

新たに用意したWindows2000上に「Windows 2000 Kernel32 改造計画【BM】」を適用。

System32の中から必要なDLL(WS2_32.dll)を抜き出す。抜き出したDLL(WS2_32.dll)をMarket Speedの実行ファイルのあるディレクトリに放り込む。

Market Speed Ver15.7を起動。

ログイン・・・

今度は下記のエラー

「サーバー証明書の検証に失敗しました。サーバー証明書の検証を省略して接続を行いますか?」

SSLの証明書か?

気にしない。「はい(Y)」をクリック。

動いた。RSS(リアルタイムスプレッドシート)起動。

また同じ下記のエラー

「はい(Y)」をクリック。

C++で自作している独自のRSS(リアルタイムスプレッドシート)ソフトウェアを起動。

動きましたよ。既にお昼だよ。