All About ACS: IBM i Access Client Solutions をスクリプトで対話型導入する

#ACS Base Package をスクリプトで導入する
ACS Base Package は[特別な導入をしないで利用する](http://qiita.com/6onoda/items/fb653078341032f86412)こともできるのですが、デスクトップに ACS のアイコンが欲しいとか、5250 の構成ファイル (ACS の5250は Host On-Demand 由来のJavaプログラムなので拡張子は hod です)をクリックするだけでセッションを起動したいなどの場合のために、exe などのプラットフォーム・ネイティブプログラムから ACS 起動できるようにする導入スクリプトが用意されています

#6.0 以上の Javaを導入する
exe プログラムから起動するといっても、この exe プログラムは単に起動の役割しか持っていません。結局は Java 環境を作って、ACS を Java 上で動かします。そのため、Java の 導入は必要です。
前提条件である 6.0 以上の Javaを事前に導入しておいてください。

#Java は 32 ビット？ 64 ビット？
OS が 64 ビットの場合、32 ビット、64 ビット 両方のJavaが利用できます。(Mac の場合は 64 ビット Java しかありません。)
通常は、どちらを導入してもいいのですが、例外は、5250 API の EHLLAPI です。
Personal Communications が 32 ビット プログラムしか動かないので、当然なのですが 5250 API の EHLLAPI は、32 ビットでしか動きません。
EHLLAPI を ACS でも使うのであれば、32 ビット Java を導入してください。

ネイティブコードと Java との間で相互呼び出しをする場合、プログラムのビット数と Java のビット数があっている必要があります。
Oracle のサイトに、[64ビットWindowsオペレーティング・システム用には、どのJavaのダウンロードを選べばよいでしょうか。](https://www.java.com/ja/download/faq/java_win64bit.xml) というページがあります。
ブラウザー内でJava Applet を動かすことを想定しているので、ブラウザーのビット数に合わせるようにとあります。

#スクリプトを実行する
ACS の Base Package を展開します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/71ca46f5-098a-d923-45d7-7fbdd9638ffb.png)

## Windows で現行用ユーザーに導入

「Windows_Application」フォルダーの「install_acs_32.js」か「install_acs_64.js」を実行します。
**32/64 は OS のビット数ではなく、Java のビット数に合わせます**。
実は exe には 32 ⇔ 64 の切り替え機能が、備わっていて、対応したビッ数の Java の起動に失敗すると、もう一方のビット用の exe を呼び出します。
しかし、この切り替えは Windows 10 Creators Update（1703) の仕様変更で動かなくなりました。
そのため、導入時から正しく選びましょう。

導入先は下記のように自分用ののフォルダーです。

\Users\[user_id]\IBM\ClientSolutions\

## Windows で全ユーザー用に導入

「Windows_Application」フォルダーの「install_acs_32_allusers.js」か「install_acs_64_allusers.js」を実行します。
**32/64 は OS のビット数ではなく、Java のビット数に合わせます**。

導入先は下記の共有フォルダーです。

\Users\Public\IBM\ClientSolutions\

## Linux に導入

「Linux_Application」フォルダーの「install_acs_32」か「install_acs_64」を実行します。
**32/64 は OS のビット数ではなく、Java のビット数に合わせます**。

管理者権限で導入します。

```
sudo ./install_acs_32

sudo ./install_acs_64

```

導入先はこちらです。

    /opt/ibm/iAccessClientSolutions/
    /usr/share/applications/

## Mac に導入
Mac に導入する場合、2017年7月に利用可能になった 1.1.7.1 以降を利用してください。

Mac 用の Java は 64 ビットしかないので (Mac OS が 64 ビットしかないので、無駄に 32 ビット版を作る必要がなく) 導入用のスクリプトは一つです。

「Mac_Application」フォルダーの「install_acs」を実行します。

単純なダブルクリックでセキュリティのエラーで動かないかもしれません。右クリックから「開く」などセキュリティ例外を許可してください。

古い Java 6 の導入が求められる場合がありますが、導入する必要がはありません。サポートのある最新の Oracle Java 8 を導入してください。

「Start_Programs/Mac_i386-32_x86-64/」の「acslaunch_mac」は、サポート切れの Java 6 の導入を確認します。
「acslaunch_mac」で起動したい場合、ターミナルから下記のように Java 6 の導入チェックを回避してください。

```
sudo mkdir -p /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
sudo mkdir -p /System/Library/Java/Support/Deploy.bundle
```

導入先は、 Applications フォルダーです。

# 初めての対話型導入
ACS の構成は AcsConfig.properties に設定されます。
初めての対話型導入では、どのように構成をしたらいいかが聞かれ、その情報が AcsConfig.properties に保管されます。

5250 エミュレーターを使いますか？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/de46348c-eb58-d9f6-ff62-9d4792ebc1a8.png)


ACS を既存の 5250 セッションのデフォルトプログラムにしますか？
ここで**「はい」を選ぶとPcomm や Access for Windows用の「.ws」ファイルが ACS に関連付けられます**。とPcomm や Access for Windows と ACS を共存させる場合は「いいえ」をお勧めします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/c9e6054c-5f09-4ee4-e74a-69ff14f06726.png)

プリンターの出力を表示しますか?
プリンターセッションを使うかではなく、スプールのビュアーを使うかの指定です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/7fe4f477-5fe8-84eb-a692-ee08e59b05da.png)

プリンターの出力のビュアーで、全ユーザーの出力を表示させますか?
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/8b5540d4-5091-fce9-1230-e5f56ea54099.png)

IFS を操作しますか?
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/a16b74a1-677d-4ffc-78e6-7f9ac0ef4c8a.png)

スプレッドシート(Excel や Apache OpenOffice・LibreOffice)との間でデータ転送をしますか?
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/deb20b3b-0c5e-0314-3797-0a17746b21c6.png)

Navigator i を(ACSから)使いますか?
ACS で選択すると Navigator i をブラウザーで開きます。停止していても、自動開始します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/608cbd8b-cd36-9000-5649-7d6e0ff6eb84.png)

SSL/TLS の証明書管理は必要ですか?
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/1a60b2ad-e8eb-029a-b1b3-d80cb4618c8e.png)

データベースの管理ツールは必要ですか?
SQLスクリプトの実行をはじめ DB オブジェクト・DB パフォーマンス管理のツールが利用できるようになります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/05a3d1fc-3d63-50d1-f5c5-21b1ed2715df.png)

HMC や LAN でのコンソール機能が必要ですか?
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/e61a61b5-2326-65fb-a0cd-470558ab84b6.png)

リモートコマンドが必要ですか?
PC から IBM i のコマンドが実行できるようになります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/9dd02d28-adfd-3240-fa3c-83958fe7b974.png)

システムデバッガーが必要ですか?
PC からで IBM i 上のプログラムをリモートデバッグします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/070fbb8a-1047-5186-a38b-00272d5e3899.png)

デスクトップに ACS のショートカット・アイコンを作りますか?
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/b1775019-572f-6dee-434f-bd3f77d31a2d.png)

これで、しばらく待ちます。ファイルのコピーが始まります。

ファイヤーウォールの許可を求められる場合がありますので許可します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/8a929d01-a1c9-d6a5-04ec-86b38a305a1f.png)

ショートカット・アイコンを作るように指示した場合、作成されます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/3e37ec91-da46-08e1-ea3a-470f8a13204a.png)

最後に完了のメッセージが出るので「OK」をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/28641951-562d-ad0b-239a-6e200efbd401.png)


今回は Windows の現行ユーザー用導入だったので「\Users\[user_id]\IBM\ClientSolutions\」に導入されました。
zip を展開したファイル群がそのままコピーされています。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/184930/a9f0dcad-40ea-432c-471c-8f5622e837d2.png)

# 更新
新しいバージョンが出て更新する場合、導入したものとの同じスクリプトを実行してください。
宛先に  AcsConfig.properties がある事を確認し、質問をしないでファイルの上書きコピーを実施します。

***
「All About ACS」では IBM i に対する新しいクライアント「IBM i Access Client Solutions」の情報をいろいろ提供していきます。
[記事一覧はこちら](http://qiita.com/6onoda/items/2dc925586d8d3b8644f2)(つまりこのページ)で確認いたけます。

許可の無い転載を禁じます。
この記事は筆者の個人的な責任で無保証で提供しています。
当記事に関してIBMやビジネスパートナーに問い合わせることは、固くお断りします。
***