UAC関連、データファイル置き場がさっぱりわからん

苦し紛れのメモ:

  • セットアップファイルは「管理者として実行」が必須。関連づけ(レジストリ登録)があるため。
  • セットアップファイルは「マイドキュメント」にデータファイルを配置する。
    • このときのマイドキュメントは「管理ユーザのマイドキュメント」フォルダになる。
  • アプリケーションの実行ファイルは「マイドキュメント」からデータファイルを探す。
    • このときのマイドキュメントは「一般ユーザのマイドキュメント」フォルダになる。
    • そのため、マイドキュメントにデータファイルが存在しない。

アプローチ:

  • セットアップファイルは「マイドキュメント」にデータファイルを配置しない。
    • アプリケーションが「マイドキュメント」にデータファイルを配置しなおす。
    • database.pssdb7 はこの方針で配置していた。
  • いっそのことアプリケーションも「管理者として実行」必須としちゃう。

1/31c版はとりあえず後者のアプローチにしたが、一般ユーザで実行できないという意味ではあり得ないし、互換性という意味でも「一般ユーザのマイドキュメントに置いていたファイルは参照できない」という意味であり得ない。

前者のアプローチではアプリケーションとしてデータファイルのコピーを実装しなきゃいけないので大変面倒。

あーめんどくさい。めんどくさいのでPSSの開発やめていいですか?(なかば真面目に)