Wix 卸载链中的exe时遇到问题

Wix 卸载链中的exe时遇到问题,wix,burn,Wix,Burn,我正在构建一个WiX安装程序,它将MSI和EXE捆绑在一起。MSI是一个com组件,我正在注册以使用打印机,EXE是打印机驱动程序的静默安装程序 链正在正确安装,卸载期间除外。即使我提供了卸载命令并设置了安装标准,它也不会卸载EXE 我做了大量的挖掘工作,只找到了一些解决方案,建议做一些我已经在做的事情,比如将perminant设置为no,包括InstallCriteira等等 我还通过查看日志验证了burn的检测部分是否发现打印机驱动程序正常 我在这里真的很挣扎,任何帮助都将不胜感激 <

我正在构建一个WiX安装程序,它将MSI和EXE捆绑在一起。MSI是一个com组件,我正在注册以使用打印机,EXE是打印机驱动程序的静默安装程序

链正在正确安装,卸载期间除外。即使我提供了卸载命令并设置了安装标准,它也不会卸载EXE

我做了大量的挖掘工作,只找到了一些解决方案,建议做一些我已经在做的事情,比如将perminant设置为no,包括InstallCriteira等等

我还通过查看日志验证了burn的检测部分是否发现打印机驱动程序正常

我在这里真的很挣扎,任何帮助都将不胜感激

<Bundle Name="Name" Version="1.0.0.0" Manufacturer="Me" UpgradeCode="D5CB951E-1068-43B1-9313-E166527C021B" DisableRepair="yes">
      <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
         <bal:WixStandardBootstrapperApplication
               ShowVersion="yes"
               SuppressOptionsUI="yes"
               SuppressRepair="yes"
               LicenseUrl="http://www.stackoverflow.com"
            />
      </BootstrapperApplicationRef>

      <Chain>
         <MsiPackage SourceFile="..\Assembly\bin\Release\Assembly Installer.msi" Id="AssemblyInstaller" Cache="no" Visible="no" Vital="yes" Permanent="no" />
         <ExePackage Id="EpsonPrinterDriver" Cache="no" Compressed="yes" PerMachine="yes" Vital="yes" Permanent="no" SourceFile="..\Assembly\drivers\Apd4Silent.exe" DetectCondition="FindEpsonPrinterDriver" InstallCondition="NOT FindEpsonPrinterDriver" InstallCommand="/s /a" UninstallCommand="/s /uninstall" />
      </Chain>
   </Bundle>
   <Fragment>
      <util:RegistrySearch Id="FindEpsonPrinterDriver"
                           Variable="FindEpsonPrinterDriver"
                           Root="HKLM"
                           Key="SOFTWARE\Classes\Installer\Products\9DA28BB46FC041E4DB571CBA56C79241\ProductName" Result="exists" />
   </Fragment>


除非检测到软件包存在,否则刻录引擎不会尝试卸载该软件包。由于您的包中没有片段中util:RegistrySearch的util:RegistrySearchRef,因此它不会编译到您的包中,也不会运行,这会导致您的包永远不会被检测到。

除非检测到包存在,否则Burn引擎不会尝试卸载包。由于您的包中没有片段中util:RegistrySearch的util:RegistrySearchRef,因此它没有编译到您的包中,也没有运行,这导致您的包永远不会被检测到。

我假设这是一个简化版本?因为除非捆绑包中有RegistrySearchRef,否则RegistrySearch不会运行。请包括日志中的检测和计划部分。感谢您假设我没有做傻事,但事实证明我的包中没有RegistrySearchRef/如果你把你的评论转换成回答,我会接受的。非常感谢你!“COM组件”?像串口还是?我想这是一个简化版本?因为除非捆绑包中有RegistrySearchRef,否则RegistrySearch不会运行。请包括日志中的检测和计划部分。感谢您假设我没有做傻事,但事实证明我的包中没有RegistrySearchRef/如果你把你的评论转换成回答,我会接受的。非常感谢你!“COM组件”?像串行端口或?现在按预期工作。现在按预期工作。