Wix 阻止卸载DIFxApp安装的驱动程序

Wix 阻止卸载DIFxApp安装的驱动程序,wix,windows-installer,driver,Wix,Windows Installer,Driver,我正在为与硬件设备接口的软件应用程序创建安装程序。硬件设备使用了一个。我需要在安装软件的同时安装(如果用户还没有),我正在使用和来完成这项工作 到目前为止,一切顺利。一切正常。我的软件和32位和64位版本的驱动程序都有单独的MSI软件包,我用它把它们打包成一个安装程序。驱动程序MSI包将驱动程序文件部署到“我的应用程序安装”文件夹的子目录中,然后DIFxApp将驱动程序安装到相应的系统位置。(这似乎很愚蠢——它们只在安装过程中使用;为什么在安装之后还要保留它们?最好将它们提取到一个临时文件夹中,

我正在为与硬件设备接口的软件应用程序创建安装程序。硬件设备使用了一个。我需要在安装软件的同时安装(如果用户还没有),我正在使用和来完成这项工作

到目前为止,一切顺利。一切正常。我的软件和32位和64位版本的驱动程序都有单独的MSI软件包,我用它把它们打包成一个安装程序。驱动程序MSI包将驱动程序文件部署到“我的应用程序安装”文件夹的子目录中,然后DIFxApp将驱动程序安装到相应的系统位置。(这似乎很愚蠢——它们只在安装过程中使用;为什么在安装之后还要保留它们?最好将它们提取到一个临时文件夹中,安装驱动程序,然后清理它们。但显然,)

但是FTDI芯片组被许多不同的设备所使用,用户很可能拥有其他也需要FTDI驱动程序的设备。在测试中,我发现DIFxApp会在卸载软件时卸载驱动程序。这是不可取的,因为它会破坏用户拥有的任何其他基于FTDI的设备,需要用户重新安装驱动程序以使这些设备重新工作

我希望在卸载我的软件时,DIFxApp保留安装在用户系统上的驱动程序,以便删除我的软件不会影响用户的其他设备

我可以通过在安装驱动程序的或上设置
Permanent
属性来实现这一点,但这将阻止清理部署到我的应用程序安装文件夹的子目录中的驱动程序文件。我希望这些与我的申请一起删除;我只是不希望驱动程序从系统驱动程序存储中删除,等等

看起来我还可以通过安装带有。看起来DPInst方法将支持从临时文件夹安装驱动程序,而不需要驱动程序文件永远挂在我的应用程序文件夹中。这似乎是一个务实的解决方案,但显然如此


处理这个问题的“正确”方法是什么?

您是否尝试过将
驱动程序
删除文件
属性设置为“否”?@TomBlodget
删除文件
的方法有些混乱,我不太明白它的目的是什么,但我没有感觉到它是解决这个问题的方法。无论如何,默认值是“否”,我没有将其改写为“是”。我也遇到了这个问题。希望我的评论能让这个问题变得更加明显。在我的例子中,我正在部署一个USB CDC INF文件,并且在程序卸载时卸载驱动程序。(其他程序取决于该驱动程序)我最终使用了DPInst。这是可行的,但感觉像是一个黑客。