2019年6月11日火曜日

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

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

> 参考
>
> [MT4 自動アップデート阻止方法 | FXmt](https://fxmt.co/archives/7194)

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

結論から言うと、「1度だけアップデートを抑制できるけど、2度目の起動時に強制アップデートされてしまう」 という挙動を示しました。(~~もしかしたら、Build 1090 が古すぎたのが原因かも。~~詳細は以下) 正確に言うと、WebInstall フォルダ以下にアップデートがあるかどうかで挙動が変わるのですが、 1度目の起動で WebInstall フォルダを更新してしまうので、2度目は必ずアップデートしてしまうのです。 以下、簡単に説明します。 ### WebInstall フォルダにアップデートがない場合 MT4 は起動時に `%APPDATA%\MetaQuotes\WebInstall\mt4clw\` をチェックして最新版がダウンロードされていないか確認します。 > 参考 > > [MetaTrader 4 は勝手に再起動してアップデートすることがある | Strategy of C](https://strategyofc.blogspot.com/2018/12/metatrader-4.html) ここにアップデートがない場合、サーバーへアップデートを確認しに行き、アップデートをダウンロードします。 `/skipupdate` が指定されていない場合、このダウンロードが終わった時点で MetaTrader が再起動します。 `/skipupdate` が指定されている場合は、再起動**しません** ### WebInstall フォルダにアップデートがある場合 `%APPDATA%\MetaQuotes\WebInstall\mt4clw\` フォルダにアップデートBuild 1170 (20 Dec 2018)があると、 `/skipupdate` を指定していても即座に再起動して最新版になってしまいました。
### そもそも古すぎるとトレードできない Build 1090 (19 May 2017) で起動した場合、ステータスバーのサーバーとの接続状況を示す項目が 「旧バージョン」となってしまいます。
そもそもトレード出来ない状況なので強制アップデートするしか手がないわけです。 今回、強制アップデートになったのはこれが原因の可能性もありますだとしたら、ダウンロード直後も再起動したらよさそうだけど。 次のアップデートがあったら、またテストしてみようと思います。
2019/09/09 追記
Build 1210 (06 Sep 2019) が配信されたので、確認してみたところ、「旧バージョン」と表示されていなくても同じ挙動を示しました。 このステータスとは関係なく、2度目の起動でアップデートしてしまう仕様のようです。