|
Тут в соседнем топике (да и ранее было) обсуждалось, как добыть из компа установленные в ОС драйверы. Но ведь похожая задача бывает и при извлечении установленных программ! Представьте себе, что дистрибутив утерян, а прога нужная позарез - как переставить её на другой комп? Мне представляется, что эта задачка обратна тому, что делает любой setup.exe, и распадается на 3 отдельных: 1. Самое простое - найти файлы программного пакета (ну и скопировать). 2. Органы управления и прочие добавки (всякие базы данных и кэши) - немного посложнее, но тоже понятно как. 3. А самое хитрое - извлечь из реестра ключи, не прихватив лишнее, но и не упустив нужное. Если проследить, как работают современные деинсталляторы, то легко заметить, что они решают эти 3 задачи - правда, не для копирования, а для полного удаления программы. Причём перед удалением они предъявляют пользователю список удаляемого - на всякий случай, чтобы он мог этот список поредактировать. Значит, возможна следующая процедура: ориентируясь на этот список, можно вручную вытащить все файлы и ключи и занести их в копии. Одно мешает - деинсталлятор лишь подчищает, он включается после штатной виндовской удалялки, когда бОльшая часть удаляемого уже тю-тю... Поэтому лучше было бы создать специальную прогу для решения такой задачи - без обращения к штатному удалятору, и вообще без удаления, а просто копировать найденное в заданную папку, а ключи - в кусок реестра. Поскольку задачка вроде довольно нужная и к тому же несложная (не сложнее деинсталляторов, которых сделано с десяток), я стал искать инфу о ней в Сети, и... ничего не нашёл! Удивительно! Неужели мне первому пришла идейка? Или всё-таки меня поправят и укажут ссылку на такой инструмент? |
|
|
Есть обычно логи установки программы (лежат либо в папке винды, либо в папке программы), можно по ним. Можно поставить ProcessMonitor, снять лог всего, к чему обращается прога при работе и скопировать на другую машину. Основная проблема будет с COM/ActiveX/.NET компонентами и .dll Поможет Dependency Walker и внимательное вкуривание HKCR в реестре. После того, как станет понятно какие dllки нужны, поможет regsvr32. Есть вариант натравить что-нибудь на файл данных деинсталлятора, но я таких программ не видел.
|
|