PDA

Показать полную графическую версию : BS Post Installer - выбор программ перед установкой


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [41] 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109

DJ Mogarych
29-09-2008, 14:13
D_Master, если
Work Dir: %SOURCE%\Install\ », то надо не
Cmd Line: %SOURCE%\Install\RCIC.exe », а просто
Cmd line: RCIC.exe.
Папка-то уже в пути указана. А у вас сейчас получается вот так:
%SOURCE%\Install\%SOURCE%\Install\RCIC.exe

Debugger
29-09-2008, 14:23
В редакторе конфигурации, при выборе иконки программы, редактор постоянно предлагает выбрать из файла shell32.dll, независимо от того, прописан iconlib.dll или нет.

DSC
29-09-2008, 15:11
D_Master, просто создайте образ и снего уже проверяйте, и все пути будут верны. Все будет хокейно! ;)

boss911
29-09-2008, 17:00
%SOURCE%: %SOURCE%
%CDROM%: %CDROM%
%ROOT%: %SOURCE% »
Да, тут явные проблемы. Переменные должны соответствовать реальным путям, а у вас они ровны переменным.
Вот как у меня:

RootInstallDir: %SOURCE%
%SELF%: C:\BS Post
%SOURCE%: E:
%CDROM%: E:
%ROOT%: E:
E: - реальный CD.

arthurkas
30-09-2008, 05:15
вопрос следующего характера можно ли реализовать (или если реализовано то торкните меня носом) следующее:
в зависимости от выбора пользователя запуск одной программы но только с разными ключами

приведу пример для ясности:

- установка Office ;
---- Word
---- Exel
---- PowerPoint
---- Access

если юзер выбирает только 1 компонент к примеру:
Word то запускается setup.exe /word
Exel то запускается setup.exe /exel
эти 2 момента ясны и просто реализуются имеющимися функциями
однако если юзер выбирает несколько компонентов к примеру:
Word & Exel то запускается setup.exe /wordexel
Word & Exel & Access то запускается setup.exe /wordexelaccess
и тд и тп

думаю данный вариант установки достаточно актуален

Комсомолец
30-09-2008, 06:19
arthurkas, По-моему, тут проблема только в том, что надо создать много .MSP файлов. и уже с ними прописывать пункты. Например:

Group=Office
word=word.msp
exel=exel.msp

ну и так далее
единственное-много пунктов будет для выбора.

D_Master
30-09-2008, 06:20
boss911, dsc, DJ Mogarych, парни, что-то я совсем запуталсо...
В общем, структура папок (надо было сразу с этого начать:()

D:\
\install\
\RCIC.exe
\Presetup.ini
\Presetup.exe
и т.д.

писал на диск, не пашет, проверял на виртуалке - не пашет :(

DSC
30-09-2008, 07:47
D_Master, Попробуйте [Setup]
RootInstallDir=%CDROM% и соответственно полные пути к исполняемым файлам например: [Installitem_001]
Group=Системные утилиты
Caption=Total Commander v7.02
Description=Файловый менеджер
Depends=
DependsOr=
Exclude=
Folder=
CheckTagFile=
IconFile=
IconNumber=0
SkreenShotImage=
MinToTray=0
PreRegFile=
Command1=%CDROM%\Install\TotalCommander.exe
Command2=
Command3=
Command4=
Command5=
Command6=
PostRegFile=
KillWait=0
Default=1
Fixed=0
Visible=1
RebootNeed=0
Вот мой рабочий(но не законченный)

DJ Mogarych
30-09-2008, 09:45
D_Master, легче создать конфигурационный файл с нуля с одним пунктом, и посмотреть, как там всё выглядит. А затем перенести в рабочий.

arthurkas, если написать "Exel", то работать точно не будет. Excel. И не .msp, а .mst-файлы. Для создания этих файлов надо использовать Office 2003 Resource Kit Tools. Читайте статью про автоматическую установку Офиса (http://oszone.net/2769).

В BS post installer-e строка запуска будет выглядеть, например, так:

Command1=setup.exe TRANSFORMS=название_файла.MST /qb-

arthurkas
30-09-2008, 10:55
про *.mst файлы я осведомлен ...
но создавать для каждого случая свой *.mst это дико
если в пакете офиса 9 компонентов то посчитайте сколько это вариантом *.mst файлов надо и соответственно сколько разных пунктов выбора

в данном случае лучше и проще будет реализовать через config.xml

примерно следующим образом:
- [Preinstall] копирует куданить на хард заранее подготовленный config.xml для инстала офиса... например %systemroot%\config.xml
- далее в соответствии с выбором юзера (Word/Exel/и тд) выполняется расскоментирование/добавление соответствующих строк в %systemroot%\config.xml
- далее выполняется установка офиса (setup.exe /config %systemroot%\config.xml) из скрытого пункта связанного с пунктами Word/Exel/и тд посредством зависимостей

вот так работает... но тем не менее вышеописанный функционал не помешал бы

DJ Mogarych
30-09-2008, 13:12
если в пакете офиса 9 компонентов то посчитайте сколько это вариантом *.mst файлов надо »А все ли возможные варианты вам нужны? Mst-файлы сделать, даже 10 штук - это 10 минут. Ничего не надо копировать на винчестер, всё ставится с диска. К тому же, в .mst-файлах можно сделать тонкую настройку компонентов каждой программы, входящей в состав Офиса.

А config.xml не замучаетесь править вручную, комментировать-раскомментировать? Я свою установку Офиса на работе сделал за час, состоящую из 5 пунктов, и включающую интеграцию третьего сервис-пака и создание административной установки.

arthurkas
30-09-2008, 15:30
:)
я сделал за пол часа установку ЛЮБЫХ компонентов офиса
- в [Preinstall] На хард копируется только config.xml во временную папку что ясное дело роли в принципе не играет...
config.xml правится НЕ вручную:
в %SELF%\Tools у меня лежат:
- прожка chgstr.exe (заменяет строки в файлах)
- editOfficeConfig.bat следующего сожержания:
SET Id=%1
SET SEARCHSTR="<OptionState Id=\"%Id%\" State=\"absent\" Children=\"force\" />"
SET REPLACESTR="<!-- <OptionState Id=\"%Id%\" State=\"absent\" Children=\"force\" /> -->"
chgstr %SEARCHSTR% %REPLACESTR% "%systemroot%\temp\config.xml

при запуске пункта, скажем, "Microsoft Office Exel" выполняется команда:

Folder=%SELF%\Tools
Command1=#HCMD: editOfficeConfig.bat EXCELFiles

которая заменяет (комментирует) строку "<OptionState Id="EXCELFiles " State="absent" Children="force" />" в %systemroot%\temp\config.xml... указывая тем самым что "Microsoft Office Exel" будет ставиться по умолчанию...
Соответственно аналогичные команды и на другие 9 компонентов офиса;

собственно вот и все после того как выполнятся все выбранные юзером компоненты и нужные строки в config.xml будут закомментированы запускается установка офиса из скрытого пункта связанного с пунктами Word/Exel/и тд посредством зависимостей :

setup.exe /config %systemroot%\temp\config.xml

- [Postinstall] удаляет config.xml
ЗЫ честно говоря не встречал людей которые делают тонкую настройку компонентов офиса ... все и всегда пользуются настройками по умолчанию ... да и в config.xml не все настройки используешь
ЗЫ ЗЫ апдейты офиса тоже легко интегрируется через config.xml

boss911
30-09-2008, 17:08
[Setup]
RootInstallDir=%CDROM% »
Это тоже самое, что и %SOURCE% (http://forum.oszone.net/post-911346-793.html), в руководстве так и говорится.

и соответственно полные пути к исполняемым файлам например »
Это не совсем правильно и нужно, если задан RootInstallDir.

D_Master
30-09-2008, 18:04
dsc, спасибо, ваш конфиг помог, всё ставится!
Всем спасибо за ответы! :happy:

DSC
30-09-2008, 18:41
Это тоже самое, что и %SOURCE%, в руководстве так и говорится. » не спорю, просто мне привычнее %CDROM%. :wink:
а на счет Это не совсем правильно и нужно, если задан RootInstallDir. » чет как то не подумал... эт получается просто убираем переменную%CDROM% (%SOURCE%)? например: Command1=Install\TotalCommander.exe так?

boss911
30-09-2008, 22:12
так? »
Да. Ведь мы уже задали букву носителя (пример (http://forum.oszone.net/post-911755-804.html)), теперь только остается указать относительный путь в CommandХ или в 'Folder' от этой самой буквы.

Можно сделать и так, судя по вашему примеру:
[Setup]
RootInstallDir=%SOURCE%\Install

[Installitem_ХХХ]
Command1=TotalCommander.exe

- - - - - - - - 2-й вариант - - - - - - - - -

[Setup]
RootInstallDir=%SOURCE%

[Installitem_ХХХ]
Folder=Install
Command1=TotalCommander.exe

DSC
02-10-2008, 09:41
Подскажите плиз, каким методом экспортировать ключи реестра? если добавлять до либо после команды - не получается... :( Добавлять как команду - постоянно выдает сообщениена подтверждение.... Мож какие ключи надо? с ключем /S происходит выше описанное...

Комсомолец
02-10-2008, 10:05
Подскажите плиз, каким методом экспортировать ключи реестра »
вообще ключи не нужны.

пример:
PostRegFile=key.reg

аналогично:
Command2="Regedit /S key.reg"

DSC
02-10-2008, 12:38
Command2="Regedit /S key.reg" »
Вон оно как!!! :o А я бьюсь... :)

Комсомолец
03-10-2008, 03:37
PostRegFile=key.reg » а встроенная команда чем не устраивает? Она для этого и сделана, вообще-то.
т.е.
Command2="Regedit /S
=
PostRegFile




© OSzone.net 2001-2012