2019年6月11日火曜日

[MT4] /skipupdate は機能していない?

MetaTrader 4 は terminal.exe /skipupdate で起動すると自動アップデートを抑制できるはずです。

参考

MT4 自動アップデート阻止方法 | FXmt

ところが、最近の挙動を見ていると、このオプションが効いてない様子。 ちょうど手元に Build 1090 (19 May 2017) 版があったので確認してみました。

結論から言うと、「1度だけアップデートを抑制できるけど、2度目の起動時に強制アップデートされてしまう」 という挙動を示しました。(もしかしたら、Build 1090 が古すぎたのが原因かも。詳細は以下)

正確に言うと、WebInstall フォルダ以下にアップデートがあるかどうかで挙動が変わるのですが、 1度目の起動で WebInstall フォルダを更新してしまうので、2度目は必ずアップデートしてしまうのです。

以下、簡単に説明します。

WebInstall フォルダにアップデートがない場合

MT4 は起動時に %APPDATA%\MetaQuotes\WebInstall\mt4clw\ をチェックして最新版がダウンロードされていないか確認します。

参考

MetaTrader 4 は勝手に再起動してアップデートすることがある | Strategy of C

ここにアップデートがない場合、サーバーへアップデートを確認しに行き、アップデートをダウンロードします。

/skipupdate が指定されていない場合、このダウンロードが終わった時点で MetaTrader が再起動します。 /skipupdate が指定されている場合は、再起動しません

WebInstall フォルダにアップデートがある場合

%APPDATA%\MetaQuotes\WebInstall\mt4clw\ フォルダにアップデート1があると、 /skipupdate を指定していても即座に再起動して最新版になってしまいました。

そもそも古すぎるとトレードできない

Build 1090 (19 May 2017) で起動した場合、ステータスバーのサーバーとの接続状況を示す項目が 「旧バージョン」となってしまいます。

そもそもトレード出来ない状況なので強制アップデートするしか手がないわけです。 今回、強制アップデートになったのはこれが原因の可能性もあります2

次のアップデートがあったら、またテストしてみようと思います。

2019/09/09 追記
Build 1210 (06 Sep 2019) が配信されたので、確認してみたところ、「旧バージョン」と表示されていなくても同じ挙動を示しました。 このステータスとは関係なく、2度目の起動でアップデートしてしまう仕様のようです。
  1. Build 1170 (20 Dec 2018) 
  2. だとしたら、ダウンロード直後も再起動したらよさそうだけど 
?