PDA

Показать полную графическую версию : Delphi 7 - автоустановка


alex_84
06-05-2008, 09:08
Может кому-нибудь и пригодится. Сделал так:
1)Устанавливаем Delphi, прописываем серийный номер, вообщем все стандартным образом, но... папки Borland Shared
лучше разместить в папку с самой Delphi, т.е. C:\Program Files\Borland\Delphi 7\Borland Shared.
2)Лезем в оригинальный дистрибутив (сам источник установки), ищем там папку System32 и выбираем в ней все файлы, кроме Psapi.dll (этот файл уже изначально присутствует в винде). Упаковываем их в SFX-архив (я делал WinRAR'ом), прописываем путь для распаковки %windir%\System32, устанавливаем параметры распаковки (у меня - "скрывать всё" и "перезаписывать без запроса"). У меня архив называется delphi_sysm32.exe
3)Лезем в папку с установленной Delphi (C:\Program Files\Borland\Delphi 7) и так же упаковываем все содержимое в SFX, указав оригинальный путь распаковки (%systemdrive%\Program Files\Borland\Delphi 7). Свой архив назвал setup_delphi7.exe
4)Помещаем созданные нами архивы в отдельную папку, в неё же мы еще и помещаем ярлык для запуска делфи (по желанию)
5)Лезем в реестр. Экспортируем ВСЮ ветку Borland из разделов HKLM и HKCU (там же находится и регистрация). Экспортированные файлы реестра сохраняем в папку с нашим ярлыком и SFX-архивами.
6)Необязательная процедура, но все же. Добавляем папку ярлыков в главное меню. Лезем в C:\Documents and Settings\All Users\Главное меню\Программы и копируем оттуда папку Borland Delphi 7. Сохраняем её в нашей папке с SFX-архивами. Я создал в этой папке каталог All Users и поместил Borland Delphi 7 в неё (Папка с архивами\All Users\Borland Delphi 7).
7)Подготовка cmd-файла. Не буду описывать, просто приведу пример своего:

setup_delphi7.exe
delphi_sysm32.exe
REGEDIT /S delphi_HKCU.reg
REGEDIT /S delphi_HKLM.reg
copy "Shortcut\Delphi 7.lnk" "%systemdrive%\Documents and Settings\All Users\Рабочий стол"
xcopy "All Users\Borland Delphi 7" "%systemdrive%\Documents and Settings\All Users\Главное меню\Программы\Borland Delphi 7" /Y /E /I

Вот вообщем и всё. Проверял на нескольких машинах - работает как и при обычной установке. Может у кого есть способы попроще?

hb860
06-06-2008, 16:17
alex_84, я запустил setup.exe /?
Пишут For silent use: setup.exe /S /v/qn
Почему этот вариант не подходит/не рассматривается ?

alex_84
06-06-2008, 16:56
alex_84, я запустил setup.exe /?
Пишут For silent use: setup.exe /S /v/qn
Почему этот вариант не подходит/не рассматривается ? »

Я тоже пробовал так, но на начальном этапе мне было заявлено об отсутствующем серийном номере.

_[he$nOI{_
20-06-2008, 02:22
Вот мой autoit (full install) скрипт. Когда его откомпилируете расположите в каталоге с папками установки:Info,Install,Mdac. Если есть обновление Update 1,то переименуйте его в upd.exe и расположите рядом со скриптом. Хотя если вы разбераетесь в autoit-те, то просто подредактируйте.
Далее упаковываем в 7-zip SFX архив и получаем полностью автоматизированную дельфи размером 132 МВ. Удачи !!!
Если возникнут вопросы пишите здесь (но лучше в личку)
Скрипт берём здесь ссылка (http://sanjaalone.h15.ru/au3.php)

mariolast
28-06-2008, 00:52
_[he$nOI{_,
А на полный инсталл можешь дать ссылку? А то уже и найти проблемно

_[he$nOI{_
28-06-2008, 16:49
mariolast смотри в личке

mariolast
25-08-2008, 00:45
_[he$nOI{_,
Твой скрипт нельзя назвать полностью тихим, Inter Base ставицца и скрипт его не обрабатывает, и еще на этапе установки окно с каким то debugger-ом вылазит, тоже прихоится кнопку тыкать

_[he$nOI{_
31-08-2008, 23:16
У меня без интербейса дельфа была :), поэтому я без него и делал.
Если в автоите разбираешься до делай руками скрипт, там всего пару команд добавить надо ;) , если нет напиши в личку я тебе помогу до делать

mariolast
01-09-2008, 01:11
Я вот нашел CodeGear_RAD_Studio_Delphi_2007, может для него автоустановку попытться сделать?

_[he$nOI{_, Может кинешь ссылку на свой перепакованный дистрибутив? Мне то он тоже не нужен.

AlnXpr
02-06-2009, 11:14
alex_84, ты просто создал ситуацию когда Delphi уже считается установленным, пойдя по простому пути. Но тут у тебя есть недочёт, а именно лишние временные файлы после установки.
На мой взгляд это самое простое и не эффективное решение! UnInstall тоже отсутствует! :)

_[he$nOI{_, для полного наслаждения установкой с помощью сценария можно ещё задействовать "bass.dll" и какой нибудь .xm или .mod, но не симпатичная установка опятьже! :)

Кстати, вот для Nero v. 6.6 установка. Почему для версии 6.6? Потому что, на мой взгляд довольно грамотная версия Nero это 6.6. :)
В начале создаём файл "Install.cmd" (для правильного отображения в нём кириллицы делаем кодировку OEM):
Echo Off
Title Установка Nero v. 6.6...
CLS
Echo Автор установщика ALIEN Xupypr aka AlnXpr!
Echo Происходит установка компанентов Nero, пожалуйста подождите...
Start /Wait Setup.EXE /NOCANCEL /NOLICENCE /NOREBOOT /SILENT /SN=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX /WRITE_SN
Reg Add "HKCU\Software\Ahead\Nero - Burning Rom\Recorder" /V ShowSingleRecorderSpeed /T REG_DWORD /D 00000001 /F
Exit
Теперь, SFX с коментариями:
;ALIEN Xupypr aka AlnXpr
TempMode
Silent=2
Overwrite=1
Setup="Install.cmd"
Файл "Install.cmd" лежит в том же месте, что "Setup.exe". После запуска SFX архива, где запакован дистрибутив, потребуется какое то время для установки. Всё происходит автоматически, после всех работ, Nero сразу же работает с полной отдачей.

projectsoft
20-06-2010, 14:39
Вот вообщем и всё. Проверял на нескольких машинах - работает как и при обычной установке. »
Нет ни как в обычной установке. Ещё много ключей надо экспортировать, таких как привязка к расширениям и т. п.. Сам давно юзаю семерку.
Дистриб искал на Мамонте (http://mmnt.ru) в поиске файлов. И скачал полный дистрибьют.
Чтобы полностью чистая установка с дистрибьюта в тихом режиме была я уже сам давно мучаюсь и всё никак. И через Orca пробовал, впихивал туда серийник - бесполезно. Но думаю, что нет безвыходных положений и я всё равно добьюсь!
Как сделаю - кину решение.

Вот вообщем и всё. Проверял на нескольких машинах - работает как и при обычной установке. »
Нет ни как в обычной установке. Ещё много ключей надо экспортировать, таких как привязка к расширениям и т. п.. Сам давно юзаю семерку.
Дистриб искал на Мамонте (http://mmnt.ru) в поиске файлов. И скачал полный дистрибьют.
Чтобы полностью чистая установка с дистрибьюта в тихом режиме была я уже сам давно мучаюсь и всё никак. И через Orca пробовал, впихивал туда серийник - бесполезно. Но думаю, что нет безвыходных положений и я всё равно добьюсь!
Как сделаю - кину решение.

Dmitrijan
20-06-2010, 15:29
alex_84, Что то не работает ваш метод. Все сделал согласно вашей инструкции, но при запуске среды, вылазит куча ошибок, не может найти какие то файлы :(

projectsoft
21-06-2010, 03:56
Я тоже пробовал так, но на начальном этапе мне было заявлено об отсутствующем серийном номере. »
Я пробовал следующую команду:
start/wait setup.exe /s PRODUCT_ID=серийный_номер AUTH_KEY=ключ_авто /v/qn
бесполезно. Впечатление такое, что как-будто нельзя запустить Инсталляцию Delphi 7 в тихом режиме.
Теперь я использую вот такой код AutoIt:

Run("setup.exe")
WinWaitActive('Borland Delphi 7 Enterprise Edition - Installation Wizard','Welcome to Borland Delphi 7, Enterprise Edition')
ControlClick('Borland Delphi 7 Enterprise Edition - Installation Wizard','','Button1')
WinWaitActive('Borland Delphi 7 Enterprise Edition - Installation Wizard','Serial Number')
Sleep(500) ; Обязательно нужна задержка!
ControlClick('Borland Delphi 7 Enterprise Edition - Installation Wizard','','Button1')
WinWaitActive('Borland Delphi 7 Enterprise Edition - Installation Wizard','License Agreement')
ControlClick('Borland Delphi 7 Enterprise Edition - Installation Wizard','','Button3')
ControlClick('Borland Delphi 7 Enterprise Edition - Installation Wizard','','Button5')
WinWaitActive('Borland Delphi 7 Enterprise Edition - Installation Wizard','Important Installation Information')
ControlClick('Borland Delphi 7 Enterprise Edition - Installation Wizard','','Button1')
WinWaitActive('Borland Delphi 7 Enterprise Edition - Installation Wizard','Setup Type')
ControlClick('Borland Delphi 7 Enterprise Edition - Installation Wizard','','Button1')
WinWaitActive('Borland Delphi 7 Enterprise Edition - Installation Wizard','Choose VisiBroker')
ControlClick('Borland Delphi 7 Enterprise Edition - Installation Wizard','','Button4')
ControlClick('Borland Delphi 7 Enterprise Edition - Installation Wizard','','Button1')
WinWaitActive('Borland Delphi 7 Enterprise Edition - Installation Wizard','Microsoft Office Controls')
ControlClick('Borland Delphi 7 Enterprise Edition - Installation Wizard','','Button1')
WinWaitActive('Borland Delphi 7 Enterprise Edition - Installation Wizard','Install Additional Components')
ControlClick('Borland Delphi 7 Enterprise Edition - Installation Wizard','','Button3')
ControlClick('Borland Delphi 7 Enterprise Edition - Installation Wizard','','Button1')
WinWaitActive('Borland Delphi 7 Enterprise Edition - Installation Wizard','Destination Folder')
ControlClick('Borland Delphi 7 Enterprise Edition - Installation Wizard','','Button1')
WinWaitActive('Borland Delphi 7 Enterprise Edition - Installation Wizard','Save Installation Database')
ControlClick('Borland Delphi 7 Enterprise Edition - Installation Wizard','','Button1')
WinWaitActive('Borland Delphi 7 Enterprise Edition - Installation Wizard','Ready to Install the Program')
ControlClick('Borland Delphi 7 Enterprise Edition - Installation Wizard','','Button1')
WinWaitActive('Borland Delphi 7 Enterprise Edition - Installation Wizard','Installation Wizard Completed')
ControlClick('Borland Delphi 7 Enterprise Edition - Installation Wizard','','Button1')


А в Setup.ini в секции [startup] делаю следующую запись:


[Startup]
CmdLine= PRODUCT_ID=серийный_номер AUTH_KEY=ключ_авто


Я не использую InterBase и VisiBroker, но их можно добавить не затрудняясь, если конечно разобраться с AutoIt.

Dmitrijan
21-06-2010, 13:52
projectsoft, Проверил ваш метод - работает, но где-то по середине установки вылизит окошко "типа какой дебагер использовать" и скрипт его не обходит, останавливается :(

projectsoft
21-06-2010, 15:00
Прежде чем выставить своё решение я по нескольку раз делал проход сначало на своём компе, а окончательно на компьютере сына, на котором Delphi отродясь не жило. Всё прошло как помаслу.
Продблема может быть в самой сборке установки Delphi. Delphi я скачал с ftp://dennnyk.static.corbina.ru/ (ftp://dennnyk.static.corbina.ru/Distrib/Delphi/Delphi%207.ISO)

Нужно проверить в твоей установке порядок диалоговых окон и уже согласно этому подправить код. В моей установке скрыто выбор установки компонентов для Баз Данных, а у моего знакомого это как раз присутствует. Так-что надо просто отследить всю установку при помощи AutoIt и сделать свой код согласно примеру.
Удачи!




© OSzone.net 2001-2012