あなたがしていることによっては、あなたは苦痛の世界に陥るかもしれません. これらの質問のいずれにも明確な答えはありませんが、現在同じ問題を抱えている人から、私が知っていることは次のとおりです.
1) アプリケーション データまたはユーザーの保存ファイルはどこに保存すればよいですか?
これは、何をしたいかによって異なります。ユーザーごとに保存する場合は Users/AppData に保存し、すべてのユーザーに保存する場合は Common/AppData に保存します。
If SHGetFolderPath(0, CSIDL_COMMON_APPDATA, -1, SHGFP_TYPE_CURRENT, sTempPath) = 0 Then
sCommonAppdata = Left$(sTempPath, InStr(1, sTempPath, Chr(0)) - 1) & "CompanyName\AppName"
End If
これを、Users AppData ディレクトリの CSIDL_APPDATA に変更します。注: これらは、XP と Vista ではファイル システム上のまったく異なる場所にマップされるため、デバッグ時には別の場所を参照する準備をしてください。
2) そこにもフォルダやファイルを作成する権限が必要ですか?
Program Files に何かを書き込むには管理者アクセスが必要です。現在、Program Files 内のファイルに対する VB 用 API と標準 API の動作が異なるという問題が発生しています。
3) 問題を引き起こす他の一般的なアクションは何ですか?
隠れた落とし穴がたくさんあります。ほんの数例を挙げると、IPC または名前付きパイプを介して他のアプリケーションと通信することはできません (トレイ通知アイコンを介して通信していたサービスがあり、完全に書き直す必要がありました)。UAC 通知が表示された場合は、非常に困難です。また、管理者なしでは LOCAL_MACHINE のレジストリに書き込むことはできないため、LOCAL_USER に固執するか、資格情報を取得する必要があります (以下を参照)。
4) プログラムには、ファイルをダウンロードして登録する必要があるアップデーターがあります。
これで頑張ってください。私が言ったように、VB6 で記述しないことを強くお勧めします。VB6 ファイル API は、標準 API とは異なる方法でファイルにアクセスするようです。特権を昇格する必要がある場合は、誰かが親切に助けてくれたこの投稿を参照してください。