AVanti473
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Давайте ставить реальное ТЗ. | Абсолютно с Вами согласен! Вы очень хорошо всё написали, ошибка только в пути к папке! Не "%AppData%\Local\ChemTable Software\Reg Organizer а "%AppData%\Local\ChemTable Software Вообще, замечательно, что Вы уточнили, потому что я со вчерашнего дня думаю куда же должен делаться бэкап!!! Прога то специфическая, по чистке реестра и дисков, поэтому просто может сожрать бекап при автоматической чистке и нечего будет восстанавливать... Но, всё по порядку, сперва порядок действий: Действия такие: до запуска "RegOrganizer.exe": 1) Забэкапить папку, в которую потом будет что-то писать "RegOrganizer.exe". Эта папка "%AppData%\Local\ChemTable Software" (если конечно она уже существует в системе) 2) Удалить папку "%AppData%\Local\ChemTable Software" 3) Записываем в реальную систему скрипт, который будет восстанавливать всё, что нужно! После запуска "RegOrganizer.exe" и перезагрузки Запускаетя скрипт, который: 1) Удаляет папку, которая появляется в следствии работы "RegOrganizer.exe" (если такая появилась). Это всё та же папка "%AppData%\Local\ChemTable Software" 2) Возвращает забэкапленную папку "%AppData%\Local\ChemTable Software" обратно. Теперь о том, где хранить бекап. В любом месте на диске опасно, ведь, в силу функционала самой программы, при автоматической чистке дисков можно весь бекап удалить! Наверное, надёжнее будет в папке с песочницей программы, так как даже идиот додумается не сносить файлы песочницы при чистке дисков... P.S. Я и вправду никак не могу понять, почему при нахождении папки "%AppData%\Local\ChemTable Software" в виртуале, не работает функция оптимизации реестра! Ну не стал же бы разработчик программы (тем более версия 2009 года, тогда и портабельными сборками сравнительно мало занимались) защищать именно эту функцию от работы в виртуале?! Ставил уже изоляцию и Full и WriteCopy, но всё равно, как только папка оказывается в песочнице, функция оптимизации сообщает что с реестром всё в порядке. Стоит только выкинуть папку %Local AppData% из проекта, в реальной системе появляется папка "%AppData%\Local\ChemTable Software" и реестр оптимизируется нормально, с последующей автоматической перезагрузкой! Всё это по меньшей мере странно и теперь требует навороченных скриптов с бекапами... Надеюсь, хоть так получиться! |