I develop a certain server. Till now, two versions could not be installed at the same time. We're now changing that, and the question came up: should the version number be appended to the server components or not? The server contains 3 exes and 5 dlls (some COM, some native VC++). Should any or all have their name contain the version (Serv71.exe, module71.dll) or not?
On the pros side, it should make managing the server a bit easier. If a certain instance misbehaves it would be identifiable in the task manager. Also, there's no chance a bad installation will end with having mixed components versions without it being noticed.
On the cons side, it would make development a bit harder. The server is not a standalone product, but rather a part of our applications infrastructure. This means it gets the main app's version. That given, a certain component will have to get a different name even if it hasn't changed at all between versions.
All in all, this is not a crucial issue. We can probably get along with both ways. Having that said, I might have missed a winner argument in favor of one of the strategies. What is the common choice? what do you do?
Edit: I'm familiar with COM and file metadata versioning, and agree filename versioning is redundant. I'm trying to figure out what's more significant - the constant redundancy overhead, or the rare gain in maintenance.