It seems to be poor architecture. The client OS should not be a factory into the systems functionality - it should be a thin client multi platform with no real client dependencies other than basic web functions.