XP と Vista の間で "CryptUnprotectData" (Crypt32.dll から公開) に対して同じ呼び出しを使用しています。XPでは問題なく動作します。Vista で実行すると、次の例外が発生します。
"Decryption failed. Key not valid for use in specified state."
予想どおり、crypt32.dll のバージョンは XP と Vista で異なります (SP3 またはその他の更新の結果として、実際には XP の方が新しいバージョンになっています)。
より具体的には、データを暗号化してレジストリに入れ、「CryptUnprotectData」を使用して読み取りと復号化を行っています。UAC がオフになっています。
これを前に見た人はいますか?