Буржуи пишут, что ROOTDRIVE для установщика - это просто диск с достаточным количеством свободного места, так что смена диска может происходить из-за того, что на C: заканчивается место. Еще пишут, что надо в логах поискать признаки смены или игнорирования свойства TARGETDIR.
PS. Еще можно попробовать явно задавать установщику значения параметров InstallPath и InstallPath32Bit.