Включить функцию по умолчанию в WIX - PullRequest
1 голос
/ 22 сентября 2011

Расширяя WIX-установщик, который я должен поддерживать, я столкнулся со следующей проблемой - при отображении дерева компонентов и компонентов функция продукта по умолчанию не выбирается .

Я пробовал разные варианты, включая добавление InstallDefault ='local', TypicalDefault ='install' и Absent = 'disallow', однако функция все еще отключена.

Вот код, который описывает функцию:

<Feature    Id="Complete" Level="1"
  Display='expand'
  InstallDefault ='local'
  TypicalDefault ='install'
  Absent = 'disallow'
  Title="$(var.ProductName)">
  <ComponentGroupRef Id="Required_files"/>
  <?ifdef InstallDriver?>
    <ComponentGroupRef Id='driver_files'/>
  <?endif?>
  <ComponentRef Id="ProgramMenuShortcuts"/>
  <ComponentRef Id="ProductInfo"/>
  <?ifdef RemoveAllRegKeys?>
    <ComponentRef Id="RegRemoveAll"/>
  <?endif?>
  <ComponentGroupRef Id="FBmodule"/>
</Feature>

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

MSI (c) (FC:90) [16:43:57:559]: PROPERTY CHANGE: Adding MsiSelectionTreeSelectedFeature property. Its value is 'Complete'.
MSI (c) (FC:90) [16:43:57:559]: PROPERTY CHANGE: Adding MsiSelectionTreeSelectedAction property. Its value is '2'.
MSI (c) (FC:90) [16:43:57:559]: PROPERTY CHANGE: Adding MsiSelectionTreeSelectedCost property. Its value is '0'.
Action 16:43:57: FeaturesDlg. Dialog created
MSI (c) (FC:90) [16:51:44:645]: Note: 1: 2727 2:  
 .... many repetitions of Note: 1: 2727 2:  
MSI (c) (FC:90) [16:51:45:146]: Note: 1: 2727 2:  
MSI (c) (FC:90) [16:51:45:630]: Note: 1: 2205 2:  3: MsiAssembly 
MSI (c) (FC:90) [16:51:45:630]: Note: 1: 2228 2:  3: MsiAssembly 4:  SELECT `MsiAssembly`.`Attributes`, `MsiAssembly`.`File_Application`, `MsiAssembly`.`File_Manifest`,  `Component`.`KeyPath` FROM `MsiAssembly`, `Component` WHERE  `MsiAssembly`.`Component_` = `Component`.`Component` AND `MsiAssembly`.`Component_` = ? 
MSI (c) (FC:90) [16:51:45:630]: Note: 1: 2205 2:  3: _RemoveFilePath 
MSI (c) (FC:90) [16:51:45:639]: Note: 1: 2727 2:  
MSI (c) (FC:90) [16:51:45:647]: PROPERTY CHANGE: Modifying MsiSelectionTreeSelectedAction property. Its current value is '2'. Its new value: '3'.
MSI (c) (FC:90) [16:51:45:647]: PROPERTY CHANGE: Modifying MsiSelectionTreeSelectedCost property. Its current value is '0'. Its new value: '7318'.

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

Каковы рекомендуемые действия по устранению неполадок?

Вот полный журнал установки .

1 Ответ

0 голосов
/ 29 сентября 2011

Я нашел виновника.С самим установщиком все в порядке, проблема в том, как он запускается.

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

Аргументы командной строки REINSTALL = ALL REINSTALLMODE = vomus должны применяться только тогда, когда программа установки обновляет программу;когда запускается таким образом на чистой системе - индикатор выполнения перемещается и все идет как положено, но на самом деле ничего не установлено.

Другими словами, ошибка была в методе тестирования.

...