2014-02-11 6 views
0

У меня есть установщик для расширения Lotus Notes. Мне нужно добавить записи в файл notes.ini, чтобы он вызывал мое расширение. Я использую <IniFile addTag> следующим образом:Wix IniFile addTag также добавляет тег во время патча, в результате чего несколько записей ini-файла

<Directory Id="LOTUSNOTESINSTALLDIRECTORY"> 
     <Component Id="NOTESINIADDINMENUS" Guid="{FC239067-1B5D-48b4-AA9A-8B89F62F21E7}" KeyPath="yes" Win64="no"> 
      <IniFile Id="HLBridgeDLLINI" Action="addTag" Directory="LOTUSNOTESINIDIRECTORY" Name="Notes.ini" Section="Notes" Key="AddInMenus" Value="HLBridge.dll"/> 
     </Component> 
    ... 

Это именно то, что я хочу на первоначальной инсталляции. Однако, когда я применяю патч MSP, запись записывается снова, в результате получается двойная запись для HLBridge.dll.

Я попытался использовать условие, такое как "&Feature=3 AND !Feature=2", только для addTag, если функция впервые установлена, но, по-видимому, в Wix значения функции недоступны на данный момент. (Я не могу найти ответ stackoverflow, который сказал мне, почему он не работает.)

Возможно, addLine не будет иметь эту проблему, но отключит другие установленные расширения Notes.

Есть ли способ справиться с этим без написания пользовательского действия?

ответ

1

Вы можете использовать дополнительный компонент, в котором вы добавляете IniFile -tag и дополнительный Condition-tag, поэтому этот компонент и, следовательно, также связанные с этим IniFile -модификации только выполняется, если условие выполнено.
Для самого условия вы также можете посмотреть, например. this question, где свойство PATCH также используется в состоянии.

+0

Спасибо за указатель. Использование '' решает эту проблему. К сожалению, я также обнаружил, что проблема с установкой исправления также вызывает эту проблему. Кажется, не существует переменной REPAIR, и я не разработал выражение, чтобы исключить и ремонт. – jsparkes

+1

@jsparkes См. Эту статью [http://code.dblock.org/msi-property-patterns-upgrading-firstinstall-and-maintenance] при обнаружении сценариев. Также комментарий к статье об обновленном элементе обновления WiX. –