我是WiX的新手,但我有一个问题我无法弄明白。我有以下代码"安装"很好(基本上它只是将一个文本文件添加到Program Files文件夹中)。
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="WixTemplate" Language="1033" Version="1.0.0.0" Manufacturer="My Company" UpgradeCode="d7c4cfc2-4e50-4002-9273-e900112e2b03">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes"/>
<Feature Id="ProductFeature" Title="WixTemplate" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="WixTemplate" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="TextFileComponent">
<File Id="FooTxt" Source="foo.txt" />
</Component>
</ComponentGroup>
</Fragment>
</Wix>
但是,如果我将功能部分移动到其自己的Fragment,它编译得很好,但是当我使用日志记录运行它时,它会失败并显示整体&#34;安装成功或错误状态: 1603&#34;并且第一个错误值为3表示&#34;注意:1:2205 2:3:ActionText&#34;意味着找不到ActionText表。
以下是无法安装的代码:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="WixTemplate" Language="1033" Version="1.0.0.0" Manufacturer="Blue Ribbon Technologies, LLC" UpgradeCode="d7c4cfc2-4e50-4002-9273-e900112e2b03">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes"/>
</Product>
<Fragment>
<Feature Id="ProductFeature" Title="WixTemplate" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Fragment>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="WixTemplate" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="TextFileComponent">
<File Id="FooTxt" Source="foo.txt" />
</Component>
</ComponentGroup>
</Fragment>
</Wix>
那么功能部分有什么特别之处呢?它可以是组件和目录的片段?
答案 0 :(得分:2)
您的产品中没有任何内容引用该功能。 WiX不会在片段中链接,除非有东西引用其中的资源。将FeatureRef添加到您的产品中以引入功能,该功能又将拉入Component中的ComponentGroup。