Windows installer 无法卸载使用MSI EmbeddedChainer表创建的MSI

Windows installer 无法卸载使用MSI EmbeddedChainer表创建的MSI,windows-installer,Windows Installer,我创建了一个简单的MSI,其中包含MSIMbeddedChainer表中的条目 我有两个条目: 条件=未安装 条件=移除 当我安装msi时,我的链式可执行文件被调用,并按预期在命令行上传递一个事务句柄,我能够使用它成功地安装嵌入式msi 如果我再次运行msi,它不会像预期的那样执行任何操作 如果我尝试卸载msi,卸载会显示成功,但未调用我的链接exe,msi将保留在添加/删除程序中,并且不会删除任何文件 如果删除msi EmbeddedChainer表,msi将按预期安装和卸载 卸载应该如何与嵌

我创建了一个简单的MSI,其中包含MSIMbeddedChainer表中的条目

我有两个条目:

  • 条件=未安装
  • 条件=移除
  • 当我安装msi时,我的链式可执行文件被调用,并按预期在命令行上传递一个事务句柄,我能够使用它成功地安装嵌入式msi

    如果我再次运行msi,它不会像预期的那样执行任何操作

    如果我尝试卸载msi,卸载会显示成功,但未调用我的链接exe,msi将保留在添加/删除程序中,并且不会删除任何文件

    如果删除msi EmbeddedChainer表,msi将按预期安装和卸载


    卸载应该如何与嵌入式MSI一起工作?

    您如何调用相关卸载,以及在什么操作系统上进行卸载?两个音符;对于不能完全删除产品的示例,条件REMOVE可能为true,并且嵌入式链表的可靠性不如外部链表。如果你有选择的话,我强烈建议你使用基于引导的方法。我只是在Windows7上使用管理命令提示符进行测试。我意识到,由于升级等原因,删除并不是最好的选择,但我只是想在卸载时发生一些事情。不幸的是,由于InTune的限制,整个练习的重点是创建一个MSI,因此使用引导程序不是一个选项,只是排除了与新的Windows 10控制面板的一些奇怪的交互。可能需要更多的细节;您是否查看过详细的日志或使用procmon监视过exe启动?(旁白:我不记得嵌入式链接器是否作为主要升级卸载的一部分运行,所以这一点可能无关紧要。)我正在Windows7上测试。当我比较有和没有链表的安装日志时,唯一真正的区别是这两行:MSI(3C:4C)[10:57:01:688]:嵌入式链表-搜索有效的嵌入式链表以运行MSI(3C:4C)[10:57:01:688]:Embedded Chainer-计划在安装后运行当我比较卸载日志时唯一真正的区别是这些行:MSI(3C:C8)[11:02:54:932]:Embedded Chainer-搜索有效的嵌入式Chainer以运行MSI(3C:C8)[11:02:54:932]:Embedded Chainer-跳过Chainer:Chainer(条件为false)MSI(3C:C8)[11:02:54:932]:Embedded Chainer-计划在安装后运行