環境変数によって生じる不具合を調整する
About
RAMDiskの導入などによってシステムの環境変数を変更する場合がある。そうした中で複数のアプリケーションが影響することでシステムおよび環境変数に不具合が生じる場合がある。ここでは著者の環境下で生じた不具合の一例を解決する。
生じた不具合
原因は不明であるが次のような不具合が生じた。まず環境変数に正しいパスを設定して書き換えているにもかかわらず、参照先が修正されない不具合である。この時、設定していた環境変数は「ユーザ環境変数」および「システム環境変数」である。この不具合は初期値にしても、変更したものにしても生じていた。また通常ではありえない、「¥(円マーク)」がついたディレクトリが生成される現象が生じていた。そのようなディレクトリは、環境変数に設定したディレクトリの1つ上の階層に生成されていた。つまり、ファイルパスにおいて階層を示す¥マークが正しく処理されず、ディレクトリ名として受理されていたことになる。
繰り返すがこの不具合は環境変数を正しく書き換えるだけでは修正されなかった。
上記不具合の修正方法
上記の不具合を修正するには、一度環境変数を削除し、新規に追加した後、デフォルトの値を与えることで解決を確認した。一度解決した後は値を変更しても正しく動作することを確認している。
不具合の原因
原因はよくわかっていない。インストールの段階でユーザの環境変数「TEMP,TMP」やシステムの環境変数「TEMP,TMP」を参照するソフトウェアがインストールに失敗するために、それを修正しようとしたところ、このような不具合が生じたものと思われるが定かではない(直前まで動作していたため)。正確なトリガーは不明であるが、環境変数を書き換えてもそれが正しく動作しない場合、一度削除してから同名の環境変数を設定することで解決を見る可能性があるので参考にされたい。