我正在尝试制作wix安装程序。用于Web应用程序。
以下是我的wsx v3.11文件
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="Guid" Name="TestInstaller" Language="1033" Version="1.0.0.0" Manufacturer="CompanyName" UpgradeCode="Guid1">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Platform="x64" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes" />
<PropertyRef Id="WIX_IS_NETFRAMEWORK_462_OR_LATER_INSTALLED"/>
<Condition Message='This setup requires the .NET Framework 4.7 client profile installed.'>
<![CDATA[Installed OR WIX_IS_NETFRAMEWORK_462_OR_LATER_INSTALLED]]>
</Condition>
<Feature Id="Complete" Title="TestInstaller" Description="TestInstaller" Level="1" ConfigurableDirectory='INSTALLFOLDER'>
<ComponentGroupRef Id="ProductComponents" />
<ComponentGroupRef Id="ProductBinComponents" />
</Feature>
<UIRef Id="WixUI_Mondo" />
<UIRef Id="WixUI_ErrorProgressText" />
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="INSTALLFOLDER" Name="Test Installer" >
<Directory Id="INSTALLBINFOLDER" Name="bin">
</Directory>
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="ProductComponent" Win64="yes" Guid="*">
<File Source="C:\Temp\Publish\Web.config" />
<File Source="C:\Temp\Publish\NLog.config"/>
<File Source="C:\Temp\Publish\Global.asax"/>
</Component>
</ComponentGroup>
<ComponentGroup Id="ProductBinComponents" Directory="INSTALLBINFOLDER">
<Component Id="ProductBinComponent" Win64="yes" Guid="*">
<File Source="C:\Temp\Publish\bin\Antlr3.Runtime.dll"/>
<File Source="C:\Temp\Publish\bin\Antlr3.Runtime.pdb"/>
</Component>
</ComponentGroup>
</Fragment>
</Wix>
我的问题是我不知道此错误消息的含义,并且从扩展的意义上说,不知道如何解决该错误。
未在程序集中定义'Microsoft.Tools.WindowsInstallerXml.AssemblyDefaultWixExtensionAttribute'或扩展名'.......... \ Program Files(x86)\ WiX Toolset v3.11 \ bin中定义的类型\ WixUIExtension.dll'无法加载。
答案 0 :(得分:1)
1。 RTF许可证文件 :首先,请确保已创建自己的RTF许可证文件(使用写字板或类似工具),然后指定在WiX源中使用此RTF文件,如下所示:
<!-- Shown for context (one of several possible dialog sets): -->
<UIRef Id="WixUI_Mondo" />
<!-- The crucial variable that must be defined (for this dialog set): -->
<WixVariable Id="WixUILicenseRtf" Value="TestLicenseAgreement.rtf" />
有关更多上下文和详细信息,请see this example of what minimal tweaks are needed to a fresh WiX project to get it to compile(请参阅底部的WiX标记的内联注释)。
2。 Wix.dll :除了Wix.dll
和WixUIExtension
之外,您可能还直接包含了对WixNtFxExtension
的引用-您都需要保留这两个引用包括在内。
因此,换句话说:将项目引用移至
Wix.dll
并尝试 重新编译。
如果这样不起作用,请删除所有引用,然后仅重新添加WixUIExtension
和WixNtFxExtension
。
一些建议和链接 :
*.pdb
文件。