Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка приложений (http://forum.oszone.net/forumdisplay.php?f=61)
-   -   Универсальный скрипт "Setup_My_Soft" для тихой установки программ. (http://forum.oszone.net/showthread.php?t=279429)

_arahnid_ 18-03-2014 11:35 2325157

Универсальный скрипт "Setup_My_Soft" для тихой установки программ.
 
Вложений: 1
Скрипт устанавливает в тихом режиме программы, а так же наводит порядок в меню "ПУСК", и подходит под большинство случаев, работать должен на любой системе от XP до Win 10
Скрипт созданный на одной машине, будет работать и на других, даже в том случае, если там системный диск отличается от "C:\"
Скрипт написан на AutoIt если кому интересно.

- один раз правильно все настроив вы устанавливаете программу в один клик на любом компьютере.
- после выхода свежей версии устанавливаемой программы, вам нужно только ее заменить в каталоге со скриптом и немного поправить файл ini, если имя дистрибутива отличается.
- скачав свежую версию скрипта запустите его с ключом "/u" он обновит все скрипты, которые хотя бы раз были запущены на вашей системе.

Скрипт сам ничего делать за вас не будет, параметры тихой установки вы должны искать сами,
все что вы от скрипта хотите - вы должны написать ему в ini файле, который он создает рядом с собой при первом же запуске.

параметры ini файла:
Код:

[INFO]
about=
;Имя и версия устанавливаемой программы нужно для информации, при установке будет у часиков появляться оповещение что именно у вас устанавливается
category= ;тут пишем категорию к которой относится ваша программа, папка с этим именем будет создана в меню пуск.
[HOSTS]
1= ;имя ресурса, которое нужно заблокировать напр. microsoft.com
2= ;еще, если надо
[RUN]
1=              ;файл запуска, с путем к нему
2=REG_ADD        ;запись чего либо в реестр
3=COPY_FILE      ;Копирует файл в указанное место
4=KILL_PROC      ;Убивает процесс, если он есть
5=CREATE_LNK    ;создает ярлык на файл в StartMenu
6=CORRECT_INI    ;если у вас есть ini файл, то в нем можно исправить параметры, например путь установки
7=STRING_REPLACE ;ищет подстроку в строках файла и заменяет целиком строку на указанную Вами, "" пустая строка замены удаляет строки с найденным вхождением
[PARAM]
1= ;параметры тихой установки
2= ;(4 параметра через запятую) пример HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\FSViewer.exe,,REG_SZ,@ProgramFilesDir\Graphics\FastStone Image Viever\FSViewer.exe
3= ;(2 параметра через запятую) полный путь к файлу,полный путь к директории куда его копировать
4= ;(1 параметр) имя процесса для завершения напр. calc.exe
5= ;(3 параметра через запятую) путь к каталогу где лежит файл,имя файла для которого нужно сделать ярлык,имя ярлыка
6= ;(4 параметра через запятую) путь к ini файлу,секция,имя параметра,значение параметра, напр. @TempDir\tc\INSTALL.INF,auto,lang,4
7= ;(3 параметра через запятую) путь к файлу,строка поиска,строка замены напр. @TempDir\file.cfg,find,replace
[RUNx64]
1= ;файл запуска, с путем к нему для 64 битных систем, ели есть (если строка пуста, то независимо от разрядности системы программа запускается из секции [RUN])
[PARAMx64]
1= ;параметры тихой установки для 64 битного инсталлятора
[File_Copy_To_Desktop] ;все файлы ниже будут скопированы на рабочий стол
1= ;полный путь к файлу, обычно ярлыку с расширением .lnk
2= ;можно еще.
3= ;и еще.
[File_Copy_To_Category] ;все файлы ниже будут скопированы в папку "category=" в меню пуск
1= ;полный путь к файлу, обычно ярлыку с расширением .lnk
2= ;можно еще...
[File_Move_To_Category]  ;все файлы ниже будут перенесены в папку "category=" в меню пуск
1= ;полный путь к файлу, обычно ярлыку с расширением .lnk
2= ;можно еще...
[File_Del] ;все файлы ниже будут удалены
1= ;полный путь к файлу
2= ;можно еще...
[Dir_Move_To_Category] ;все каталоги ниже будут перенесены в папку "category=" в меню пуск
1= ;полный путь к каталогу\
2= ;можно еще...
[Dir_Del] ;все каталоги ниже будут удалены
1= ;полный путь к каталогу\
2= ;можно еще...

все лишние строки можно удалять.

обратите внимание: номера строк секций [Run] и [Param] соответствуют друг другу.
например если в секции [Run] под номером 2 команда запуска test.exe, то в секции [Param] под номером 2 пишутся параметры запуска, например /S /norestart
Для компа это будет означать, что на втором шаге надо выполнить команду : test.exe /S /norestart


после того как вы наполнили ini и протестировали его работу запустите скрипт с ключем "/r"
это изменит ваши пути к файлам на более короткие и понятные скрипту для работы на других системах.

_arahnid_ 19-03-2014 10:22 2325591

Обновлена версия скрипта до 14.03.19 build (1007)

- произведена оптимизация
- исправлены некоторые ошибки

_arahnid_ 21-03-2014 09:35 2326552

Обновлена версия скрипта до 14.03.21 build (0920)

- полностью переработан механизм обновления всех скриптов на вашем компьютере:
(старые версии скриптов необходимо вручную заменить на текущую, и запустить ее хотя бы один раз "можно с ключом /?"
все следующие новые версии будут сами находить старые версии скриптов и обновлять их при первом же запуске)
- Убран параметр Update из ini файла, за ненадобностью.
- исправлен мелкий баг не влияющий на общую работу программы.

_arahnid_ 24-03-2014 09:39 2327798

Обновлена версия скрипта до 14.03.24 build (0932)

- исправлен неприятный баг с попыткой проверки обновлений при запуске скрипта.
- теперь обновление запускается только с ключом /u
- незначительные изменения и улучшения.

_arahnid_ 02-04-2014 14:43 2332042

Новая версия скрипта 4.0402 build (1424)

Косметические изменения не влияющие на работу:
- изменена иконка скрипта.
- версия программы, выглядит иначе, но суть та-же (дата и время компиляции)

_arahnid_ 26-05-2014 15:19 2355911

Новая версия скрипта 4.0526 build (1404)

Исправлена небольшая ошибка при отработке команды COPY_FILE

_arahnid_ 27-05-2014 10:26 2356158

Далее я буду выкладывать свои варианты настроек для автоустановки на базе скрипта, если у Вас есть чем поделиться, то буду рад посмотреть, ну и помочь, если будут вопросы.

PuntoSwitcher
  1. качаем скрипт Setup_My_Soft.rar http://forum.oszone.net/thread-279429.html
  2. распаковываем и переименовываем например PuntoSwitcher_Inst.exe
  3. запускаем
  4. рядом кладем дистрибутив PuntoSwitcherSetup.exe
  5. редактируем получившийся ini файл следующим образом:
Код:

[INFO]
about=PuntoSwitcher v3.3.1
category=Офисные программы
[RUN]
1=PuntoSwitcherSetup.exe
2=@TempDir\ps\PuntoSwitcher.msi
[PARAM]
1=/extract @TempDir\ps\
2=/passive
[File_Del]
1=@ProgramsCommonDir\Яндекс\Punto Switcher\Новые возможности.lnk
[Dir_Move_To_Category]
1=@ProgramsCommonDir\Яндекс\Punto Switcher\
[Dir_Del]
1=@TempDir\ps\
2=@ProgramsCommonDir\Яндекс\

Вот и все, комплект автоустановки готов, теперь для того чтобы установить PuntoSwitcher нужно запустить PuntoSwitcher_Inst.exe с правами администратора.

Notepad++

Код:

[INFO]
about=Notepad++ v6.6.3
category=Офисные программы
[RUN]
1=@ScriptDir\npp.6.6.3.Installer.exe
[PARAM]
1=/S /D=@ProgramFilesDir\Office\Notepad++\
[File_Copy_To_Category]
1=@ProgramsCommonDir\Notepad++\Notepad++.lnk
[Dir_Del]
1=@ProgramsDir\Notepad++\
2=@ProgramsCommonDir\Notepad++\


_arahnid_ 27-05-2014 10:45 2356168

FastStone Image Viever
Код:

[INFO]
about=FastStone Viewer v5.3
category=Графика
[RUN]
1=REG_ADD
2=FSViewerSetup53.exe
3=regedit
[PARAM]
1=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\FSViewer.exe,,REG_SZ,@ProgramFilesDir\Graphics\FastStone Image Viever\FSViewer.exe
2=/S
3=/S FSViewer_Inst.reg
[File_Copy_To_Category]
1=@ProgramsCommonDir\FastStone Image Viewer\FastStone Image Viewer.lnk
[Dir_Del]
1=@ProgramsCommonDir\FastStone Image Viewer\


_arahnid_ 27-05-2014 14:20 2356274

CCleaner
Код:

[INFO]
about=CCleaner v4.13
category=Утилиты
[RUN]
1=ccsetup413.exe
[PARAM]
1=/S /L=1049 /D=@ProgramFilesDir\Utilites\CCleaner\
[File_Move_To_Category]
1=@ProgramsCommonDir\CCleaner\CCleaner.lnk
[Dir_Del]
1=@ProgramsCommonDir\CCleaner\


_arahnid_ 10-06-2014 15:40 2362503

Skype
Код:

[INFO]
about=Skype
category=Интернет
[RUN]
1=@ScriptDir\SkypeSetup.exe
[PARAM]
1=/DIR:"@ProgramFilesDir\Inet\Skype" /SILENT /NOLAUNCH /NOSTARTUP /NOIEPLUGIN /NOCHROMEPLUGIN /LANG:ru
[File_Copy_To_Category]
1=@StartMenuCommonDir\Programs\Skype\Skype.lnk
[Dir_Del]
1=@StartMenuCommonDir\Programs\Skype\


wadimus 15-06-2014 18:23 2364339

_arahnid_, пример с CCleanerом .. рядом с инсталлятором ложу (кладу, помещаю, выкладываю .. как правильно? :) ) файл CCleaner.ini с моими настройками
так правильно:
Код:

[INFO]
about=CCleaner v4.13
category=Утилиты
[RUN]
1=ccsetup413.exe
3=CCleaner.ini
[PARAM]
1=/S /L=1049 /D=@ProgramFilesDir\Utilites\CCleaner\
3=@ProgramFilesDir\Utilites\CCleaner\
[File_Move_To_Category]
1=@ProgramsCommonDir\CCleaner\CCleaner.lnk
[Dir_Del]
1=@ProgramsCommonDir\CCleaner\


_arahnid_ 16-07-2014 09:52 2377138

Цитата wadimus:
пример с CCleanerом .. рядом с инсталлятором ложу (кладу, помещаю, выкладываю .. как правильно? ) файл CCleaner.ini с моими настройками
так правильно: »
не совсем понял вопроса, но ваши настройки не правильные:
в секции RUN нет команды под №2 (программа после №1 сочтет секцию завершенной)
в команда под №3 это не команда а имя файла ini, этого тут не нужно нужно убрать всю строку, соответственно убрать строку из секции PARAM с номером 3.

а лучше используйте мой готовый рабочий конфиг, чуть раньше (выкладен, выложен или помещен... как вам угодно))) )

имя файла ini должно совпадать с именем скрипта
напр.(CCleaner.exe и CCleaner.ini)
что бы не ошибиться, можно удалить существующий ini и запустить файл скрипта, он создаст рядом с собой ini файл с внутренней структурой настроек, но все остальное нужно заполнять самому, ну или перекопировать мои настройки с сообщений выше.

wadimus 19-07-2014 10:38 2378310

_arahnid_, не понял вашего ответа ..
у меня есть настроенный CCleaner, его настройки (что и как удалять, что чистить и что не трогать) хранятся в файле CCleaner.ini, который должен находиться рядом с ехе-шником ..
хочу при установке на новую систему автоматически подцепить мой файл настроек ..
у вас первое действие: автоустановка CCleaner-а с ключом /S .. и всё!
как сделать второе действие: готовый файл CCleaner.ini (лежащий рядом с инсталлятором) скопировать по определенному пути (а путь нам известен по ключам: 1=/S /L=1049 /D=@ProgramFilesDir\Utilites\CCleaner\ .. )

_arahnid_ 24-07-2014 10:51 2380630

все, теперь понял
добавьте следующие строки:

Код:

[RUN]
...
2=COPY_FILE
[PARAM]
...
2=@ScriptDir\CCleaner.ini,@ProgramFilesDir\Utilites\CCleaner\


Maksi1311 31-10-2014 22:25 2423102

_arahnid_,
Вечер добрый!)
Хочу заняться написанием скриптов, да и по работе надо, да и вообще самому интересно, начинаю с азов самых)) пишу в Notepad++, вот пробовал ваши, ничего не выходит((
Хочу сделать таким образом установку Java))

Сrack 31-10-2014 22:36 2423109

Цитата:

Цитата Maksi1311
Хочу сделать таким образом установку Java)) »

А скрипты то зачем? Все что там надо, это запустить оригинальный инсталлятор с ключем /s и все.

Maksi1311 31-10-2014 22:47 2423113

Сrack,
Ну это понятно, а вот к примеру можно написать батник, так чтобы запустив его, по порядку устанавливались программы, к примеру Акробат, Флеш плеер, ну и Java?))

Сrack 31-10-2014 22:49 2423114

Цитата:

Цитата Maksi1311
Ну это понятно, а вот к примеру можно написать батник, так чтобы запустив его, по порядку устанавливались программы, к примеру Акробат, Флеш плеер, ну и Java?)) »

Есть методы куда более эффективные для этих целей.

Maksi1311 31-10-2014 23:00 2423118

Сrack,
А какие к примеру?

Сrack 31-10-2014 23:01 2423120

Цитата:

Цитата Maksi1311
А какие к примеру? »

MInstAll

Maksi1311 31-10-2014 23:11 2423121

Сrack,
Хм, прикольно))
Завтра заценим, спасибо))
Не судите строго за глупые вопросы, только учусь, самому интересно очень)

boss911 01-11-2014 01:01 2423149

Цитата:

Цитата Maksi1311
А какие к примеру? »

Выбор устанавливаемых приложений

BS PostInstaller

_arahnid_ 13-11-2014 09:54 2428797

Maksi1311,
Извините за поздний ответ,
мой скрипт - это не язык, это программа для автоматизации установки программ.
ее учить не нужно, если вы планируете сами чего-то достичь.
Если же ваши цели это просто установить программу а автоматическом режиме - то я вам возможно смогу помочь.

Mоя программа написана на AutoIt - можете начать с нее, это очень легкий и продвинутый язык автоматизации и написания небольших программ.
Хотя есть люди, которые пишут серьезные вещи на AutoIt.

Otaraev 14-01-2015 13:40 2455900

вот спасибо, добрый человек!
Пойду разбираться...
А то так "устаю" накатывать каждую новую машину по 20-30 софтин одинаково...
*** hard-ово они у меня разные все ((( ***

_arahnid_ 15-01-2015 08:49 2456256

Otaraev, именно для этих целей и создавалось, можно использовать еще стороннюю программу для запуска ваших готовых скриптов, или если вы устанавливаете всегда один и тот -же набор, это можно реализовать опять - же моим скриптом (он будет запускать по очереди все ваши скрипты, а они в свою очередь устанавливать ваш софт)

_arahnid_ 15-01-2015 09:09 2456264

AIMP

Код:

[INFO]
about=Aimp v3.55.1355
category=Мультимедиа
[RUN]
1=aimp_3.55.1355.exe
[PARAM]
1=/AUTO="@ProgramFilesDir\Media\AIMP\"
[File_Copy_To_Category]
1=@ProgramsCommonDir\AIMP3\AIMP3.lnk
2=@ProgramsCommonDir\AIMP3\AIMP3 Advanced Tag Editor.lnk
3=@ProgramsCommonDir\AIMP3\AIMP3 Audio Converter.lnk
4=@ProgramsCommonDir\AIMP3\AIMP3 Audio Library.lnk
[Dir_Del]
1=@ProgramsCommonDir\AIMP3\


libertarij 28-06-2015 01:51 2523235

Покажите пожалуйста пример для добавления прграммы в автозагрузку через реестр при включении компьютера.

_arahnid_ 14-07-2015 18:46 2528842

Извините за поздний ответ, почему-то не приходят уведомления на почту....
автозагрузку можно реализовать 2-мя способами:

1 С помощью импорта reg файла:
Скрытый текст
Код:

[RUN]
1=Regedit
[PARAM]
1=/S regfile.reg

вот пример regfile.reg для автозагрузки Skype:
Код:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"Skype"="\"C:\\Program Files (x86)\\Skype\\Phone\\Skype.exe\" /minimized /regrun"

2 с помощью самого скрипта, пример:
Скрытый текст
Код:

[RUN]
1=REG_ADD

[PARAM]
1=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run,,REG_SZ,"Skype"="\"C:\Program Files (x86)\Skype\Phone\Skype.exe\" /minimized /regrun"

Второй вариант более интересен, т.к. после запуска скрипта с ключом /r ваши строки изменятся вот так:
Код:

[RUN]
1=REG_ADD

[PARAM]
1=HKCU\Software\Microsoft\Windows\CurrentVersion\Run,,REG_SZ,"Skype"="\"@ProgramFilesDir\Skype\Phone\Skype.exe\" /minimized /regrun"

и это даст возможность прописывать в реестр пути на системах, где Windows ну и Program Files находятся не на диске C:\.

c первым вариантом тоже можно унифицировать, используя CORRECT_INI - читайте описание в шапке, но это уже на ваш выбор.

libertarij, посмотрите тут я использовал оба метода добавления ключей в реестр:
http://forum.oszone.net/post-2356168-9.html

shawc 29-06-2017 11:06 2748024

Всем привет!
Касперыч очень недоволен скриптом:
setup_my_soft.exe Название объекта: UDS:DangerousObject.Multi.Generic Тип объекта: Неизвестный объект
Был удалён им при распаковке из архива.

Что скажете?

_arahnid_ 30-06-2017 17:41 2748329

shawc, добрый день, Каспер видит, что скрипт умеет запускать сторонний софт, вот и ругается. Каспер параноик. ЕСЕТ например молчит.
В любом случае вирусов там нет, есть исходники, могу выложить. Конечно если вы имеете возможность и желание копаться в чужом коде.

_arahnid_ 17-01-2019 10:10 2852803

Обновлена версия скрипта до 8.1109 build (1935)

- добавлена возможность вносить изменения в hosts файл

_arahnid_ 18-02-2019 16:11 2858610

Обновлена версия скрипта до 9.0216 build (1500)

+ добавлена возможность заменять/удалять строки, в различных файлах с текстом, по подстроке поиска.
+ программа теперь запрашивает права администратора, если пользователь запустил ее от обычного пользователя.
* теперь скрипт по умолчанию всегда ищет ini файл в том же каталоге, где и лежит скрипт (раньше были проблемы, если скрипт запускался из другого рабочего каталога)

xxxNestrxxx 24-02-2019 14:19 2859673

_arahnid_, Добрый день! Может подскажете новичку в этом деле, как быть с регистрацией программ? Надо чтобы после установки скрипт также активировал программу. Активация происходит при помощи другого исполняемого файла.

_arahnid_ 25-02-2019 08:17 2859778

xxxNestrxxx, Добрый день. В каждом конкретном случае нужно разбираться отдельно. Хорошо, если ваш "исполняемый файл" имеет параметры запуска из командной строки для тихой активации, тогда просто в следующей строке ini файла указываете ваш исполняемый файл, а в соответствующем ему разделе параметры запуска. Ну или если параметров нет, то просто запускайте ваш файл без параметров в скрипте, далее на данном шаге выполнение скрипта приостановится, а вы сможете руками произвести необходимые действия, после скрипт продолжит работу, если будет что работать )))
Еще есть вариант написать на autoit маленький скрипт, который будет сам выполнять ваши ручные действия с "исполняемым файлом" например нажать кнопку, и закрыть окно.
Вообще многие программы "я говорю о лицензионных, честно купленных" имеют ключ активации, который обычно прописывается в реестр в открытом виде (не всегда), запись в реестр скриптом предусмотрена, в этой ветке есть примеры использования. Но вот где и что и куда прописывать это опять в каждом конкретном случае по-разному. Тут великий и могучий интернет вам в помощь.

Удачи.

_arahnid_ 25-02-2019 13:52 2859843

Обновлена версия скрипта до 9.0225

*убран номер билда из информации о версии программы за ненадобностью.
*исправлена небольшая ошибка, приводящая к дублированию запущенной программы, если она запускалась без прав администратора и как бонус на скрипт перестали ругаться некоторые антивирусы.
*исправлено, теперь ключ /r не ломает кодировку ini файла с русскими буквами.

_arahnid_ 01-03-2019 08:33 2860655

Обновлена версия скрипта до 9.3.1.0

*формат версии опять новый, но суть та же: дата компиляции
+теперь версию скрипта можно посмотреть в Windows правой кнопкой мыши (свойства, подробно, версия файла)
*исправлено несколько мелких багов

С наступлением весны ВСЕХ!!!

andreihorbach 02-06-2019 12:28 2874059

_arahnid_,
Добрый день, с адаптацией вашего скрипта (вернее .ini файла моего софта)? ( я полный нуп)
Мне необходимо в ходе установки софта, менять пару галочек -> хотелось бы по щелчку установить софт с нужными параметрами.
Честно, не понял
Направьте плиз в нужное русло:)

_arahnid_ 03-06-2019 09:32 2874168

Вложений: 1
andreihorbach, вообще в большинстве случаев это реализуется параметрами командной строки, кстати у разных установщиков они свои.
1. нужно определить, каким установщиком запакована ваша программа (это можно сделать запустив программу skf.exe во вложении)
2. для обнаруженного установщика найти тему по ключам ком.строки и подробно их изучить ну и подобрать необходимые вам параметры установки. (90% случаев у меня решилось так)
тут можете поискать ключи

Есть еще способ: написав маленький скрипт на autoit, но это уже вам в другое место.

_arahnid_ 04-02-2020 10:09 2908179

Обновлена версия скрипта до 9.3.11.0

Антивирусы ругались на скрипт.
Залил не сжатый exe, антивирусы больше не ругаются.

функционал не изменился.


Время: 14:18.

Время: 14:18.
© OSzone.net 2001-