@Raymond: if the user is upgrading the application for other users, they should also be able to invalidate shell caches for other users. If the user is not upgrading the application for other users, then those users' caches don't need invalidating.
I don't actually develop multi-user apps, so I'm probably missing something?
[And what if the other users' profiles are not accessible because they are on a roaming profile server you don't have access to? (And in a corporate environment "all other users" can run in the tens of thousands.) -Raymond]