我创建了一个wixlib来在一些wix项目中共享片段.
我可以使用PropertyRef引用在我的主wix文件中具有Property的片段,但是如何在我想要其内容的批量副本的地方引用片段?
例如,我有一个片段,测试是否安装.net框架,我想在项目标签中的主wix文件中包含该片段...
这是我想要包含在几个wix项目中的wixlib中的片段:
<Fragment Id="fm35">
<PropertyRef Id="NETFRAMEWORK35" />
<Condition Message="framework 3.5 is not installed">
<![CDATA[Installed OR NETFRAMEWORK35]]>
</Condition>
</Fragment>
Run Code Online (Sandbox Code Playgroud)
谢谢!!
我有一些dll编译在.Net3.5或.Net4.0中.(它们具有相同的名称)
在wix中,我有2个条件特征.
功能A安装我的应用程序的.net3.5 dll与ComponentRef Id ="Cmp35"
功能B安装.net4.0 dll与ComponentRef Id ="Cmp40"
功能是互斥的,只安装了一个功能.
我的组件:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="INSTALLDIR">
<Component Id="Cmp35" Guid="..">
<File Id="Behaviors.Assembly" Name="$(var.Behaviors.v3.5.gen.TargetFileName)" Source="$(var.Behaviors.v3.5.gen.TargetPath)" />
<File Id="Other.Assembly" Name="$(var.Other.v3.5.gen.TargetFileName)" Source="$(var.Other.v3.5.gen.TargetPath)" />
</Component>
<Component Id="Cmp40" Guid="...">
<File Id="Behaviors.Assembly.4.0" Name="$(var.Behaviors.v4.0.gen.TargetFileName)" Source="$(var.Behaviors.v4.0.gen.TargetPath)" />
<File Id="Other.Assembly.4.0" Name="$(var.Other.v4.0.gen.TargetFileName)" Source="$(var.Other.v4.0.gen.TargetPath)" />
</Component>
</DirectoryRef>
</Fragment>
</Wix>
Run Code Online (Sandbox Code Playgroud)
我在编译过程中出错:错误LGHT0204:ICE30:目标文件......由LFN系统上的两个不同组件安装在......:
似乎我有一个问题,因为文件名是相同的...
是有办法管理这个吗?谢谢!
调用XslTransformation任务时,我在msbuild v14/vs2015中遇到问题.
错误MSB3703:无法执行转换.禁止执行'document()'功能.使用XsltSettings.EnableDocumentFunction属性启用它.
是的,我在xslt转换中调用了xsl document()函数.
从vs2013和之前版本的msbuild运行相同的任务时我没有任何错误..
我这里不使用任何C#代码,所以我无法设置EnableDocumentFunction属性,我不想删除我的document()调用.
我怎样才能解决这个问题?