我輩はブロガーではない。ネタもまだない

SASとかDelphiあたりの人様の役に立たないネタを提供します

Windows10に32bit版SASと64bit版SASを同居させる

Windows10から、WindowsSASの対応バージョンはSAS9.4のみとなり、SAS9.3はまもなくEOLを迎えるWindows7およびWindows8.1のみとなっています。(Windows Serverは除く。詳しくはコチラ
サポートしているオペレーティングシステム環境:Windows


自分としては、業務で顧客向けのアプリケーションを作成している関係上、常に32bit環境と64bit環境が必要であり、Windows8.1でSAS9.3 32bit版+SAS9.4 64bit版という組み合わせで使用していたので、Windows10がSAS9.3 をサポートしないのは結構痛手でした。
(複数バージョンの共存については コチラにReleaseがあります)

同じバージョンの異なるbit用SASの共存については、SASから「方法がない」と言われていたため、PCを2台用意したり、仮想環境を構築してリモートデスクトップで、という方法も検討したのですが、やっぱり画面を切り替えながらやるのは面倒ですし、さらに、32bit→64bitのcport/cimportが一発でできない、というのが非常にネック。


というわけで、Windows10にSAS9.4の32bit版と64bit版をインストールしてみたので、その方法と注意点をまとめておきます。
注:これはSASのサポート外の操作なので、試す場合には自己責任でお願いします。解析結果が違うとか言われても責任持てません。





1.SASのインストールディスクもしくはSoftwareDepotを用意します。
この時、必ずRevisionまで同一のものを用意します。
もし異なると、インストール時に以下のようなメッセージが表示されます。
f:id:japelin:20181105140615p:plain
 

注意したいのは、いわゆるメンテナンスリリース(TS1M5の「5」に該当するもの)のバージョンだけでなく、さらに下位のバージョンを統一(より上位であればOKなのかは不明)する必要がある、ということです。

私がもともと使用していたSAS9.4 64bit版はTS1M5Bでした。
新しく入手したSAS9.4 32bit版はTS1M5Cだったため、TS1M5Cインストール後にTS1M5Bをインストールしようとして表示されたわけです。

なお、このRevision情報は、配布メディアには「Rev. 940_XXwYY」のように表示されており、上記のBとかCとかいう表示は(多分)どこにも出てきません。困ったもんです。


2.もしSASをインストール済みであれば、一度アンインストールしておいたほうがいいです。
CCleaner等で関連するレジストリも全て削除します。
ファイルが残っていたりすると、最後の最後、インストールの後処理でエラーが起きる場合があります。


3.ここまでできれば後はいつも通りインストールするだけです。
最初にSAS9.4 32bit版をインストールしたあと、SAS9.4 64bit版をインストールします。
(逆は試したことがない)


4.インストール完了後、32bit版のSAS構成ファイル
"C:\Program Files\SASHome2\x86\SASFoundation\9.4\nls\ja\sasv9.cfg"
を開いて以下を編集します。

-SASUSER "?FOLDERID_Documents\My SAS Files\9.4"
↓
-SASUSER "?FOLDERID_Documents\My SAS Files(32)\9.4"

SASUSERが64bit版と同じフォルダになっているため、起動時にプロファイルカタログが読めず、毎回毎回SASを二重起動したのと同じ状態になります。(以下のログが吐かれる)

NOTE: SASUSER.REGSTRYをオープンできません。代わりに、
NOTE: WORK.REGSTRYをオープンします。
NOTE: セッション終了時に、レジストリの変更はすべて失われます。
WARNING: SASUSERレジストリをWORKレジストリにコピーできませんでした。
WARNING: このセッション中のレジストリのカスタマイズはできません。
NOTE: SASUSER.PROFILEをオープンできません。代わりに、
NOTE: WORK.PROFILEをオープンします。
NOTE: セッション終了時に、プロファイルの変更はすべて失われます。


更に私は、起動用ショートカットのパスに-RSASUSERを付けて、SASをいくつ起動しても上記のNOTE, WARNINGが表示されないようにしています。(-RSASUSERのRはReadの略。このセッションでは設定を変更しても保存されない点に注意)