2009 . 05 . 24

RainmeterをVista&7で利用するための必須事項

昨年、W2KからXPに移行した当方にとって、Vistaなど全く持って興味のない話ですが、ここ最近Vistaユーザーが触れてきた、もしくはVistaユーザーの新規Rainmeterユーザーが増えてきたせいか、Vista固有のトラブルを多く耳にするようになり、スキンをいろいろ作成して配布している当方としても他人事では済まされない状況になってきたました。

ちょうど最近Windows7のRC版がダウンロード可能になったこともあり、テスト環境を作っていろいろと試してみた結果をまとめてみました。


  • テスト環境はあくまでWindows7なのでVistaについては完全な言及はできないものの、少なくとも後述「UAC」に起因する不具合に関しては、ほぼ同様の動作をするものと考えてよいと思います。

はじめに

現在公開されているRainmeter(0.14+)はW2K/XP時代のもので、Vistaや7環境下での使用は想定されていません。

したがって、これらの環境下で使用するに当たっては、最低でも以下のことを実施して無用な問題を取り除いておくことが必要です。

予備知識

さて、RainmeterのVistaに対する不具合の多くは「UAC」に関連して起こる問題です。

UACについては以下のようなサイトで解説されているので、詳しくはこちらを参照してください。


Windows Vista でのユーザー アカウント制御の理解と設定

Windows Vista デベロッパー センター - セキュリティ

最小限の特権: アプリケーションで Windows Vista のユーザー アカウント制御を有効に活用する


「UAC」とは要はファイルの書き込みや変更の保護を行うもので、常に「Rainmeter.ini」を書き換えながら動作しているRainmeterもこれによって制限を受けるプログラムに該当します。

UACが有効の状態では、たとえ管理者であっても一般ユーザの権限しか与えられず、普通にRainmeterを起動すると一般ユーザーモードで起動されます。

そしてUACの書き込み保護が「Rainmeter.ini」働くのですが、単にブロックするわけではなく、書き換えたファイルを仮想フォルダにコピーして、以降そちらのファイルを読み込んで実行するようになります。

つまり本体とは別の所に設定ファイルが置かれることで、いろいろな支障が発生するようになるわけです。

考えられる対策

このようなトラブルを避けるためにも、現状では、Vistaあるいは7でRainmeterを実行する際には次のいずれかの方法を選択する必要があります。


その1: UACを無効にする
そもそも問題の原因であるUAC自体を無効化してしまう方法です。
その2: 「Program Files」内にインストールしない
UACは「Program Files」や「Windows」などシステムフォルダが対象とされるため、他のディレクトリにインストールしてしまえば、UACの弊害を受けずに済みます。
その3: 管理者モードで起動する
Rainmeterを管理者モードで起動することで、UACの書き込み保護を受けることがなくなります。
ショートカットのプロパティから設定を行うことで常に管理者として実行することができます。

その4: フォルダに権限を与える
Rainmeterフォルダに対してそのフォルダ以下のファイルやサブフォルダのフルコントロールのアクセス許可を与えることでファイルの書き込みができるようになります。
設定はRainmeterフォルダのプロパティからセキュリティタブを開いて「Users」のアクセス許可にフルコントロールを選択してやります。

考察

さて、UACを無効にする方法はセキュリティの観点からオススメできませんが、もっとも効果的であることはいうまでもありません。

利便性をとるか安全性をとるかということで判断してもらえればと思います。

なお、UACの無効化は検索すれば詳しい情報が容易に得らますので、そちらを参考にどうぞ。

次に、「Program Files」フォルダ以下にインストールする方法はUACを無効にしなくても行える簡単な手段の一つです。

しかし、流通しているスキンの中には「Program Files」にインストールされることを前提に作成されているものもあり、当然こういったスキンは正常動作しなくなる恐れがあります。

スキン製作者から見ても、ユーザーがどこにインストールするのか予測できない状況は困りものです。

次の管理者モードで起動する方法が、UAC環境下で行うべき定石と思われますが、一つ問題があります

管理者モードで起動するたびに下のような確認ダイアログが出るということです。

「管理者として起動」とは一時的に管理者権限を与えているだけで、たとえプロパティの設定によって常に管理者として起動ということにしてみても、このことは変わらずその都度ダイアログが表示されることになるでしょう。

おそらく最も無難ではないかと思われるのが、最後の方法で、Rainmeterフォルダに対してフルコントロールの権限を与えてやることです。

Rainmeterフォルダ以下にだけ一般ユーザーでもフルコントロールのアクセス権を与えてやることでUACを犠牲にせず、利便性と安全性を両立できる方法といえます。


さて、これまではあくまで管理者としてログインした上でのことで、あなたがもし一般ユーザーであるならば、上のどの方法も管理者パスワードが必要になってきますし、そもそもRainmeterのインストール自体もできないはずです。

その場合は、管理者に依頼してインストールやアクセス権を与えてもらう必要があるでしょう。

最後に

Rainmeterには現状で多くのバグが存在し、Vistaや7固有のバグがすべて上記の措置で解決できるわけではありませんが、最低限やっておくべきこととして参考にしてください。

追加情報

Rainmeter1.0のメジャーアップデートによって、上記のUACに起因する問題がほぼ解消されたため、最新版においては上記の処置に必要がなくなりました。