Автор Тема: *Концепция* создания "тихой" установки, 90% работает, на примере Punto Switcher.  (Прочитано 17568 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sky-WaLkeR [?]

  • Продвинутый
  • ***
  • Сообщений: 332
  • Репутация: 95
  • Пол: Мужской
    • Naboko
    • Награды
  • Версия AutoIt: 3.3.12.0
AutoIt: 3.3.6.1
Версия: у Punto Switcher'a - 3.1.1

Категория: Разное

Описание:
Давно хотел делать программы с "тихой" установкой, то есть установкой без вопросов. Раньше делал так - запускал установочник программы, ставил невидимость, нажимал на кнопки скриптом. Неудобно, некрасиво, много шансов на ошибку. Недавно изобрел *свой* метод, решил поделиться. Делал на примере беплатной программы Punto Switcher 3.1.1, скаченной с Yandex.

Необходимые инструменты: thinstall Virtualization Suite (DepositFiles), вроде бесплатна.

Шаг 1 - установка и скан реестра.
На этом этапе наша задача сводится к получению записей реестра, добавляемых программой, и самих файлов программы.
Скачиваем thinstall (вообще это инструмент для создания portable-программ, но я использую ее для получения измененных веток реестра). Запускаем Setup Capture.exe. Жмем "Start", потом "Pre-Install scan". Ждем. Если появится окно "Warnings" - не беда, это защищенная ветка реестра, это нормально, просто жмем дальше. Устанавливаем свою программу (в моем примере - Punto Switcher), не закрывая Setup Capture. Настраиваете ее (сделанные вами настройки, по идее, должны перенестись и в тихую установку.). Потом возвращаемся к окну thinstall, жмем "Post-Install Scan". Ждем. Опять может быть окно "Warnings", ну да ладно. Из списка выбираем установленную прогу, ставим галку напротив нее, жмем "Continue". Жмем "Save results", потом "Quit".

Шаг 2 - подготовка файлов.
Самый муторный этап - надо перевести полученные записи от thinstall в нормальный вид (в примере - reg-файл и zip-архив)
Переходим в папку Captures (в одной папке с setup capture.exe), дальше в папку с именем нашей проги. Там есть файлы HKEY_LOCAL_MACHINE.txt и HKEY_CURRENT_USER.txt, в них и есть интересующая нас информация. Открываем их. Там запись вида:
isolation_full ветка реестра
  Value=имя записи
  тип записи~значение
Я делал так - шел по ветке в Regedit, экспортировал их и потом объединял в один файл .reg. Далее с помощью проги ConvRegToAu3 (во вложении) конвертил reg в au3.
Далее, в папке с названием проги есть папка %ProgramFilesDir%. Заходим в нее. Это и есть файлы проги. Потом мы их будем копировать (я запихал их в архив zip и извлекал библиотекой zip.au3, во вложении). Насчет папки %SystemSystem% - это вроде файлы которые кидаются в WINDOWS-папку, но я не уверен, не смотрел.

Шаг 3 - создание скрипта-установщика.
Теперь объединяем все - пишем скрипт, который будет устанавливать файлы (FileInstall),копировать их в @ProgramFilesDir и заносить записи в реестр, а также делать ярлыки. Чтобы не мучаться, смотрите пример.
Все, компилируйте и тихая установка готова!
Проверял на виртуальной машине, Punto Switcher встал как родной, все работает и не "падает".

Код/Пример:
(нажмите для показа/скрытия)

Снимок:
нету.

Файлы: Zip.au3, ConvRegToAu3. Пример, к сожалению, с хостинга удалили, и у меня не сохранился.

Источник: http://autoit-script.ru/index.php/topic,4306.0.html
Автор(ы): Sky-WaLkeR.
« Последнее редактирование: Май 10, 2012, 19:27:06 от Sky-WaLkeR »

Русское сообщество AutoIt


Оффлайн `p r o x y [?]

  • Глобальный модератор
  • *
  • Сообщений: 596
  • Репутация: 156
  • Пол: Мужской
  • «Улыбайтесь, господа!»
    • WebInWeb
    • Награды
Хорошая информация, нужная. Вод бы еще проверить на MS Office или каком-нибудь антивирусе….
1 тема – 1 вопрос.
Как правильно назвать свою тему – подскажут тут.
На форуме принято помечать тему «решенной» после получения ответа на свой вопрос.

Оффлайн Sky-WaLkeR [?]

  • Продвинутый
  • ***
  • Сообщений: 332

  • Автор темы
  • Репутация: 95
  • Пол: Мужской
    • Naboko
    • Награды
  • Версия AutoIt: 3.3.12.0
Спасибо. Моя первая большая статья). Хочу проверить завтра на MS Office, по идее, ошибки не должно быть. Попробую еще нод...

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2695
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Недавно изобрел свой метод...

Я так тоже когда-то делал, только с помощью обычного WinRAR'а и Ashampoo UnInstaller'а. А потом собирал все в Inno Setup в свой собственный инсталятор + добавлял код на случай удаления программы.

Хочу проверить завтра на MS Office, по идее, ошибки не должно быть.

Хех... Не советую даже мучиться, хотя... MS Office в процессе установки всю систему раком поставит. А уж сколько он туда го**а понаставит, даже думать страшно. И все это будет зависить от текущего состояния системы, т.е. на другом компьютере, с большой долей вероятности, все будет совсем по другому. И уж точно все это хозяйство выковырить потом из системы будет просто нереально.

P.S

Если я не ошибаюсь, то для Office, равно, как и для Windows, можно написать сценарий для автоматической установки.


Думай, прежде чем говорить.

Русское сообщество AutoIt


Оффлайн Sky-WaLkeR [?]

  • Продвинутый
  • ***
  • Сообщений: 332

  • Автор темы
  • Репутация: 95
  • Пол: Мужской
    • Naboko
    • Награды
  • Версия AutoIt: 3.3.12.0
Даа, такие программы ооочень долго так делать... Попробовал на NOD32 - ужас... Во вложении ключи реестра, и еще столько же я выкинул оттуда )) на форум не влезло - ограничение на 50000 символов :o

но! вроде работает. На виртуалке запустился.
Метод хорош для маленьких прог - TeamViewer, Punto Switcher, Akelpad, Daemon tools и так далее. Удобно. Но ооочень долго делать большие проги))

ShAG1992D

  • Гость
смысл делать такую установку если в большинстве случаев ThinApp сможет сделает портативную версию программы. Разве что программы которые устанавливают драйвера (антивирусы, эмуляторы dvdram)

Оффлайн Sky-WaLkeR [?]

  • Продвинутый
  • ***
  • Сообщений: 332

  • Автор темы
  • Репутация: 95
  • Пол: Мужской
    • Naboko
    • Награды
  • Версия AutoIt: 3.3.12.0
ShAG1992D  [?]
Цитировать
смысл делать такую установку
Тихая установка и портативная программа - немного разные вещи (ИМХО). Например, Вы сможете грамотно настроить портативную программу с сохранением настроек (допустим, что конфиг пишет в файл)? Или получить 100%работающую копию с уже сделанными настройками (например, админу надо установить настроенную программу XXX на 200 машин). Или получить доступ к служебным файлам программы без заморочек (например, к дневнику Punto Switcher)?
К тому же при таком алгоритме можно ставить поверх программы разнообразные патчи, плагины (TotalCmd например), репаки, и полностью контролировать процесс (ведь все происходит в среде AutoIt)

ShAG1992D

  • Гость
Согласен если прогу уже упаковать ThinApp то потом будет очень проблемно её извлечь из сборки для каких либо махинаций. а насчет проги с уже сделанными настройками то это легко. один раз упаковал как нужно и перенес на любое количество компьютеров. А вообще все зависит от ситуации. Например зачем упаковывать TC если у него выходят около 1 раза в месяц новые или обновленные плагины или программы
(P.S чтобы не копатся в проектах ThinApp можно настроить небольшую прогу RegShot чтобы она сканировала не только реестр но и файлы)

Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
6 Ответов
13024 Просмотров
Последний ответ Октябрь 07, 2009, 09:36:42
от akoulev
2 Ответов
3594 Просмотров
Последний ответ Октябрь 12, 2009, 16:41:16
от akoulev
12 Ответов
12957 Просмотров
Последний ответ Декабрь 01, 2012, 02:05:11
от defens
6 Ответов
5640 Просмотров
Последний ответ Апрель 07, 2010, 16:37:07
от CreatoR
3 Ответов
3268 Просмотров
Последний ответ Сентябрь 08, 2010, 12:03:35
от aPoStAl
2 Ответов
7988 Просмотров
Последний ответ Ноябрь 02, 2010, 11:58:00
от Linaleks
8 Ответов
21670 Просмотров
Последний ответ Февраль 09, 2011, 22:04:08
от Kaster
8 Ответов
10950 Просмотров
Последний ответ Апрель 10, 2011, 11:50:11
от madmasles
6 Ответов
3756 Просмотров
Последний ответ Март 22, 2012, 03:05:14
от AZJIO
9 Ответов
2383 Просмотров
Последний ответ Февраль 25, 2014, 14:45:57
от InnI