Windows Vista の VirtualStoreファイルについて

Windows XPまでは、一般ユーザーは設定を変更する事ができず、管理者のみが設定を行い、管理者が行った設定を、一般ユーザーは利用する事ができるという、設定を共有していました。

CASAでは、BDE の設定が該当します。

Windows 95/98/Me/NT/2000/XPは設定を共有する
Windows 95/98/Me/NT/2000/XP

Windows Vistaからは、一般ユーザーの権限で設定を行うと、仮想の設定ファイルや、レジストリに、そのユーザー用の設定が作られます。

ただし、そのユーザーの仮想ファイルや、仮想レジストリがなければ、今まで通りに、管理者が行った設定を共有する事になります。

Windows Vistaでは、仮想設定ファイルが無い場合に、設定を共有する
Windows Vista

CASAとVirtualStoreの関係

CASAではBDEの設定が、このファイル/レジストリの仮想化に関係すると書きましたが、 これについて、詳しく説明します。

UACのイメージ図

Windows Vistaでは「ユーザーアカウント制御 ( UAC )」という機能が追加されました。

これは、Administrator でログオンしていても、通常の操作は 一般 User として処理を行います。そして、管理者の権限が必要なファイルやレジストリにアクセスする際に、確認の画面が表示されます。これに「続行」または「許可」する事で、管理者権限として処理を行うようになります。

  1. 右の図を例にすると、Windows VistaへAdministratorとしてログオンします。
  2. ログイン直後は、一般ユーザーとして、振舞います。
  3. 処理を行う際に、その操作に「管理者権限」が必要な場合には、許可を得た後に管理者として操作を実行します。
  4. 「管理者権限」の必要な処理が終了すると、再び一般ユーザーとして振舞います。

管理者の権限が必要なケースは、Windowsが判断するケースもありますが、コンピュータを操作するユーザーが、判断しなければならないケースもあります。BDEの設定は後者になります。

この場合には、そのファイルのプロパティの互換性タブで、「管理者として実行」項目にチェックしておくと、毎回管理者として実行します。一時的に管理者として実行したい場合には、アイコンを右クリックすると、「管理者として実行」というメニューがあるので、これをクリックすると、今回のみ「管理者として実行」します。

一般ユーザーのまま、BDEの設定を行うと

Windows VistaでBDE Administratorを「管理者として実行」せず、一般ユーザーのまま実行すると、設定を更新する際にフリーズします。

フリーズして、表面上は正常に設定が終了しませんが、更新した設定は仮想ファイルに保存されます。

仮想ファイルに設定が保存されてしまうと、仮想ファイルを削除するまで、その設定が有効になります。

つまり、通常は一般ユーザーとしてCASAを利用するので、その際のBDE設定は仮想ファイルから読まれることになります。ただし、CASAを「管理者として実行」した場合には、管理者が行った設定が利用されます。

これは、データベースの参照先がユーザーごとに違ってしまう可能性を示しています。つまり、一般ユーザーで利用する際には、サーバーの共有データベースを参照し、「管理者として実行」すると、ローカルのデータベースを参照するような事が起こる恐れがあります。

このような問題が発生した場合には、一般ユーザーの仮想ファイルを削除する事で、本来の設定を利世売る事ができます。

仮想ファイルの削除方法

仮想ファイルが保存されるフォルダは、隠しファイル属性が付いていますので、スタートメニューのコンピューター - 「整理 - フォルダと検索のオプション - 表示 - すべてのファイルとフォルダを表示する」の設定を行います。

次に、スタートメニューのコンピュータ - ユーザー - [ ユーザー名 ] - AppData - Local - VirtualStore - Program Files - Common Files - Borland Shared - BDE - idapi32.cfg というファイルを削除します。

このidapi32.cfgがBDEの設定ファイルです。このファイルを削除する事により、一般ユーザーは再び、C:\Program Files\Common Files\Borland Shared\BDE\idapi32.cfgという管理者権限で行った設定を利用するようになります。

よくわからない場合には、ワンクリックで簡単に対象を削除するツールを無料公 開しています。こちらをご利用ください。