我有一个 .wxs 文件,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<Directory>
<Directory Id="d1">
<Component Id="c1" ...>
<File Id="f1" KeyPath="yes" ... />
</Component>
<Component Id="c2" ...>
<File Id="f2" KeyPath="yes" ... />
</Component>
<Component Id="c3" ...>
<File Id="f3" KeyPath="yes" ... />
</Component>
</Directory>
<Directory>
<Component>
...
</Directory>
...
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="cg1">
<ComponentRef Id="c1" />
<ComponentRef Id="c2" />
<ComponentRef Id="c3" />
...
</ComponentGroup>
</Fragment>
</Wix>
我想“合并”上面的组件,即,我想将文件 f2、f3 移动到组件 c1 中,并想删除组件 c2、c3 以及 c2、c3 的组件引用。在我的实际源代码中,有更多目录,包括组件。我的目的是减少组件的数量,即对于任何模式,例如
<Directory>
<Component>
<File KeyPath="yes" />
</Component>
<Component>
<File KeyPath="yes" />
</Component>
...
<Component>
<File KeyPath="yes" />
</Component>
</Directory>
我想将它们简化为一个组件(可能是第一个组件),包括许多文件,例如:
<Directory>
<Component>
<File KeyPath="yes" />
<File />
...
<File />
</Component>
</Directory>
我知道不建议在一个组件中包含许多文件,但我想这样做以减少卸载时间。现在,我的安装程序需要很长时间才能卸载,我认为这是因为它的组件太多(大约 20,000 个)。
任何帮助,将不胜感激。谢谢你。