Programs Fileフォルダの変更
さて、CorelDRAW 10を実行すると、意味不明なダイアログは姿を消し、起動プロセスが動作し始めます。やった、と手放しで喜べるのも束の間、すぐに(英語版であれば下図のような)警告ダイアログが表示されます。
「corelapp.ini」ファイルが無効であるとのことです。ここで「OK」をクリックしCorelDRAWを起動したとしても、カラーパレットが表示されないなどの障害が発生します(図下)。
前ページの意味深長な文末が暗示しているように、実はルートフォルダへの「変更」アクセス権を許可しただけでは、CorelDRAW 10は正常に動作しません。
つまり、前頁までの解説は、ただの詐欺だったのでしょうか? やはり「XP」ロゴが付いていない製品は、管理者として使うしかないのでしょうか? それとも機能ダウンを覚悟してESSENTIALSを買うか、CorelDRAW 11の登場を待つしかないのでしょうか?
しかし、賢明かつ当サイトの熱心な読者諸氏であれば、もしくは「Custom Directry」という短い警告の文面から、謎を解き真実に近づくことができるでしょう。
「Program Files」フォルダの設定 その1
CorelDRAW 10 設定ファイルのアクセス権
そう、「corelapp.ini」は重要なキーワードなのです。このファイルは、いったいどこにあるのでしょうか? それは、「Program Files\Corel\Graphics10\Config」フォルダです。また、「Custom」というフォルダも、「Program Files\Corel\Graphics10\Custom」に存在します。
ちなみに、Windows以前のOSである「MS-DOS」の時代には、現在のフォルダのことを「ディレクトリ」と呼んでいました。OSがグラフィカルインターフェイスを持ち、アイコンでディレクトリを表現するようになってから、フォルダという「愛称」が使われるようになったのです。
余談はここまでとして、この警告とこれまでの解説から、「corelapp.ini」ファイルや「Custom」フォルダのアクセス権に問題があるのでは、という推理が成立するのは時間の問題でしょう。それでは、「corelapp.ini」ファイルを右クリックし、コンテキストメニューから「プロパティ」をクリックしてダイアログを開いてみましょう。ファイルのプロパティにも「セキュリティ」タブがあり、個々のファイルに設定されたアクセス権を確認/編集することができます。
その結果は一目瞭然(図上)、「制限」ユーザーグループには「読み取りと実行」「読み取り」しか許可されていない、リードオンリー状態になっています。
では「corelapp.ini」ファイルとは何なのでしょうか? このファイルには、CorelDRAW Graphics Suite全般に関わる設定が記録されています。そして、その内容はCorelDRAW等が読み込めるだけでなく、変更ができるようになっていなければなりません。また、「Custom」フォルダにはカラーパレットのほか、ブラシや塗りつぶし用画像などが保管されています。こちらも書き込みや変更ができなければならないのですが、「制限」ユーザーグループには「読み取りと実行」「フォルダ内容の一覧表示」「読み取り」しか許可されていません。
アプリケーションを操作したときに変更された設定は、作成したユーザーごとに保管されることがWindows XPの基本になっています。こうした設定は、「Documents and Settings」というフォルダ以下にある、各ユーザー名を冠したフォルダに保存されます。当然、このフォルダとサブフォルダ、そしてファイルには、各ユーザーごとに「フルコントロール」アクセス権が与えられています。CorelDRAW 10の場合も、「作業領域」の設定は
- 「Documents and Settings\(ユーザー名)\Application Data\Corel\CorelDRAW10」
- 「Documents and Settings\(ユーザー名)\Application Data\Corel\Corel PHOTO-PAINT10」
- 「Documents and Settings\(ユーザー名)\Application Data\Corel\Corel R.A.V.E.10」
といったフォルダに保管され、各ユーザーが変更を保存できるようになっています。
しかし、アプリケーション操作によって変更の必要がある一部のファイルが、「Documents and Settings」の各ユーザー別フォルダに保管される仕様にはなっていないため、「制限」ユーザーでは正常に動作させることができず、CorelDRAW 10(それ以下のバージョンも含む)はレガシーアプリケーションの烙印を押されてしまうのです。
「Program Files」フォルダのアクセス権
さて、「corelapp.ini」ファイルや「Custom」フォルダのアクセス権は、許可されていることを確認はできるものの、チェックマークは淡色表示になっています。これは、アクセス権がそのファイルやフォルダへ個別に設定されたものではなく、上位のフォルダから継承されていることを示しています。では、源流はどこにあるのでしょうか? 上流を目指しCorelDRAW 10がインストールされている「Graphics10」フォルダ、その上の「Corel」フォルダと遡っていくと、さらにそのひとつ上にある「Program Files」フォルダに辿り着きます。
この「Program Files」フォルダのセキュリティを調べてみると、主要なアクセス権は次のとおりに許可されています。
- Administrator(��理者): フルコントロール
- Power Users: 変更
- Users(制限ユーザー): 読み取りと実行/フォルダ内容の一覧表示/読み取り
そうです、このフォルダが「制限」ユーザーに変更を許していないからこそ、そこへセットアップされるアプリケーションの各フォルダにも、同様のアクセス制限がなされるのです。
ほとんどのアプリケーションは、初期設定で「Program Files」フォルダの下にサブフォルダを作成して、自らをインストールします。では、その重要なフォルダに、なぜ「制限」ユーザーは変更が認められないのでしょうか? これは、Windows XPのセキュリティ管理のポリシーが反映されています。アプリケーション本体のような、重要なプログラムは読み取り専用にして、実行時に必要とされる一時ファイルや、各ユーザーの設定を記録する部分は、プログラムを実行しているユーザー専用のフォルダに保存する――これが、Windows XPのポリシーです。「Windows XP」ロゴ認定アプリケーションであれば、先に解説した「Documents and Settings」以下の各ユーザー専用フォルダに、実行時に変更が必要になるすべてのファイルを格納しなければなりません。そうでなければ、レガシーアプリケーションということになります。
Windws 2000との違い
さて、ここで旧Windows 2000ユーザーであれば、ふと疑問に思うことがあるでしょう。Windows 2000であれば、通常のユーザーであっても、CorelDRAWが使えたはずだと。そのヒミツは、「Program Files」フォルダに設定されている「Power Users」というグループの、「変更」アクセス権にあります。
Windows 2000の「ユーザーアカウント」で作成する通常のユーザーは、「Users」ではなく「Power Users」グループに所属していました。Power Userには、「Program Files」フォルダへの変更許可のほか、プリンタの管理権などが認められています。ですから、CorelDRAW 10やそれ以下のバージョンをWindows 2000(もしくはWindows NT4.0)で使用する場合でも、Power User以上の権限で使用しなければなりません。しかし、通常のユーザーがこのPower Userだったので、それほど問題になりませんでした。
しかし、Windows XPの通常ユーザーは、「Users」に格下げされています。Windows XPでは、より厳密に「Program Files」と「Documents and Settings」の役割分担を規定することで、Usersによる通常使用を可能にし、ひいてはセキュリティの向上を図っているといえます。
とはいえ、これではレガシーアプリケーションは取り残されてしまいます。厳格なセキュリティは、天秤を安全性の方に傾けるため、反対側に乗っている「使い勝手」は損なわれます。もちろん、常に過去との互換性を大事にしてきたMicrosoft社のOSですから、その辺りはキチンと考慮されています。先に触れたように、Windows 2000からWindows XPへアップグレードした場合は、以前のアクセス権設定が各フォルダで維持されます。また、何気なく「Program Files」フォルダのセキュリティ・リストに忍び込ませておきましたが、Windows XPの初期設定でも、「Program Files」には「変更」を許可された「Power Users」が設定されています。
将来、すべてのアプリケーションが「Windows XP」ロゴを取得し、求められるセキュリティ・ポリシーに従って動作するようになるその日までは、レガシーアプリケーションをWindows XPで利用する場合、
- Windows 2000からアップグレードする
- 常に管理者ユーザーで使用する
- 各ユーザー毎に「Program Files」フォルダ以下への「変更」許可を与える
- 通常使用するユーザーを「Power User」に昇格させる
のいずれかを選ぶことになります。「1」「2」を選ぶ場合は、はじめからこの記事を読む必要はないので、対象から除外します。
では、はじめに「3」方法を考察してみましょう。
「Program Files」フォルダの設定 その2
「Program Files」へのアクセス権の追加
CorelDRAWだけでなく、すべてのレガシーアプリケーションが「制限」ユーザーでも動作するように設定するには、「Program Files」で「Users」に許可のアクセス権を与えればいいのですが、それはさすがにWindows XPのセキュリティ・ポリシーを大幅変更してしまうものなので、危険です。
そこで、「制限」ユーザーすべてではなく、特定のユーザー「User002」にだけ、「変更」を許可してみましょう。これは、ルートフォルダで行った設定と考え方は同じです。ただし、今回は「Program Files」以下のすべてのフォルダにアクセス権の変更を継承させるため、操作は簡単です。もちろん、ここからの「実演」もセキュリティ設定の変更です。私の真似をしてセキュリティを損ねても何ら保障や補償はありません。各自の自己責任で行ってください。
- 管理者ユーザーでWindowsにログオン
- [ ÿ ] + [E] キーを押してWindows Explorerを起動
- フォルダバーでCドライブ(※CドライブにWindowsが入っている場合)の[-]をクリック、フォルダツリーを展開
- 「Program Files」フォルダを右クリック、コンテキストメニューを表示
- メニューの「プロパティ」をクリック、「Program Filesのプロパティ」ダイアログを開く
- 「セキュリティ」タブをクリック
- 「追加」ボタンをクリック、「ユーザーまたはグループの選択」ダイアログを開く
- 「選択するオブジェクト名を入力してください」にユーザー名を入力
- 「OK」をクリック、「Program Filesのプロパティ」ダイアログに戻る
- 「User002のアクセス許可」で「変更」の「許可」チェックボックスをクリックしてチェック
- 「OK」をクリック、ダイアログを閉じる
ルートフォルダの場合はアクセス権を継承させないために、「詳細設定」を行う必要がありましたが、今回は継承が必要なため、これだけの操作で済みます。
そして「User002」でログオンし、CorelDRAW 10を実行してみると、今度は「corelapp.ini」に関する警告やカラーパレットの異常もなく正常に起動し、その後も問題なく使用できます。