Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wix MSI安装程序是否可以安装文件并在不留下任何痕迹的情况下终止?_Wix_Windows Installer - Fatal编程技术网

Wix MSI安装程序是否可以安装文件并在不留下任何痕迹的情况下终止?

Wix MSI安装程序是否可以安装文件并在不留下任何痕迹的情况下终止?,wix,windows-installer,Wix,Windows Installer,我使用InstallShield的旧版本只是简单地将文件复制到本地硬盘,然后中止,这样安装程序就不会创建任何足迹,例如HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall{my GUID}和C:\Program files\InstallShield安装信息{my GUID} 我想将我的安装程序更改为MSI,但我不知道MSI是否可以做同样的事情,因为我知道如果我中止,MSI将回滚 如果我可以用MSI做,我怎么做 TIA。否,MSI的重点

我使用InstallShield的旧版本只是简单地将文件复制到本地硬盘,然后中止,这样安装程序就不会创建任何足迹,例如HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall{my GUID}和C:\Program files\InstallShield安装信息{my GUID}

我想将我的安装程序更改为MSI,但我不知道MSI是否可以做同样的事情,因为我知道如果我中止,MSI将回滚

如果我可以用MSI做,我怎么做


TIA。

否,MSI的重点是集成到Windows中,例如允许通过控制面板管理已安装的应用程序。因此,通过.msi文件安装的组件总是会在Windows Installer数据库中留下一个内存占用空间。

您希望将其保留多远?您只是想在添加/删除程序中隐藏产品的条目,还是希望MSI甚至不记得它没有安装?即无需卸载、修复、升级、修补

如果欲望是前者,那么看一下欲望。如果是后者的愿望,你想做一个“木马MSI”。请注意,许多专家都反对这一点,但我偶尔也会这样做,微软和谷歌等大公司的团队也是如此。若要创建特洛伊木马MSI,您有意省略安装程序中的发布标准操作,例如。你需要真正确定你明白你的目标是什么,你在做这件事时放弃了什么,但有时这是有意义的

更新:OP表明其目的是修补已安装的MSI

这真的不应该做。您应该使用MSI和MSP进行适当的更新/修补。然而,你所要求的是可以做到的。在我工作过的一个地方,他们有一种叫做“不是补丁,补丁”的东西。这很难看,但确实管用。意识到你将永远无法修复修补程序(除了重新应用它),并且你还可能陷入修复MSI会撤消修补程序的情况,因此你必须再次应用修补程序。当然,在Add/Remove程序中不会卸载补丁或版本化工件


所以是的,这是可以做到的,但我真的不建议你这么做。我只是在那份工作中“支持”了它,因为其他人使用了它,而且业务领域已经习惯了它作为一种(假的)服务模式。

谢谢你的快速回答。