Как узнать значения по умолчанию при выполнении MSI с / qn (тихий режим)? - PullRequest
6 голосов
/ 28 октября 2009

Когда я запускаю MSI (без параметров), мне обычно приходится переходить по диалоговым окнам и выбирать, хочу ли я установить для текущего пользователя / всех пользователей, целевой каталог и т. Д. И т. Д. Что происходит, когда я запускаю MSI с / qn (тихий режим). Как найти ответы, которые автоматически выбираются для всех этих диалоговых окон?

Ответы [ 2 ]

6 голосов
/ 28 октября 2009

MSI - это в основном база данных. Вы можете использовать Orca, чтобы открыть его и просмотреть / изменить настройки.

  • Информацию об Orca можно найти здесь .
  • Краткое руководство о том, как использовать Orca можно найти здесь .
  • Относительно вашего вопрос, вы можете редактировать, какие пользователи установщик установит в тихом Режим. Информация здесь .

Надеюсь, это, по крайней мере, направило вас в правильном направлении.

Edit:

Например, скачайте установщик для WiX 3.0 и откройте его в Orca.

  1. Перейдите в таблицу свойств, и вы увидите список общедоступных (заглавных) и частных свойств.
  2. Обратите внимание, что для свойства WIXUI_INSTALLDIR установлено значение APPLICATIONFOLDER.
  3. Перейдите в таблицу Directory, и вы увидите, что для APPLICATIONFOLDER по умолчанию установлено значение vqee3ld3|Windows Installer XML v3 или что-то подобное.
  4. Чтобы узнать, какой диалог устанавливает это свойство, перейдите в таблицу ControlEvent. Здесь вы увидите, что InstallDirDlg запускает событие SetTargetPath, когда пользователь нажимает на элемент управления Next. Аргумент, который устанавливает это событие: WIXUI_INSTALLDIR, который, в свою очередь, устанавливает APPLICATIONFOLDER

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

msiexec /i Wix3.msi APPLICATIONFOLDER="C:\Program Files\WiX" /qn

Подробнее о табличных структурах MSI в этой powerpoint

1 голос
/ 11 июня 2011

Это правильно, что вы можете установить свойства PUBLIC через командную строку. Эти свойства всегда в верхнем регистре и, как правило, всегда перечислены в таблице свойств, хотя это не обязательно так. Просматривая таблицу свойств, вы сможете расшифровать, что делает каждое публичное свойство. Если нет, то обычно есть документация, сопровождающая MSI в форме PDF или readme.txt, которая может помочь.

С помощью правильного инструмента вы также можете просмотреть детали каждого диалога MSI и проверить события, которые были определены для их установки. Для этого требуется такой инструмент, как Installshield или Wise.

Другой возможный вариант установки без вывода сообщений - встроенная функция MSI, о которой я только что узнал: свойство AdminProperties. Смотрите информацию здесь: http://msdn.microsoft.com/en-us/library/aa367542(v=vs.85).aspx

...