一般的には、Vistaや7では以下のようなUACの動作を行いますので、Program Filesフォルダへの書き込みには注意が必要です。
Windows Vista/7 のファイルの仮想化(Virtualization)について
http://pasofaq.jp/windows/vista/virtualstore.htm
どうしてもという事であれば、デフォルトではProgram Filesフォルダは管理者にも書き込みの権限はありませんが、Program Filesフォルダ配下のサブフォルダや、ProgramDataフォルダの中は管理者としてアクセスすれば書き込みが不可能ではありません。
またProgram Filesフォルダ配下のサブフォルダや、ProgramDataフォルダであれば、目的のフォルダのプロパティの[セキュリティ]タブでUsersに対してフルコントロールや書き込みの許可を与えれば管理者アクセスでなくても書き込めますが、実際にこれらのフォルダのセキュリティ設定を変更した場合の動作結果は保証しかねます(同様にUACを無効にして、管理者でログオンした場合にも当然書き込みは可能です)。
ただし、当然作成したアプリを配布した場合には配布先で同じ問題が起きるはずです。
私は開発者ではないので詳しくは分かりませんが、MicrosoftのUACに関する開発者のガイドラインなどに情報があるのではないかと思います。