我有一个Lotus Notes扩展程序的安装程序。我需要在notes.ini
文件中添加条目,以便它可以调用我的扩展名。我正在使用<IniFile addTag>
,如下所示:
<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扩展程序。
有没有办法在不编写自定义操作的情况下处理此问题?
答案 0 :(得分:1)
您可以使用其他组件添加IniFile
- 标记和其他Condition
-tag,因此只有条件才会执行此组件以及相关的IniFile
修改满足了。
对于病情本身你也可以看看例如this question其中PATCH
- 属性也用于条件。