Как предварительно установить MSI SecureCustomProperties, которые не определены в Свойствах, чтобы разрешить автоматическую установку? - PullRequest
0 голосов
/ 25 августа 2018

MSI конкретного производителя обычно устанавливается через обертку EXE, но я пытаюсь выполнить установку без вывода сообщений через GPO. Я изо всех сил пытаюсь предварительно установить SecureCustomProperties.

Поставщик документирует параметры командной строки UPPERCASE, которые можно передать в оболочку EXE, и я предполагаю, что они передаются в MSI. Используя Orca, я вижу, что таблица свойств MSI содержит SecureCustomProperties. Значение этого ключа представляет собой список всех задокументированных параметров, разделенных точкой с запятой, UPPERCASE.

Однако каждый отдельный параметр не имеет соответствующего ключа в свойствах. Как их предварительно настроить?

Согласно Как лучше использовать файлы MSI

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

Могу ли я просто добавить каждый параметр в качестве ключа в свойствах и добавить свое собственное значение? Если так, я должен оставить параметры в SecureCustomProperties?

Пример:

SecureCustomProperties: BLAH1;BLAH2;DBHEADER;BLAH4

DBHEADER - это , а не ключ в свойствах. Как мне установить значение DBHEADER?

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Методом проб и ошибок я обнаружил, что использование Orca для добавления отсутствующих ключей в таблицу свойств работает.

Пример:

SecureCustomProperties: BLAH1;BLAH2;DBHEADER;BLAH4

DBHEADER не существует в качестве ключа (строки) в свойстве, поэтому мы не можем его установить.

Решение:

Добавьте ключ DBHEADER с моим желаемым значением (Live) в таблицу свойств.

Adding row with Orca

Resulting new row added

Затем сгенерируйте и используйте полученное преобразование MSI, как описано в другом месте.

0 голосов
/ 26 августа 2018

Короткая версия : эту версию вы можете попробовать в первую очередь.

  1. Запустите this из командной строки ( административная установка - возможно):

    setup.exe /a
    
  2. Извлечение в местоположение по вашему выбору - если возможно (подробнее об извлечении ниже).

  3. Возьмите MSI и откройте его с помощью Orca и сгенерируйте преобразование, как описано ниже - установка SecureCustomProperties в Property table

  4. Попробуйте установить без вывода сообщений, используя setup.exe или msiexec.exe , если вы запускаете MSI самостоятельно (выберите одну из приведенных ниже командлинии):

    setup.exe /s /v"TRANSFORMS=\"C:\Transforms\1.mst\""
    
    setup.exe /s /f1”c:\temp\my-answer-file.iss” /v"C:\Transforms\1.mst"
    
    msiexec.exe /I "C:\Your.msi" /QN /L*V "C:\msilog.log" TRANSFORMS="C:\My.mst"
    

В пункте 4 командные строки предназначены для Basic MSI, Installscript MSI и vanilla, extracted MSI соответственно.Для Installscript MSI необходим файл ответов.Это может быть найдено в извлечении, или иначе это должно быть сгенерировано.См. Ниже.


Преобразование : I would use a transform.Преобразования могут изменить «что угодно» в MSI, и, следовательно, он также может легко установить SecureCustomProperties.По сути, это свойство является мерой безопасности (ограничивающей то, какие свойства можно передать процессу установки с повышенными правами из последовательности графического интерфейса), и, следовательно, я предполагаю, что они не хотят, чтобы его можно было установить через командную строку (мое предположение).

Setup.exe против MSI : вы можете попробовать развернуть setup.exe напрямую с помощью команды установки без вывода сообщений, или вы можете попробовать извлечьвнедренный файл MSI вместе с его предварительными условиями из setup.exe и развертывание их отдельно.Очень часто для развертывания не требуются предварительные условия, например .NET Framework.С извлеченным MSI также гораздо проще работать, поскольку он поддерживает стандартизированные командные строки. Позвольте мне показать краткий пример:

msiexec.exe /I "C:\Your.msi" /QN /L*V "C:\msilog.log" TRANSFORMS="C:\1031.mst;C:\My.mst"

Краткое описание параметров :

/I = run install sequence
/QN = run completely silently
/L*V "C:\msilog.log" = verbose logging
TRANSFORMS="C:\1031.mst;C:\My.mst" = Apply transforms 1031.mst and My.mst (see below).

Извлечение файла : К сожалению, setup.exe может иметь множество параметров: от legacy installers до Installscript MSI до Basic MSI (оба из Installshield) иразличные другие возможности существуют от других поставщиков.Они могут даже быть Installshield Suite projects - которые снова имеют совершенно другую командную строку.Это установщики, которые могут устанавливать любое количество файлов EXE и MSI по очереди.Я написал аналогичный ответ на днях на тему, как извлекать файлы И / ИЛИ устанавливать без вывода сообщений: Создать MSI из извлеченных установочных файлов - пожалуйста, просмотрите этот ответ.Он фокусируется на извлечении файлов, но также описывает автоматическую установку с использованием setup.exe.

Прежде чем пытаться что-либо еще, попробуйте это:

 setup.exe /a

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


Предложения : Как указано, вы можете извлечьsetup.exe или попробуйте запустить его молча.Я предпочитаю извлечение, но позвольте мне предложить некоторые возможные командные строки для установки без вывода сообщений через setup.exe.Я не знаю деталей вашего setup.exe, но позвольте мне сделать несколько предположений:

Basic MSI :

setup.exe /s /v"TRANSFORMS=\"C:\Transforms\1.mst\""

InstallscriptMSI :

  • Шаг 1 : записать файл ответов:

    setup.exe /r /f1”c:\temp\my-answer-file.iss”
    
  • Шаг 2 : базовая установка без вывода сообщений (с использованием файла ответов) и применение преобразования:

    setup.exe /s /f1”c:\temp\my-answer-file.iss” /v"C:\Transforms\1.mst"
    

Создание преобразования : преобразование можно создать в Orca или любом другом инструменте развертывания MSI. Бесплатные инструменты . Основные инструменты (бесплатные и коммерческие).В Orca вы открываете MSI , а затем идете Transforms => New Transform.Затем вы меняете то, что нужно изменить - в вашем случае таблицу свойств и SecureCustomProperties.Когда вы будете готовы: Transforms => Generate Transform... Теперь сохраните преобразование.


Файл справки Installshield :

В справочном файле Installshield есть несколько соответствующих разделов. Пожалуйста, изучите их, если вам нужно больше настроек параметров установки .Все ключи описаны здесь - эти ссылки предназначены для Installshield выпуска 2018 года:

...