私は「自動アップグレード」メカニズムを持っていますが、これはWindows XPで長年機能しており、Windows 7では失敗します。これは、ユーザー(Windows XPでは存在しなかった)に管理者権限で実行する権限を付与するよう求めるプロンプトが表示されるためです。表示されません。
win32プログラム(Borland Delphiで記述)は、LogonUser()およびImpersonateLoggedOnUser()を使用して、ユーザー(管理者権限を持つローカルアカウント)になりすまし、ProgramFilesフォルダー内の選択したファイルを置き換えることができます。
このユーザーアカウントを使用してWindows7に手動でログオンし、プログラムファイルフォルダー内のファイルを削除しようとすると、Windows 7は、プログラムの続行を許可する許可を求めます。許可を与えると、ファイルは削除されます。許可を拒否すると、 「アクセス拒否」が報告され、削除は許可されません。
上記と同じことを試みると、「アクセスが拒否されました」は、ユーザーにプロンプトが表示されない結果になります。
私は同様の質問で(一時ファイルの作成に関して(与えられた答えの主な目的は非常に正しく「しないでください」)、そのようなプロンプトを「コードで」発生させることができることを確認しましたが、どこにあるのかわかりませんその方法は実際に説明されています。