Windows XPとCorelDRAW 10 その6

補足

補足1: 仮想メモリファイルの作成先

さて、本記事の3ページ目でCorelDRAW 10が仮想メモリファイルを作成するフォルダの特定方法を解説する――などといらぬ約束をしてしまったため、未だ筆を折ることができません。最後にこの案件を片付けて、まとめとしましょう。

人の話を聞く前に、「なんだそんなこと、「オプション」ダイアログを見ればわかることじゃないか」と早合点される読者の方もいらっしゃるかもしれません。たしかに、「オプション」ダイアログの「作業領域」-「メモリ」パネルには「スワップ ディスク」の項目があり、ドライブを2ヶ所設定できるようになっています。

「スワップ ディスク」こそ、仮想メモリファイルを作成するディスクドライブを指しています。Cドライブひとつのみの環境では試すことができませんが、仮にDドライブがある場合、

  1. 「プライマリ ディスク」「セカンダリ ディスク」双方に「D:\」を指定しCorelDRAW 10を終了
  2. DドライブのルートフォルダでPower User「A」に変更アクセス許可を付与
  3. CドライブのルートフォルダでPower User「A」から変更アクセス許可を剥奪
  4. Power User「A」でログオンしCorelDRAW 10を起動

という実験を、暇があれば試してみてもいいでしょう。本記事の解説が正しければ、CorelDRAW 10が正しく起動するはずなのですが、たぶん仮想メモリファイルが作成できずに、強制終了させられるはずです。

もちろん、私の解説に間違いがあるわけではありません。ではなぜ、「オプション」ダイアログでDドライブを明示したのに、エラーが起きるのでしょうか? 答は簡単、引き続きCドライブに仮想メモリファイルが作成されているからです。ということは、「オプション」ダイアログの設定が嘘をついているのでしょうか? CorelDRAW 10の同志であるPHOTO-PAINT 10では、同様の設定がやはり「オプション」ダイアログにあり、そこで指定したスワップディスクに仮想メモリファイルが作成されます。

こちらの場合は、上記の実験と同様に「C:\」を「D:\」に変更しても、問題なくPHOTO-PAINT 10を起動させることができます。

「CorelDRAW 10のバグか!」と、つまらない騒ぎが起きる前に種明かしをすると、CorelDRAW 10の「スワップ ディスク」は、作業中の文書内に含まれるビットマップ画像専用の仮想メモリなのです。「オプション」ダイアログでの設定を記録している「CorelDRAW.ini」ファイル(「Documents and Settings\(ユーザー名)\Application Data\Corel\CorelDRAW10\(作業領域名)」フォルダ在中)の中身を見ると、スワップ ディスクは[Bitmap Tile Manager]という項目の[TileMgrPrimeDisk=]および[TileMgrSecDisk=]という値に該当することが判ります(技術資料があるわけではなく、日頃の探究心から判るのですが...。CorelDRAWを愛する者の“心の目”ですね)。項目名から推察すると、この仮想メモリはCorelDRAW 10内部で生成される「テクスチャ塗りつぶし」などのビットマップ要素と、密接な関係にあるようです。そして、この設定とは別の仮想メモリファイルが、CorelDRAW 10起動時に生成されています。つまり、CorelDRAW 10の仮想メモリは2本立てであり、ドライブを指定できるのはビットマップ専用のものだけ、ということになります。では、もう一方の仮想メモリはどこに作成されるのでしょうか? Cドライブに固定? それともWindowsが入っているドライブに固定?

もう一方の仮想メモリも、作成先を「固定」されているわけではありません。たとえば私の環境では、Gドライブに出現します。そして新しく作成したユーザーの場合は、Windowsが入っているドライブ(一般的にはCドライブ)に作成されます。私の環境では、Windowsが入っているのはDドライブなので、新規ユーザーはDドライブに作成されますが、普段使っているユーザーではGドライブに“設定”してあります。

いやぁ、ややこしいですね。しかし、Gドライブに設定した――ということは、やはり私が答を知っていることを暗示しています。では、真相を明らかにしましょう。

  • CorelDRAW 10の仮想メモリファイルは、Windowsがそのユーザーに用意している一時ファイル保管フォルダ(「Temp」フォルダ)のあるドライブの、ルートフォルダに作成される

というわけです。CorelDRAWに限らず、ほとんどのアプリケーションは動作中に一時ファイル(「.tmp」ファイル)を作成します。こうした一時ファイルは、仮想メモリだけでなく、操作の「元に戻す/やり直し」などにも使用されています。そして、Windows 2000やWindows XPでは、一時ファイルを作成する「Temp」フォルダを各ユーザーごとに用意しています。「各ユーザーごと」といえばもうお判りでしょう。この「Temp」フォルダも、

  • 「Documents and Settings\(ユーザー名)\Local Settings\Temp」

に格納されています。「Documents and Settings」はWindowsを入れたドライブに作成されますから、それがCドライブであれば、必然的に「Temp」フォルダもCドライブに存在し、なおかつCorelDRAW 10が仮想メモリファイルを作成するのもCドライブのルートフォルダ――と風が吹けば桶屋が儲かるといった具合に、決まっていくのです。

補足2: Tempフォルダの移動

そうなると、この「Temp」フォルダを別のドライブに移動すれば、CorelDRAW 10が仮想メモリファイルを置くドライブも変更できることになります。「Temp」フォルダの大元である「Documents and Settings」自体を動かせなくもないのですが、ここは比較的簡単な「Temp」フォルダのみを変更する方法を紹介しましょう。もちろん、移動先の「Temp」フォルダには、使用するユーザーに「変更」もしくは「フルコントロール」のアクセス許可が、サブフォルダにも継承されるように設定されていなければなりません。そのうえで、「Temp」フォルダは「環境変数」という情報を使って設定します。

  1. 管理者ユーザーでWindowsにログオン
  2. 移動先の「Temp」フォルダを作成(例:Dドライブに「Temp」というフォルダ[D:\Temp]を作成します)
  3. 「Temp」フォルダ上を右クリック、表示されたコンテキストメニューから「プロパティ」をクリックし「Tempのプロパティ」ダイアログを開く
  4. 「セキュリティ」タブをクリック
  5. 「追加」ボタンをクリック、「ユーザーまたはグループの選択」ダイアログを開く
  6. 「OK」をクリック、「Tempのプロパティ」ダイアログに戻る
  7. 「選択するオブジェクト名を入力してください」に使用するユーザー名(例: 「User002」とします)を入力
  8. 「User002のアクセス許可」で「フルコントロール」の「許可」チェックボックスをクリックしてチェック
  9. 「OK」をクリック、ダイアログを閉じる
  10. 管理者ユーザーでWindowsをログオフ
  11. User002でWindowsにログオン
  12. Windows「スタート」ボタンをクリック、「スタートメニュー」を開く
  13. 「マイ コンピュータ」を右クリック、コンテキストメニューを表示
  14. メニューから「プロパティ」をクリック、「システムのプロパティ」ダイアログを開く
  15. 「詳細設定」タブをクリック
  16. 「環境変数」ボタンをクリック、「環境変数」ダイアログを開く
  17. 「User002のユーザー環境変数」の「変数」に表示されている[TEMP]をクリックして選択
  18. 「編集」ボタンをクリック、「ユーザー変数の編集」ダイアログを開く
  19. 「変数値」ボックスに[D:\Temp]と入力(ユーザー用に作成した「Temp」フォルダの位置を入力します)
  20. 「OK」ボタンをクリック、「環境変数」ダイアログに戻る
  21. 「User002のユーザー環境変数」の「変数」に表示されている[TMP]をクリックして選択
  22. 「編集」ボタンをクリック、「ユーザー変数の編集」ダイアログを開く
  23. 「変数値」ボックスに[D:\Temp]と入力
  24. 「OK」ボタンをクリック、「環境変数」ダイアログに戻る
  25. 「OK」ボタンをクリック、「システムのプロパティ」ダイアログに戻る
  26. 「OK」ボタンをクリック、「システムのプロパティ」ダイアログを閉じる
  27. User002でWindowsにログオフ
  28. 再度User002でWindowsにログオン

以上の操作で、該当ユーザーの「Temp」フォルダの設定は、CドライブからDドライブへ移動します。そしてCorelDRAW 10を起動すると、ビットマップ画像専用を除く仮想メモリファイルは、Dドライブのルートフォルダに作成されるようになります。

なお、「移動」といっても、Cドライブにあったフォルダやそのサブフォルダ、ファイル自体がDへ移動するわけではありません。「あなたのTempフォルダはここですよ」という情報だけが移動し、再ログオン後に指定したフォルダが「Temp」フォルダとして利用されるようになる――ということです。

まとめ

このように、Windows XPのセキュリティ設定に関する知識がある程度あれば、レガシーアプリケーションでもほぼ問題なく「制限」ユーザーもしくは「Power User」で動作させることができます。

Windows XPのセキュリティは、NTFS形式でフォーマットされたドライブを前提にしているので、FAT32形式でフォーマットされたドライブを使用している場合は、これまで説明してきたような問題は発生しません。CorelDRAW 10の(当時の)発売元であるメディアヴィジョン社が、Windows 2000上でもFAT32ドライブを勧めているのは、こうしたセキュリティ関連のサポートを避けたいからでしょう。

同社がCorelDRAW 10のWindows XP上での動作確認を「×」などとしていたのも、同様の理由だと思われます。もちろん、そうした判断に一理あるともいえるでしょう。なぜなら、Windows XPのセキュリティに関するサポートは、マイクロソフト社の管轄であって、他社としては「それはマイクロソフトに聞いてくれ」と言うしかありません。もしくは、そこら辺のトラブルを避けるため、いっそのこと「NTFSを使うな」「Windows XPでは動かない」と言ってしまった方が簡単でしょう。さらにこれがWindows XP Homeでの動作になると、セキュリティ設定の手足が縛られています。私がサポート要員だったら、ここまでのような説明をクドクド電話越しにしてもどうせ伝わりっこないと諦めて、「XP Homeでは管理者ユーザーで使いましょう」とこっそり耳打ちするか、いっそのこと「C.D.R.サイトを見てください」と呟くことでしょう。

まあ、そんなわけで、メディアヴィジョンのお墨付きも、Corel本社の家紋が入った印籠もない、非公式サイト(“非公然”に似ているが同一ではない)である我が「C.D.R.」ですから、「動作保証」なんて言葉を口から滑らすわけにはいきません。しかし、すくなくともWindows XP Professional であれば、CorelDRAW 10 Graphics Suiteの動作について、当サイトは太鼓判を押します。いやはや、日本語は便利ですね。

とはいえ、既にCorelDRAW 10も過去の製品です。OSのほうも、Windows Vistaの発売が近づいています。これからは、やはり「VistaでCorelDRAW X3」が、当然のことになるでしょう。


記事内のナビゲーション
記事中の各見出しは、クリックすると「目次」(Contents)に戻ることができます。「目次」の各項目は、クリックすると記事内の見出しに移動できます。
目次とそのリンクは、JavaScriptによって自動的に生成しているため、JavaScriptを無効にしている場合、機能しなくなります。