Как правило, приложение .NET должно работать одинаково в любой версии Windows с установленной платформой .NET. Наиболее распространенная проблема, которая возникает, связана с новой политикой контроля учетных записей в Vista и 7, которая не позволяет приложениям получать доступ к областям, требующим повышенных привилегий (которые в противном случае работали бы нормально под учетной записью администратора в XP).
Например, если ваше приложение пытается записать параметры конфигурации в папку Program Files
(что очень плохо, кстати), или использует жестко закодированные пути к диску или реестру вместо переменных среды, предоставляемых в классах .NET , это может дать сбой под Vista.
Чтобы быстро проверить, является ли это проблемой привилегий UAC, попробуйте запустить приложение от имени администратора (ваш клиент должен щелкнуть правой кнопкой мыши файл .exe и выбрать Запуск от имени администратора ). Если это работает, то это говорит о том, что вам нужно проверить свой код и обновить его, чтобы убедиться, что вы получаете доступ только к разрешенным областям.
Проверьте эту ссылку для получения дополнительной информации: Обеспечение осведомленности приложений UAC .
Как подсказал redsquare , лучший способ протестировать ваше приложение в различных системах Windows - запустить их на нескольких виртуальных машинах ( MS Virtual PC или VMWare Player , они оба бесплатны для скачивания).