A couple of possible mitigations: Only use the maintenance service for installs that are located under %ProgramFiles% and %ProgramFiles(x86)%. I don't have data for this but I don't think it is controversial that the vast majority of clients that use the maintenance service to update do so for installs that are under program files and for the other cases the client can just use the UAC path, etc. It might be possible to first verify a file is not a symlink, etc. and then lock the file before performing any operations on the file but this would be much more difficult to get right than the first option.
Bug 1588884 Comment 4 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
A couple of possible mitigations: Only use the maintenance service for installs that are located under %ProgramFiles% and %ProgramFiles(x86)%. I don't have data for this but I don't think it is controversial that the vast majority of clients that use the maintenance service to update do so for installs that are under program files and for the other cases the client can just use the UAC path, etc. It might be possible to first verify a file is not a symlink, etc. and then lock the file before performing any operations on the file but this would be much more difficult to get right than the first option. The first option can mitigate the dropping in of an old updater since the maintenance service could also have a restriction of only updating installs under program files
A couple of possible mitigations: Only use the maintenance service for installs that are located under %ProgramW6432% and %ProgramFiles(x86)%. I don't have data for this but I don't think it is controversial that the vast majority of clients that use the maintenance service to update do so for installs that are under program files and for the other cases the client can just use the UAC path, etc. It might be possible to first verify a file is not a symlink, etc. and then lock the file before performing any operations on the file but this would be much more difficult to get right than the first option. The first option can mitigate the dropping in of an old updater since the maintenance service could also have a restriction of only updating installs under program files