Я создавал набор пакетных сценариев для нашей системы автоматической сборки / тестирования, которая работает в разных операционных системах, чтобы установить некоторые условия для разных сред, и заметил, что Windows 8, похоже, обрабатывает аргументы командной строки regedit.exe по-другому, чем Windows XP через 7 ,
Я выполнял команду:
regedit.exe /s relative_path\registry_settings.reg
Это работало правильно, пока мы не добрались до узла Windows 8, после чего он не выдавал никаких ошибок, а двигался, как будто он работал, не внося никаких изменений в реестр. (а потом весь мой набор тестов провалился и напугал меня)
Чтобы заставить Windows 8 работать, мне пришлось использовать абсолютный путь как таковой:
regedit.exe /s \absolute_path\registry_settings.reg
Является ли это преднамеренным изменением от Microsoft или существует вероятность того, что на это влияют параметры среды? Есть ли лучшее решение, чем использование абсолютного пути (который хрупок и потребует большего количества технического обслуживания в будущем)?