|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Создание файла ответов MST к новым инсталляторам Windows Installer. |
|
|
Создание файла ответов MST к новым инсталляторам Windows Installer.
|
|
Ветеран Сообщения: 2212 |
Здравствуйте.
![]() Есть задача создать файлы ответов к нескольким программам запакованным MSI. Сразу оговорюсь, что о Microsoft Office 2003 Resource Kit знаю, пользуюсь, но он подходит только для старых msi инсталляторов (см. вложение). Для примера: Opera`ы выше 11.01 он не пойдёт, файл ответов создастся, а вот инсталлятор его не примет. Есть и другие программы которым тоже не пойдёт старый MS Office 2003 Resource Kit и созданные на его основе MST. Вопрос состоит вот в чём, что есть на подобное Microsoft Office 2003 Resource Kit (такой же простое и незамысловатое) для создания файлов ответов в формате mst? Перепаковывать MSI не хочу (не вижу смысла), нужно только создание файла ответов. Буду благодарен всем за дельный совет или направление поиска. |
|
|
------- Отправлено: 12:29, 23-05-2012 |
|
Ветеран Сообщения: 2212
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Iska:
Но дело в том что мне нужно ещё и добавлять файлы и делать определённые прописи в реестре. А этого обычным скриптом уж не сделаешь. И главное всё это запихнуть в mst (чтоб распространять уже через GPO). Вот поэтому и ищется такое средство. |
||
|
------- Отправлено: 13:40, 26-05-2012 | #31 |
|
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Anton04:
Цитата Anton04:
|
||
|
Отправлено: 20:14, 26-05-2012 | #32 |
|
Ветеран Сообщения: 2212
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Iska:
Цитата Iska:
|
|||
|
------- Отправлено: 23:01, 26-05-2012 | #33 |
|
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Anton04:
Цитата Anton04:
Цитата Anton04:
Цитата Anton04:
Например: 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
'=============================================================================
|
||||
|
Отправлено: 03:08, 27-05-2012 | #34 |
|
Ветеран Сообщения: 2212
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Anton04:
![]() Цитата Iska:
Цитата Iska:
Передумали? Тогда могу озвучить задачу подробно, полностью и с примерами.. Цитата Iska:
|
|||||
|
------- Отправлено: 10:45, 28-05-2012 | #35 |
|
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Anton04:
Цитата Anton04:
|
||
|
Отправлено: 11:35, 28-05-2012 | #36 |
|
Ветеран Сообщения: 2212
|
Профиль | Отправить PM | Цитировать Цитата Iska:
![]() Брать оригинальный msi пакет и на его основе создавать файл ответов (mst) со всеми вкусностями которые может предоставить нам этот файл ответов. А что же тогда это коли не универсальное средство!? Цитата Iska:
Есть оригинальный msi пакет (Opera_1164_1403_in.msi). Нужно создать файл ответов в который добавляется настроенный профиль пользователя со всеми необходимыми прибамбасами, т.е. содержимое папки profile Opera`ы. Добавляться должно по стандартному многоприфильному пути в %APPDATA%\opera\opera и в профиль по умолчанию. Плюс вносится изменение в реестр в раздел HKLM\Software\Classes и HKCU\Software\Classes из заранее сохранённого reg файла (фактически ставятся такие опции как "использовать браузер по умолчанию" и ассоциация на открытие этим браузером соответствующих типов файлов, вполне вероятно что именно вмешательство в реестр и не понадобится если в файле ответов будет указана опция "Использовать браузер по умолчанию"). |
||
|
------- Последний раз редактировалось Anton04, 28-05-2012 в 14:03. Отправлено: 12:44, 28-05-2012 | #37 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать 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 установкой. Но это будет двойное извращение... ![]() |
|
Отправлено: 13:06, 28-05-2012 | #38 |
|
Ветеран Сообщения: 2212
|
Профиль | Отправить PM | Цитировать Цитата MKN:
![]() Посмотрел, насколько я понял данный продукт не очень то отличается от Orca. К сожалению не пойдёт, т.к. у него другое "призвание". Цитата MKN:
![]() Цитата MKN:
![]() |
|||
|
------- Последний раз редактировалось Anton04, 28-05-2012 в 13:30. Отправлено: 13:19, 28-05-2012 | #39 |
|
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Anton04:
Цитата Anton04:
Цитата Anton04:
Если не станете использовать предложенное коллегой MKN средство, и возникнет желание — загрузите Windows Installer SDK и попробуйте разобраться сами. |
|||
|
Отправлено: 13:51, 28-05-2012 | #40 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| [решено] Выбор файла ответов при установке Windows | Omnividente | Автоматическая установка Windows 2000/XP/2003 | 2 | 28-07-2010 18:53 | |
| [решено] При наличии файла ответов нет функции Восстановления (Repair, [R]) | toai | Автоматическая установка Windows 2000/XP/2003 | 33 | 27-03-2009 11:20 | |
| [решено] Два файла ответов и графическое меню | XDeveloper | Автоматическая установка Windows 2000/XP/2003 | 1 | 26-06-2008 13:47 | |
| Нужна помощь по настройкам файла ответов и его срабатыванию при установке | Wu-Tang | Хочу все знать | 97 | 28-05-2008 18:53 | |
| Vista unattend установка - вопрос о параметрах файла ответов | bekas | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 5 | 20-12-2006 11:43 | |
|