Я решил эту проблему, добавив .Net Framework 3.5 SP1 в качестве зависимости от моего установочного файла. Похоже, что в состав Framework 3.5 SP1 входит .Net Framework 2 с пакетом обновления 2 (SP2), поэтому в качестве зависимости установка выполняется правильно в Windows XP, Windows Vista и Windows 7.
Это не идеальное решение, так как я эффективно устанавливаю больше, чем нужно приложению, так как 3.5 вообще не требуется приложением. Но это был единственный способ установить NetFx20SP2_x86 там, где это необходимо (а именно в XP), но без ошибок установки при работе на платформе, где это не нужно (Vista и Windows 7). Если кто-то знает лучший способ сделать это, я бы с радостью услышал это, но пока это решение выполняет свою работу.