HKCR配下のレジストリキーが勝手にコピーされる?
【vista対策】
http://pc10.2ch.net/test/read.cgi/tech/1162813293/312-313n
312 :デフォルトの名無しさん :2007/02/27(火) 00:32:42 MSが仕様だと言い張るので、Vistaのすばらしい機能を紹介します。 レジストリのHKEY_CURRENT_USERのキーを同一PC上のユーザにコピーする「機能」です。 (条件) ・実行ファイル名に"UPDATA"や"SETUP"などの文字を含む 例)MyUpdate.exe つまり、UACにひっかかるexeであること。 ・そのexeにmanifestをつけないこと。あってもいいけど、実行権限を指定しなければok。 (方法) ・そのexeの中で、HKCUのキーを書き込むだけでそのキーが全ユーザにコピーされます。 ・MFCアプリなら、CWinApp::GetProfileStringなどで、参照するだけでOK!ナイスすぎ。 しかも、書き込んだキーだけじゃなく、SetRegistryKeyで設定したグループ以下を 全部丸ごとコピーしてくれるから、とっても簡単! 通常は、会社名を設定するから、あなたの会社のソフトをまとめて面倒みてくれます。 microsoftをSetRegistryKeyにしたら・・・うは〜 ・書き込むって言ったけど、RegCreateKeyExをやっても、そのキーが丸ごとコピーされマス! (ただし) ・すでにキーが設定されていれば、上書きはされません。 キーが空だった場合のみ,ほかのユーザのHKCUのキーが新規で追加されます。 でも、普通デフォルト設定はキーを空にするよね。 ・コピーする内容がパスだった場合、ご親切にもパスのユーザー名の部分だけ置き換えてくれます。 たとえば、c:\User\papa\秘密.txt という文字列を書き込んだ場合は、ママのレジストリには c:\User\mama\秘密.txt と置き換えてコピーしてくれるんです!開発者のことよく考えてくれるね〜 このすごい機能は、RedirectHKCUKeysと言うらしいです。 これで、パパのクレジット番号だろうが、パスワードだろうが、ママがいちいち入力しなくても 親切にコピーしてくれるから、すごく便利だね! 一度おためしあれ。 313 :312:2007/02/27(火) 00:43:18 あ、ちょっと間違えました。 実行ファイル名に"UPDATA"や・・・ ↓ 実行ファイル名に"UPDATE"や・・・
動作確認はしてないけど、これちょっと酷いってか、ヤバイね。確かにインストーラを作る立場で見ればありがたい挙動ではあるんだけどねぇ。