Wix util:无法识别的registrysearch

时间:2014-09-19 10:53:47

标签: wix sharpdevelop

我正在使用Sharp Develop 4.4.1为我的应用程序创建一个wix安装程序包。 WIX版本是Sharp Develop附带的版本,即版本3.8。 我的MSI项目构建得很好。 现在我想将MSI包含在一个包中。在捆绑包中,我想检查是否安装了.net 4.5和ghostscript(否则安装它)。使用packagegroupref轻松检查.net包。 到目前为止一切都很好。

但是,我还想检查是否安装了Ghostscript并打算通过注册表搜索来执行此操作。由于我在Bundle中工作,我正在尝试使用<util:RegistrySearch.....,但我收到错误消息:The Fragment element contains an unhandled extension element 'util:RegistrySearch'. Please ensure that the extension for elements in the 'http://schemas.microsoft.com/wix/UtilExtension' namespace has been provided. (CNDL0200) - d:\SharpDev Projects\NREOutlookTest1\AIFBundle\Setup.wxs:20

这是我的捆绑代码:

<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
  <Bundle UpgradeCode="ae0120aa-0ba8-45ac-b3e5-fce0f6b05de6"
		  Name="!(bind.packageName.AIF)" 
          Version="!(bind.packageVersion.AIF)" 
          Manufacturer="!(bind.packageManufacturer.AIF)"
		  IconSourceFile=".\images\stamp.ico">
  	<WixVariable Id="WixStdbaLicenseUrl" Value="myurl" />
  	<WixVariable Id="WixStdbaLogoFile" Value="..\NREOutlookTest1\images\stamp.jpg" />
  	<WixVariable Id="WixStdbaLogoSideFile" Value="..\NREOutlookTest1\images\stamp.jpg" />
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkSidebarLicense" />
    <Chain>
    	<PackageGroupRef Id="NetFx45Web" />
    	<PackageGroupRef Id="Ghostscript" />
  		<MsiPackage Id="AIF" SourceFile="..\AIFSetup\bin\Release\AIFSetup.msi" Visible="no" />
    </Chain>
  </Bundle>
	<Fragment>
		<util:RegistrySearch Root="HKLM" Key="SOFTWARE\GPL Ghostscript\9.14" Value="GS_DLL" Variable="GhostScriptDetect" />
		<PackageGroup Id="Ghostscript">
	  			<ExePackage
	  				Id="gs914"
	  				DisplayName="GPL Ghostscript"
		            Cache="no"
		            Compressed="no"
		            Permanent="no"
		            Vital="yes"
	  				DetectCondition="GhostScriptDetect &gt;&gt; &quot;gsdll32.dll&quot;"
		            InstallCommand="/S"
					SourceFile="gs914w32.exe"  				
		            DownloadUrl="http://downloads.ghostscript.com/public/gs914w32.exe" />
	    	</PackageGroup>
	</Fragment>
</Wix>
我在项目中包含了Wix Extension WixUtilExtension.dll: Screenshot

1 个答案:

答案 0 :(得分:0)

行。我是正式的白痴。我有一个在sharpdevelop中运行的后编译脚本,它正在做一个蜡烛和灯光动作。我忘了在Candle命令中包含扩展名,这给了我错误。 DOH !!