@ foobar: Вы правы, это слишком просто;)
В 99% случаев разработчики со слабым опытом работы с системными администраторами в конечном итоге не понимают, что Microsoft всегда позволяла перечислять Windows всем.
Системные администраторы всегда будут писать более качественный и простой код, когда дело доходит до такой точки.
Тем не менее, стоит отметить, что конфигурация сборки должна быть AnyCPU , чтобы эта переменная среды возвращала правильные значения в правильных системах:
System.Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE")
Это вернет «X86» в 32-битной Windows и «AMD64» в 64-битной Windows.