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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка приложений (http://forum.oszone.net/forumdisplay.php?f=61)
-   -   Создание файла ответов MST к новым инсталляторам Windows Installer. (http://forum.oszone.net/showthread.php?t=235211)

Anton04 23-05-2012 12:29 1920985

Создание файла ответов MST к новым инсталляторам Windows Installer.
 
Вложений: 1
Здравствуйте. :hi:

Есть задача создать файлы ответов к нескольким программам запакованным MSI.

Сразу оговорюсь, что о Microsoft Office 2003 Resource Kit знаю, пользуюсь, но он подходит только для старых msi инсталляторов (см. вложение).

Для примера: Opera`ы выше 11.01 он не пойдёт, файл ответов создастся, а вот инсталлятор его не примет.
Есть и другие программы которым тоже не пойдёт старый MS Office 2003 Resource Kit и созданные на его основе MST.

Вопрос состоит вот в чём, что есть на подобное Microsoft Office 2003 Resource Kit (такой же простое и незамысловатое) для создания файлов ответов в формате mst?
Перепаковывать MSI не хочу (не вижу смысла), нужно только создание файла ответов.

Буду благодарен всем за дельный совет или направление поиска.

AlexKr 23-05-2012 15:45 1921087

Цитата:

Цитата Anton04
Для примера: Opera`ы выше 11.01 он не пойдёт, файл ответов создастся, а вот инсталлятор его не примет. »

Не соглашусь: Установщик Windows. Версия 4.5.6001.22159. Orca 4.5.6001.0
Сделал .mst, поменял каталог установки. Запускаю msiexec.exe /qb /i Opera_1164_1403_in.msi TRANSFORMS=1049.mst /l opera.log
Выжимка из лога установки:
Код:

=== Logging started: 23.05.2012  14:29:34 ===
Action start 14:29:34: INSTALL.
Action start 14:29:34: ISSetupFilesExtract.
...
Action start 14:29:42: InstallFinalize.
Action ended 14:29:47: InstallFinalize. Return value 1.
Action start 14:29:47: ISSetupFilesCleanup.
1: Deleting Support File:  T:\Temp\{311E9A56-F2B0-4B6A-ABA9-355DA17D9E2F}\msi_helper_dll.dll
Action ended 14:29:47: ISSetupFilesCleanup. Return value 1.
Action start 14:29:47: SetFirewallException.
Action ended 14:29:48: SetFirewallException. Return value 1.
Action ended 14:29:48: INSTALL. Return value 1.
MSI (s) (0C:7C) [14:29:48:500]: Product: Opera 11.64 -- Installation operation completed successfully.

MSI (s) (0C:7C) [14:29:48:500]: Установщик Windows выполнил установку продукта. Продукт: Opera 11.64. Версия: 11.64. Язык: 1033. Установка завершена с состоянием: 0.

=== Logging stopped: 23.05.2012  14:29:48 ===

Все встало аж бегом...

Anton04 23-05-2012 15:58 1921096

AlexKr,

А теперь поподробнее, где вы видели в Orca пошаговый мастер для создания mst как MS Office 2003 Resource Kit?

или я чего-то не понимаю!? :durak:

AlexKr 23-05-2012 16:29 1921118

Цитата:

Цитата Anton04
А теперь поподробнее, где вы видели в Orca пошаговый мастер для создания mst как MS Office 2003 Resource Kit?
или я чего-то не понимаю!? »

Ничего сложного, открыли msi. Пункт меню Transform -> New Transform. Меняем, что надо. Пункт меню Transform -> Generate Transform.
Я вот тут посмотрел лог установки. Похоже MSI сделан в InstallShield. Может еще InstallShield-овская машина требуется? Были у меня такие MSI-установки, которые требовали InstallShield-овская машины, причем именно конкретной версии.

P.S. Невнимательно прочитал предыдущий ответ. Да, действительно, пошагового мастера в Orca нет. Но может там не так много нужно менять?

Anton04 23-05-2012 16:35 1921125

Цитата:

Цитата AlexKr
Ничего сложного, открыли msi. Пункт меню Transform -> New Transform. »

Про эту опцию я знаю, но дело в том что я не хочу менять сам инсталлятор (нужно чтоб он был оригинальным), а хочу только создать файл ответов и всё (чтобы потом воспользоваться cmd и командой c:\Opera_1164_1403_in.msi TRANSFORMS=с:\opera.MST /qb- ) ;)

Цитата:

Цитата AlexKr
Но может там не так много нужно менять? »

Я же привёл только один пример, хоть и самый назойливый и не дающий мне покоя... менять нужно не так уж много, например: добавление файлов, добавление записи в реестр. MS Office 2003 Resource Kit прекрасно бы справился с этим если бы понимал новый инсталляторы. :sorry:

AlexKr 23-05-2012 16:59 1921142

Цитата:

Цитата Anton04
Про эту опцию я знаю, но дело в том что я не хочу менять сам инсталлятор (нужно чтоб он был оригинальным), а хочу только создать файл ответов и всё (чтобы потом воспользоваться cmd и командой c:\Opera_1164_1403_in.msi TRANSFORMS=с:\opera.MST /qb- ) »

Так инсталлятор и не меняется! Если, конечно не сделать Save MSI. Generate Transform просто сохраняет изменения в mst-файл. А прикладываются эти изменения только в процессе инсталляции. В моем случае я создал файл 1049.mst и
Цитата:

Цитата AlexKr
msiexec.exe /qb /i Opera_1164_1403_in.msi TRANSFORMS=1049.mst /l opera.log »

Но универсального пошагового мастера все-равно нет... Кстати если посмотреть через Orca какие изменения делает MS Office 2003 Resource Kit при инсталляции Office, мне кажется там масса ненужной информации. Все руки не доходят сделать такой mst самому. Или через vbscript.

Anton04 23-05-2012 22:10 1921310

Цитата:

Цитата AlexKr
Generate Transform просто сохраняет изменения в mst-файл. »

Где я его создам то в графическом режиме!? MS Office 2003 Resource Kit же не подойдёт...

Цитата:

Цитата AlexKr
Но универсального пошагового мастера все-равно нет... »

Ну совсем универсального то и не надо, в принципе MS Office 2003 Resource Kit устраивает и таким каким есть, вот только научить бы его новые msi понимать...

Цитата:

Цитата AlexKr
Кстати если посмотреть через Orca какие изменения делает MS Office 2003 Resource Kit при инсталляции Office, мне кажется там масса ненужной информации. »

Ну это не критично, т.к. работает же!

Цитата:

Цитата AlexKr
Все руки не доходят сделать такой mst самому. »

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

Может всё же есть какое подобное решение для создания файлов ответов? Хоть намёк на подобное?

AlexKr 24-05-2012 12:33 1921665

Цитата:

Цитата Anton04
Где я его создам то в графическом режиме!? »

Похоже я невнятно объяснил свои действия. По порядку:

Запускаем Orca. Открываем Opera_1164_1403_in.msi
- Пункт Меню Transform -> New Transform
- Слева выбираем таблицу Directory, справа строку OPERA
- Меняем DefaultDir с Opera на Opera2
- Пункт Меню Transform -> Generate Transform
- Сохраняем изменения в виде mst-файла (например 1049.mst)
Закрываем Orca без сохранения Opera_1164_1403_in.msi

Исходный msi не изменен!!!

Запускаем msiexec.exe /qb /i Opera_1164_1403_in.msi TRANSFORMS=1049.mst /l opera.log

Получаем Opera установленную в каталог %ProgramFiles%\Opera2
Вроде все правильно...

Anton04 24-05-2012 12:38 1921668

Цитата:

Цитата AlexKr
Похоже я невнятно объяснил свои действия. По порядку: »

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

Мне нужен именно пошаговый мастер создания mst. Т.к. нужно вносить ещё много изменений помимо банального места установки... ;)

cameron 24-05-2012 14:43 1921715

Anton04,
ну а Install Shield Studio вы использовать не хотите?
это, конечно, из пушки по воробьям...

Anton04 24-05-2012 14:52 1921717

Цитата:

Цитата cameron
ну а Install Shield Studio вы использовать не хотите? »

Естественно, зачем мне такой монстроузный пакет... к тому же ещё и не бесплатный.

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

Iska 24-05-2012 14:52 1921718

Anton04, в принципе, теоретически можно попробовать написать свой собственный мастер для создания файла преобразований, используя HTA+VBScript/PowerShell+Windows Installer SDK. Другое дело, стоит ли такая овчинка выделки?! Делать что-то универсальное, боюсь, себе дороже выйдет.

Anton04 24-05-2012 15:10 1921723

Цитата:

Цитата Iska
Другое дело, стоит ли такая овчинка выделки?! »

Стоит.

Цитата:

Цитата Iska
Делать что-то универсальное, боюсь, себе дороже выйдет. »

Ничего подобного, если универсальное значит широко применимое. Аналог сего это всеми (не)любимый Windows. ;)

P.S. Диспут по поводу того надо/не надо это конечно хорошо, но предложите хотя бы какой программный продукт отвечающий вышеописанным требованиям.

AlexKr 24-05-2012 15:37 1921740

Прошелся я тут MS Office 2003 Resource Kit-ом по инсталляционке Opera. MST-файл он делает, и установка с ним проходит. Только изменения в процессе инсталляции не применяются. Т.е. прочитать стандартные таблицы Feature, Shortcut и Directory он сможет. Но догадаться, что путь для установки Opera задан в строке OPERA, а не Office11 как в PRO11.MSI - нет!
Я это к тому, что врядли можно сваять что-то универсальное. Разве, что полуавтомат какой-нибудь
Цитата:

Цитата Iska
используя HTA+VBScript/PowerShell+Windows Installer SDK »


Iska 24-05-2012 16:01 1921762

Цитата:

Цитата Anton04
…но предложите хотя бы какой программный продукт отвечающий вышеописанным требованиям. »

Я предложил написать:
Цитата:

Цитата Iska
…используя HTA+VBScript/PowerShell+Windows Installer SDK. »


Anton04 24-05-2012 16:04 1921764

Цитата:

Цитата AlexKr
Прошелся я тут MS Office 2003 Resource Kit-ом по инсталляционке Opera. MST-файл он делает, и установка с ним проходит. »

Точно.

Цитата:

Цитата AlexKr
Только изменения в процессе инсталляции не применяются. »

Да.

Цитата:

Цитата AlexKr
Но догадаться, что путь для установки Opera задан в строке OPERA, а не Office11 как в PRO11.MSI - нет! »

Это всё связано с инталлятором msi которым запоковывают новый версии (начиная с 11.01) Opera`ы. Т.к. для старых версий спокойно создаётся этот mst файл и он применяется (сам пробовал и файлы добавлял и прописи в реестр).

Цитата:

Цитата AlexKr
Я это к тому, что врядли можно сваять что-то универсальное. Разве, что полуавтомат какой-нибудь »

Ну не знаю как это называется, может и полуатомат, но мне нужны три действия: добавления файлов, запись в реестр, изменение установки ярлыка (на раб. столе, в пуске или Quick Launch).

Цитата:

Цитата Iska
Я предложил написать: »

Не против, возьмётесь?

cameron 24-05-2012 16:36 1921802

Anton04,
попробуйте это
http://www.thomaskoetzing.de/index.p...=15&Itemid=159

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

AlexKr 24-05-2012 16:38 1921804

Цитата:

Цитата Anton04
Это всё связано с инталлятором msi которым запоковывают новый версии (начиная с 11.01) Opera`ы. Т.к. для старых версий спокойно создаётся этот mst файл и он применяется (сам пробовал и файлы добавлял и прописи в реестр). »

По-моему авторы программ просто не всегда придерживаются однообразия. Напримен на одни msi действует TARGETDIR в командной строке, а на другие INSTALLDIR. И как автоматическому создателю mst-файла задавать целевой каталог? Вот и делают Wizard-ы заточенные то под Office, то под AdobeReader.

Iska 24-05-2012 16:42 1921805

Цитата:

Цитата Anton04
Не против, возьмётесь? »

И я не против. И — нет, разумеется, не возьмусь: у меня нет потребности в подобном универсальном средстве.

Anton04 24-05-2012 16:49 1921813

cameron,

А что конкретно из предложенного InstallTailor 6.0, WICLB 1.0.1.1 или что-то третье?

Цитата:

Цитата AlexKr
По-моему авторы программ просто не всегда придерживаются однообразия. Напримен на одни msi действует TARGETDIR в командной строке, а на другие INSTALLDIR. И как автоматическому создателю mst-файла задавать целевой каталог? »

Ну это дело техники, есть же описание таблиц и что там может быть. Сопоставить одно с другим будет просто. Другое дело что если разработчики не придерживаются стандарта ну таких нафиг...

Цитата:

Цитата Iska
И — нет, разумеется, не возьмусь »

жаль... :sorry: no comment

cameron 24-05-2012 20:06 1921987

Цитата:

Цитата Anton04
InstallTailor 6.0 »


Anton04 25-05-2012 10:03 1922227

cameron,

К сожалению, но не подошёл "this package does not support hiding dialogs" и даже если продолжить все диалоги в каких-то английских названиях строк (типа PLACEHOLDER_-2066447959). :sorry:

Iska 25-05-2012 10:26 1922236

Цитата:

Цитата Anton04
все диалоги в каких-то английских названиях строк (типа PLACEHOLDER_-2066447959). »

Anton04, разве не именно так они выглядят нынче в самом msi-файле Opera?

Anton04 25-05-2012 10:42 1922245

Iska,

Вполне возможно, только всё ровно это не то...

Iska 25-05-2012 11:24 1922267

Цитата:

Цитата Anton04
Вполне возможно, »



Официально msi-инсталлятор для Opera давно уже не поддерживается, увы.

Цитата:

Цитата Anton04
только всё ровно это не то... »

Я понимаю. Мой пост касался только процитированного — касательно «типа PLACEHOLDER», не более.

Anton04 25-05-2012 11:55 1922308

Iska,

Понятно, ищем дальше... может и повезёт...

AlexKr 25-05-2012 13:40 1922367

Цитата:

Цитата Iska
Официально msi-инсталлятор для Opera давно уже не поддерживается, увы »

А чего норвеги с выходом каждой новой версии его выкладывают?

Anton04 25-05-2012 13:59 1922378

Цитата:

Цитата AlexKr
А чего норвеги с выходом каждой новой версии его выкладывают? »

да, в папке autoupdate любой версии...

Iska 25-05-2012 16:22 1922492

Цитата:

Цитата AlexKr
А чего норвеги с выходом каждой новой версии его выкладывают? »

Выкладывать-то выкладывают, но поддерживать — не поддерживают:
Цитата:


But first of all, I'm happy to announce that as of yesterday, this new installer will be the one and only Opera installer. The classic installer and the MSI installer are discontinued, with the exception of MSI autoupdate packages that will still be provided for a while to make people able to update from versions prior to 11.
To put it simply, those of you who dislike MSI won't have to deal with it anymore. For those of you who used the classic installer, we will make sure that you don't miss anything with the new installer.

И далее по ссылке: Opera Desktop Team - The new Opera Installer.

Iska 25-05-2012 19:15 1922609

Anton04, а так ли уж Вам нужен универсальный редактор? Может быть, сгодится и прямой способ, наподобие:
Код:

Option Explicit

Const msiOpenDatabaseModeReadOnly = 0
Const msiOpenDatabaseModeTransact = 1

Dim strPath2OriginalMSI
Dim strPath2WorkingMSI
Dim strPath2MST

Dim objFSO
Dim objWindowsInstaller

Dim strQuery


strPath2OriginalMSI = "C:\Песочница\0008\Opera_1164_1403_in.msi"
strPath2WorkingMSI  = GetTemporaryName()

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

With objFSO
        strPath2MST = .BuildPath(.GetParentFolderName(strPath2OriginalMSI), .GetBaseName(strPath2OriginalMSI) & ".mst")
        .CopyFile strPath2OriginalMSI, strPath2WorkingMSI
End With


Set objWindowsInstaller = WScript.CreateObject("WindowsInstaller.Installer")

' Меняем путь установки приложения по умолчанию:
strQuery = "UPDATE `Directory` SET `DefaultDir`='MyOperaPath' WHERE `Directory` = 'OPERA' AND `Directory_Parent` = 'ProgramFilesFolder'"

With objWindowsInstaller.OpenDatabase(strPath2WorkingMSI, msiOpenDatabaseModeTransact)
        With .OpenView(strQuery)
                .Execute
                .Close
        End With
       
        .Commit
       
        If .GenerateTransform( _
                        objWindowsInstaller.OpenDatabase(strPath2OriginalMSI, msiOpenDatabaseModeReadOnly), _
                        strPath2MST _
                ) Then
               
                WScript.Echo "Create [" & strPath2MST & "]."
        Else
                WScript.Echo "Can't create [" & strPath2MST & "]."
        End If
End With

Set objWindowsInstaller = Nothing
objFSO.DeleteFile strPath2WorkingMSI, True
Set objFSO = Nothing

WScript.Quit 0
'=============================================================================

'=============================================================================
' Серый форум / vbscript: генерация пути для временного файла или папки
' (http://forum.script-coding.com/viewtopic.php?id=1221)
'=============================================================================
Function GetTemporaryName()
        Const TemporaryFolder = 2
       
        Dim strTempName
       
        With WScript.CreateObject("Scripting.FileSystemObject")
                Do
                        strTempName = .BuildPath(.GetSpecialFolder(TemporaryFolder), .GetTempName)
                Loop While .FileExists(strTempName) Or .FolderExists(strTempName)
        End With
       
        GetTemporaryName = strTempName
End Function
'=============================================================================

(полагаю, аналогичного результата можно добиться и при помощи существующих утилит/скриптов из комплекта поставки Windows Installer SDK, разве что свой скрипт даёт большую гибкость). Вам ведь вряд ли нужно создать файлы преобразований для ста тысяч приложений, скорее — периодически пересоздавать файл преобразований с выходом новых версий приложения, так я понял из предыдущего обсуждения.

Anton04 26-05-2012 13:40 1922940

Цитата:

Цитата Iska
Может быть, сгодится и прямой способ, наподобие: »

К сожалению нет, почему см. ниже.

Цитата:

Цитата Iska
Вам ведь вряд ли нужно создать файлы преобразований для ста тысяч приложений, скорее — периодически пересоздавать файл преобразований с выходом новых версий приложения, так я понял из предыдущего обсуждения. »

Да всё верно. Если бы мне нужно было изменять только путь установки, я бы банально поменял его используя Orca и не заморачивался.
Но дело в том что мне нужно ещё и добавлять файлы и делать определённые прописи в реестре. А этого обычным скриптом уж не сделаешь. И главное всё это запихнуть в mst (чтоб распространять уже через GPO).

Вот поэтому и ищется такое средство.

Iska 26-05-2012 20:14 1923057

Цитата:

Цитата Anton04
Но дело в том что мне нужно ещё и добавлять файлы и делать определённые прописи в реестре. А этого обычным скриптом уж не сделаешь. »

Точно нельзя? Вы пробовали (я не пробовал, потому не могу дать какого-либо суждения)? Приведите какой-либо конкретный пример потребного файла и параметра в реестре.

Цитата:

Цитата Anton04
И главное всё это запихнуть в mst (чтоб распространять уже через GPO). »

Изменение пути в приведённом примере я, пользуясь Вашей терминологией, «запихнул» в *.mst. Что не так?!

Anton04 26-05-2012 23:01 1923129

Цитата:

Цитата Iska
Точно нельзя? Вы пробовали »

Нет не пробовал. Но я имел в виду именно Ваш приведённый скрипт.

Цитата:

Цитата Iska
Приведите какой-либо конкретный пример потребного файла и параметра в реестре. »

Не понимаю зачем это, так инструмента для добавления его в mst всё ровно нет...

Цитата:

Цитата Iska
Изменение пути в приведённом примере я, пользуясь Вашей терминологией, «запихнул» в *.mst. Что не так?! »

Частичное решение не устраивает. Мне нужно или всё или ничего.

Iska 27-05-2012 03:08 1923207

Цитата:

Цитата Anton04
Нет не пробовал. Но я имел в виду именно Ваш приведённый скрипт. »

Там было в качестве примера только изменение пути установки.

Цитата:

Цитата Anton04
Не понимаю зачем это…»

Затем, чтобы мне не приходилось изобретать примеры с ярлыком и реестром, которые Вам однозначно не пригодятся. Однако фактически, коллега, Вы вынуждаете меня делать это, не приводя ответа на прямо поставленный мною вопрос.

Цитата:

Цитата Anton04
…так инструмента для добавления его в mst всё ровно нет... »

А если найду добавлю?

Цитата:

Цитата Anton04
Частичное решение не устраивает. Мне нужно или всё или ничего. »

Ну, так попробуйте наконец. Windows Installer весьма и весьма масштабируемая технология.

Например:
Код:

Option Explicit

Const msiOpenDatabaseModeReadOnly = 0
Const msiOpenDatabaseModeTransact = 1

Dim strPath2OriginalMSI
Dim strPath2WorkingMSI
Dim strPath2MST

Dim objFSO
Dim objWindowsInstaller
Dim objDatabase

Dim strQuery


strPath2OriginalMSI = "D:\Install\Opera\Opera 11.64\Opera_1164_1403_in.msi"
strPath2WorkingMSI  = GetTemporaryName()

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

With objFSO
        strPath2MST = .BuildPath(.GetParentFolderName(strPath2OriginalMSI), .GetBaseName(strPath2OriginalMSI) & ".mst")
        .CopyFile strPath2OriginalMSI, strPath2WorkingMSI
End With


Set objWindowsInstaller = WScript.CreateObject("WindowsInstaller.Installer")

With objWindowsInstaller.OpenDatabase(strPath2WorkingMSI, msiOpenDatabaseModeTransact)
        ' Меняем путь установки приложения по умолчанию:
        strQuery = "UPDATE `Directory` SET `DefaultDir`='MyOperaPath' WHERE `Directory` = 'OPERA' AND `Directory_Parent` = 'ProgramFilesFolder'"
       
        With .OpenView(strQuery)
                .Execute
                .Close
        End With
       
        ' Добавляем параметр реестра:
        strQuery = "INSERT INTO `Registry` " & _
                "(`Registry`,  `Root`, `Key`,                    `Name`,    `Value`,                      `Component_`) VALUES " & _
                "('Registry15', 2,      'SOFTWARE\Opera Software', 'My Key', 'My Value', 'ApplicationRegistration')"
       
        With .OpenView(strQuery)
                .Execute
                .Close
        End With
       
        ' Добавляем ярлык:
        strQuery = "INSERT INTO `Shortcut` " & _
                "(`Shortcut`,        `Directory_`,    `Name`,    `Component_`,  `Target`,                          `ShowCmd`) VALUES " & _
                "('DesktopShortcut0', 'DesktopFolder', 'License', 'DesktopIcon', '[INSTALLDIR]defaults\license.txt', 1)"
       
        With .OpenView(strQuery)
                .Execute
                .Close
        End With
       
        .Commit
       
        Set objDatabase = objWindowsInstaller.OpenDatabase(strPath2OriginalMSI, msiOpenDatabaseModeReadOnly)
       
        If .GenerateTransform(objDatabase, strPath2MST) Then
                .CreateTransformSummaryInfo objDatabase, strPath2MST, 0, 0
               
                WScript.Echo "Create [" & strPath2MST & "]."
        Else
                WScript.Echo "Can't create [" & strPath2MST & "]."
        End If
       
        Set objDatabase = Nothing
End With

Set objWindowsInstaller = Nothing
objFSO.DeleteFile strPath2WorkingMSI, True

Set objFSO = Nothing

WScript.Quit 0
'=============================================================================

'=============================================================================
' Серый форум / vbscript: генерация пути для временного файла или папки
' (http://forum.script-coding.com/viewtopic.php?id=1221)
'=============================================================================
Function GetTemporaryName()
        Const TemporaryFolder = 2
       
        Dim strTempName
       
        With WScript.CreateObject("Scripting.FileSystemObject")
                Do
                        strTempName = .BuildPath(.GetSpecialFolder(TemporaryFolder), .GetTempName)
                Loop While .FileExists(strTempName) Or .FolderExists(strTempName)
        End With
       
        GetTemporaryName = strTempName
End Function
'=============================================================================


Anton04 28-05-2012 10:45 1923806

Цитата:

Цитата Iska
Там было в качестве примера только изменение пути установки. »

И именно поэтому не устраивает тоже. Потому как я писал выше
Цитата:

Цитата Anton04
Если бы мне нужно было изменять только путь установки, я бы банально поменял его используя Orca и не заморачивался. »

;)

Цитата:

Цитата Iska
А если найду добавлю? »

Хм.... заманчивое предложение... Но как же Ваше предыдущее высказывание
Цитата:

Цитата Iska
И я не против. И — нет, разумеется, не возьмусь: у меня нет потребности в подобном универсальном средстве. »

!?
Передумали? Тогда могу озвучить задачу подробно, полностью и с примерами..

Цитата:

Цитата Iska
Windows Installer весьма и весьма масштабируемая технология. »

Не сомневаюсь...

Iska 28-05-2012 11:35 1923823

Цитата:

Цитата Anton04
Но как же Ваше предыдущее высказывание »

Ничего не изменилось: за создание универсального средства я по-прежнему не возьмусь.


Цитата:

Цитата Anton04
Тогда могу озвучить задачу подробно, полностью и с примерами.. »

Попробуйте изложить, хотя я предполагал, что Вы выкатите уже готовый потребный Вам msi-пакет Opera с внесёнными изменениями (например, посредством того же Orca).

Anton04 28-05-2012 12:44 1923850

Цитата:

Цитата Iska
хотя я предполагал, что Вы выкатите уже готовый потребный Вам msi-пакет Opera с внесёнными изменениями (например, посредством того же Orca). »

Нет такого у меня нет, это то как раз и планируется! ;)
Брать оригинальный msi пакет и на его основе создавать файл ответов (mst) со всеми вкусностями которые может предоставить нам этот файл ответов. А что же тогда это коли не универсальное средство!?

Цитата:

Цитата Iska
Попробуйте изложить »

Попробую в контексте той же Opera`ы в качестве примера:

Есть оригинальный msi пакет (Opera_1164_1403_in.msi). Нужно создать файл ответов в который добавляется настроенный профиль пользователя со всеми необходимыми прибамбасами, т.е. содержимое папки profile Opera`ы. Добавляться должно по стандартному многоприфильному пути в %APPDATA%\opera\opera и в профиль по умолчанию. Плюс вносится изменение в реестр в раздел HKLM\Software\Classes и HKCU\Software\Classes из заранее сохранённого reg файла (фактически ставятся такие опции как "использовать браузер по умолчанию" и ассоциация на открытие этим браузером соответствующих типов файлов, вполне вероятно что именно вмешательство в реестр и не понадобится если в файле ответов будет указана опция "Использовать браузер по умолчанию").

MKN 28-05-2012 13:06 1923864

Anton04,
Попробуй создать mst с помощью Instedit (http://www.instedit.com/workingwithtransforms.html) или с помощью более серьёзного ПО - AdminStudio Tuner (пример был здесь : http://technet.microsoft.com/ru-ru/l.../bb490284.aspx )

ИМХО, конкретно для Opera , использовать mst - извращение. Гораздо проще и эффективнее варьировать установкой с помощью собственного набора ключей, сделав собственный установщик, к примеру на NSIS.

Можно конечно с помощью NSIS, управлять и msi установкой. Но это будет двойное извращение... :)

Anton04 28-05-2012 13:19 1923871

Цитата:

Цитата MKN
Попробуй создать mst с помощью Instedit »

Попробую отпишусь. :hi:
Посмотрел, насколько я понял данный продукт не очень то отличается от Orca. К сожалению не пойдёт, т.к. у него другое "призвание".

Цитата:

Цитата MKN
или с помощью более серьёзного ПО - AdminStudio Tuner »

Это, как было сказано выше, из пушки по воробьям. ;)

Цитата:

Цитата MKN
ИМХО, конкретно для Opera , использовать mst - извращение. Гораздо проще и эффективнее варьировать установкой с помощью собственного набора ключей, сделав собственный установщик, к примеру на NSIS. »

Не извращение, а вполне нормально, т.к. всё планируется разворачивать через GPO и никакие NSIS в GPO не приемлемы. ;)

Iska 28-05-2012 13:51 1923888

Цитата:

Цитата Anton04
А что же тогда это коли не универсальное средство!? »

В моём представлении — конкретно «заточенное» вполне определённым и заранее заданным способом, под определённое приложение, средство.

Цитата:

Цитата Anton04
т.к. »

Я правильно сообразил, что сие должно означать «такой как»?


Цитата:

Цитата Anton04
Нужно создать файл ответов в который добавляется настроенный профиль пользователя со всеми необходимыми прибамбасами, »

По здравому размышлению — нет, за внедрение с нуля кучи файлов в пакет я не возьмусь. Уж больно много возиться придётся — дюже хлопотно выйдет, особливо учитывая не совсем стандартный состав msi-пакета от Opera.

Если не станете использовать предложенное коллегой MKN средство, и возникнет желание — загрузите Windows Installer SDK и попробуйте разобраться сами.

Anton04 28-05-2012 14:22 1923902

Цитата:

Цитата Iska
В моём представлении — конкретно «заточенное» вполне определённым и заранее заданным способом, под определённое приложение, средство. »

К сожалению в этом мы с Вами немного расходимся...

Цитата:

Цитата Iska
Я правильно сообразил, что сие должно означать «такой как»? »

не совсем но смысл верен... подправил.

Цитата:

Цитата Iska
за внедрение с нуля кучи файлов в пакет я не возьмусь. »

Жаль, но за само желание благодарю :hi:

Iska 28-05-2012 14:25 1923903

Цитата:

Цитата Anton04
Жаль, но за само желание благодарю »

Банально нет времени разбираться. Не хочу наобещать, а потом не сделать.

dimagromyko 29-05-2012 16:31 1924538

[post]Здравствуйте.
Есть задача создать файлы ответов к нескольким программам запакованным MSI.[/post]

Anton04, гугли в сторону Wise InstallTailor (в общем случае). Позволяет пробежаться по диалоговым окнам инсталятора, и выбрать нужные значения, после чего данная тулза просто сформирует тебе Трансформ с нужными данными.

В некоторых ситуациях лучше использовать вендоровские утилиты. Так, например, Adobe Reader, всякие Фотошопы, Sap-ы и пр. имеют собственные утилиты для создания файла ответов и/или msi (по каждому конкретному случаю нужно искать данные утилиты на сайте разработчика). Если такие утилиты есть - лучше использовать их, поскольку таким образом ты не нарушишь лицензии распространения софта, и можно сходу отредактировать те параметры, которые в ином случае возможно и не так просто будет самому указать (например подавление всяких автоапдейтов, EULA, дефолтные пользовательские настройки и т.п.).

Anton04 29-05-2012 16:36 1924539

Цитата:

Цитата dimagromyko
гугли в сторону Wise InstallTailor (в общем случае). Позволяет пробежаться по диалоговым окнам инсталятора, и выбрать нужные значения, после чего данная тулза просто сформирует тебе Трансформ с нужными данными. »

Благодарствую посмотрю. Стоп, по моему это уже предлагали!? или вы имеете в виду другой InstallTailor !?

Цитата:

Цитата dimagromyko
В некоторых ситуациях лучше использовать вендоровские утилиты. Так, например, Adobe Reader, всякие Фотошопы, Sap-ы и пр. имеют собственные утилиты для создания файла ответов и/или msi (по каждому конкретному случаю нужно искать данные утилиты на сайте разработчика). Если такие утилиты есть - лучше использовать их, поскольку таким образом ты не нарушишь лицензии распространения софта, и можно сходу отредактировать те параметры, которые в ином случае возможно и не так просто будет самому указать (например подавление всяких автоапдейтов, EULA, дефолтные пользовательские настройки и т.п.). »

Спасибо, но на этот счёт я полностью в курсе. ;)

MKN 29-05-2012 17:43 1924590

Цитата:

Цитата Anton04
всё планируется разворачивать через GPO и никакие NSIS в GPO не приемлемы. »

Отчего же ? Любое ПО, не обязательно созданное с помощью MSI, можно разворачивать посредством GPO.
К примеру, обсуждалось здесь ( и не только ) :
http://social.technet.microsoft.com/...5-1aaaa2741bc9
http://social.technet.microsoft.com/...5-6958d02c63c1

Anton04 29-05-2012 18:03 1924600

Цитата:

Цитата MKN
Отчего же ? Любое ПО, не обязательно созданное с помощью MSI, можно разворачивать посредством GPO. »

В курсе, но через скрипты не устраивают по многим параметрам.

Dodj16 01-06-2012 13:14 1926013

Anton04,
Стоит уточнить, что MST это не файл ответа для msi, a трансформ.
Вот, что об этом думает Microsoft-> msdn.

Зря вы обиднли InstEd, это как раз его прямое назначение - редактирование MSI, как напрямую, так и через трансформ.
Да, он не имеет визардов, очень многое, если не все, вам прийдется делать руками, но я сомневаюсь, что вы найдете бесплатный аналог InstallTailor.
Последнии версии InstEd поддерживают импорт записей из reg и ini файлов.

Anton04 01-06-2012 13:32 1926029

Цитата:

Цитата Dodj16
Стоит уточнить, что MST это не файл ответа для msi, a трансформ. »

Я это понимаю, но для простоты восприятия сознательно упростил.

Цитата:

Цитата Dodj16
Зря вы обиднли InstEd »

Я ни к коем случае не обижал достоинства сей софтины, просто моё мнение, что данный софт должен быть простым как валенок, т.к. функций от него требуется ну совсем ограниченное количество. ;)

Цитата:

Цитата Dodj16
Последнии версии InstEd поддерживают импорт записей из reg и ini файлов. »

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

Anton04 26-06-2012 13:37 1940749

All

Коли данный вопрос остался не решённым хочу поделится ссылками на более сложную альтернативу, а именно создание MSI. Вот что мне из статей понравилось больше всего:

Особенности подготовки инсталляции приложения для автоматической (unattended) установки в Windows OS

С чего начать изучение Windows Installer?

Возможно кому нибудь пригодится.


Время: 11:39.

Время: 11:39.
© OSzone.net 2001-