Microsoft R Client インストールで.cabファイルを利用する

# SQL Server 2016 のRサービスをR開発環境から利用する
　SQL Server 2016 のRサービスは Visual Studio のRツール(R Tools for Visual Studio:RTVS)、R Studio といったR開発環境から利用することができます。R開発環境からSQL Server 2016 R Services を利用するには Microsoft R Client のインストールが必要です。インストール手順には詳細な英文とシンプルな日本語翻訳があります。この記事は主に詳細な英文手順が必要になる稀なケースを題材として書いています。

# インターネットアクセスありでのインストール
　Microsoft R Client のインストール手順が Microsoft から提供されています。
**Get Started with Microsoft R Client** が、その手順になります。
この手順どおりにインストールを行って、インストーラで初期設定されていたフォルダ
**C:\Program Files\Microsoft\R Client** に対してインストールがされ、 R_SERVER, Samples, Setup, Temp といったフォルダや mrupdate.txt ファイルが確認できれば、この記事の続きは必要ありません。インストールが完了していない場合 R Client フォルダがつくられていないでしょう。インストールが完了していれば、コントロールパネルのプログラムと機能をみて Microsoft R Client を確認することもできます。
## インストールが完了するならこの記事は必要ない
　Googleで「Microsoft R Client インストール」と検索すれば、手順を読みやすい日本語に翻訳してくださっているサイトが見つかります。しかし、翻訳されている内容は Microsoft から提供された手順の一部です。具体的には、インストールがマシンの環境によって完了できない場合に必要なヒントの多くが省略されています。ただし、このヒントはシンプルな手順でインストールを完了できる方々には必要ないものです。限られたときにだけ必要なヒントからインストール作業に混乱がうまれることがあります。そのため、翻訳が省略されているのは賢明なことです。
　この記事はインストールが完了できなかった時のヒントを示すものです。シンプルな手順のとおりに実行してもインストールが中断してしまう場合 .cab ファイルを利用するインストール手順があります。
## Get Started with Microsoft R Client
Microsoft Rクライアントを使い始める（インストール手順）
j-martens | Last Updated: [~~1/13/2017~~]　[2/18/2017]
https://msdn.microsoft.com/en-us/microsoft-r/r-client-get-started
この手順で書かれていることの全体像を把握するには協力者のアドバイスが必要でした。このことが .cab ファイルを利用したインストール手順について記事を書く動機でした。
## インストールが中断してしまったら .cab ファイルの利用を考える
　Microsoftから提供されているインストーラ RClientSetup.exe は実行時にインターネットアクセスを行います。プロキシ環境下など RClientSetup.exe のインターネットアクセスに問題があった場合はインストールを完了できません。この問題はインストール完了後に RClientSetup.exe 実行による環境の修正を行う場合にもおきます。実行可能だった環境に影響を与えることがあり問題はさらに深刻です。
セットアップが次のメッセージで終了する場合、
**Microsoft R Client Setup Wizard ended prematurely**
**：Microsoft Rクライアントセットアップウィザードが途中で終了しました**
この場合、インターネットアクセスなしで .cabファイルを利用したインストールを試すことができます。
　インストールの前提条件である .NET Framework に注目するよりも、その前に .cab ファイルの利用を試してください。なぜならば、SQL Server 2016 や Visual Studio のインストールを行ったときに .NET Framework の前提条件をクリアしている可能性が高いからです。記事の末尾に .NET Framework 4.5.2 についての補足を書きました。

# インターネットアクセスなしのインストール（セットアップが中断した場合を含む）
　Microsoft R Client をインストールするマシンに .cabファイルと RClientSetup.exe を用意します。
.cab ファイル入手先： [リンク](http://aka.ms/rclient/download)　2017年2月22日現在　バージョン：3.3.2.0_1033（初稿から変更なし）
RClientSetup.exe入手先： [リンク](https://go.microsoft.com/fwlink/?LinkId=834568&clcid=1033)　2017年2月22日現在　バージョン：3.3.2.1008（初稿から変更なし）
用意した .cabファイルと RClientSetup.exe をインストールするマシン内の共有フォルダにコピーします。
**インストールするマシンがネットワークアクセスしないようにして** RClientSetup.exe を実行します。
デスクトップPCであればLANケーブルを抜いて、モバイルPCであれば Wi-Fi もオフにしてから RClientSetup.exe を実行します。具体的にネットワークアクセスしないようにする方法はマシンの環境ごとで異なります。 .cab ファイルが RClientSetup.exe と同じフォルダにあっても、マシンの環境に応じて .cab ファイルでのインストールをしてくれないことに注意しましょう。

## 【原文と翻訳】インストール方法（インターネットアクセスなし）
How to Install (without Internet Access)（インストール方法（インターネットアクセスなし））
インストーラのセットアップが中断してしまい、インターネットアクセスなしでインストールを行う場合は参照ください。 Microsoft から提供されている手順の一部抜粋と翻訳です。

1. On a machine with unrestricted internet access（インターネットアクセスが可能なマシンで）
    - Copy the .cab file, component executables, and R Client installer to a network share or portable drive.
（.cabファイル、コンポーネント実行可能ファイル、およびRクライアントインストーラをネットワーク共有またはポータブルドライブにコピーします。）
2. On the machine with restricted internet access（インターネットアクセスが制限されたマシンで）
    - Copy the .cab file, component executables, and R Client installer from the network share/portable drive on the first machine to a folder on the machine that has restricted internet access.
（.cabファイル、コンポーネント実行可能ファイル、およびRクライアントインストーラを、最初のマシンのネットワーク共有またはポータブルドライブから、インターネットアクセスが制限されているマシンのフォルダにコピーします。）
    - Run RClientSetup.exe, which will also find the cab file in the same folder, and follow the onscreen prompts.
（RClientSetup.exeを実行します。RClientSetup.exeは同じフォルダ内のcabファイルを検索します。その後は画面の指示に従ってください。）

### おわりに
　Visual Studio 2015 、SQL Server 2016 、RTVS(R Tools for Visual Studio)をインストールするところまで順調に作業が進みました。Microsoft R Client のインストールが中断してしまう現象を理解できず苦労しました。
Microsoft から提供されていた英文のインストール手順に、インターネットアクセスあり・なしの両方が書かれていました。これをうまく活用できずに時間を浪費しました。
　手順のセットアップ要件に .NET Framework 4.5.2 と記載があったため、インストール中断の原因を考えるとき気になっていました。しかし、これは問題の原因ではありませんでした。（Microsoft.NET Framework 4.5.2 Multi-Targeting Pack はマシンにインストールされていました。）RClientSetup.exe がプロキシ環境下でもインストール動作を完了してくれるようになれば、この記事は役割を終えます。

### （補足） .NET Framework 4.5.2 のインストールについて
Microsoft Developer Network | MSDN より
.NET Framework のインストール
https://msdn.microsoft.com/ja-jp/library/5a4x27ek(v=vs.110).aspx
Microsoft R Client のインストールでマシンに入っていた .NET Framework 4.5.2 は、コントロールパネルのプログラムと機能より次のふたつでした。「Microsoft.NET Framework 4.5.2 Multi-Targeting Pack」「Microsoft.NET Framework 4.5.2 Multi-Targeting Pack(日本語)」このふたつは、.NET Framework のインストール [リンク](https://msdn.microsoft.com/ja-jp/library/5a4x27ek(v=vs.110).aspx
) からダウンロードできる Microsoft .NET Framework 4.5.2 Developer Pack であり NDP452-KB2901951-x86-x64-DevPack.exe を実行したものでした。 .NET Framework 4.5.2 は他にも、NDP452-KB2901907-x86-x64-AllOS-ENU.exe と NDP452-KB2901954-Web.exe がダウンロード可能ですが、4.5.2 以降バージョンの .NET Framework があるためインストールできないという実行結果になります。しかし、このことは Microsoft R Client のインストールでは問題ありませんでした。

### All done しかし、インストールできていない　プロキシ環境下にて（2017/05/19更新）
　記事を掲載して3か月ほどが経ち、Microsoft 社から提供インストーラの更新状況を確認した。
インストーラは新しくなった。バージョン 3.3.3 EXE のファイルバージョンとしては 9.1.0.0 となっていた。
しかし、記事掲載時と同じプロキシ環境下にてインストールを行ってみたが、実行結果は同じように問題ありであった。
この問題はなにも Microsoft R Client インストーラだけに限られたことではない。
　①インストーラが Web からのダウンロード方式である。
　②インストールに失敗しても、インストールが成功したと表示する。
　③インストールを完了できなかったセットアップ先となるフォルダが失敗に伴い削除される。
この3点セットがインストーラ作成において揃ってしまうと、もれなく利用者を苦しめるだろう。
プロキシ環境下で作業することが日常的な利用者であれば、この手の問題にはむしろ慣れっこなのだろうか。
　人の時間を容赦なく奪っていくこうした問題が迅速に発見され解決していく ICT 社会へ前進していくことを願う。![AllDone_notInstallFinish.png](https://qiita-image-store.s3.amazonaws.com/0/155681/7741f109-ff41-06d5-5833-ba8b335ea646.png)
悲しいことだが、この画面表示を安易に信じてはいけない。特に、プロキシ環境下では。