私の Qt/C++/Windows プログラムは、可能であれば、UAC を呼び出さずにいくつかのファイルを削除できる必要があります。
そのため、ファイルが UAC なしで書き込めるかどうかを確認していますが、驚くべきことに (Linux ではそうではありません)、次の行です。
if (QFileInfo(targetPath + "/" + applicationFileName).isWritable()
&& QFileInfo(targetPath + "/").isWritable()) {
UAC検証なしで実行するとtrueを返しますが、それでも失敗し、プロセスモニターは次のように主張します:
Date & Time: 5/9/2012 9:09:16 AM
Event Class: File System
Operation: CreateFile
Result: ACCESS DENIED
Path: C:\Program Files (x86)\MyApp\MyApp.exe
TID: 4540
Duration: 0.0000278
Desired Access: Delete
Disposition: Open
Options: Non-Directory File, Open Reparse Point
Attributes: n/a
ShareMode: Read, Write, Delete
AllocationSize: n/a
管理者として起動すると、問題なく動作します..
何か案は?