我在Visual Studio 2008中创建了一个MSI安装程序包.问题是安装后,如果删除任何已安装的文件.这不是我的安装程序包的预期行为.我的文件安装属性是:
PackageAs vsdpaDefault Permanent False ReadOnly False Register vsdrfDoNotRegister System False Transitive False Vital False
如果这是微不足道的,请原谅我.我无法相信我无法让谷歌放弃答案.:)
Windows Installer是一种部署技术,其工作是安装指定的文件和注册表设置,并将它们保存在指定的安装位置,并确保它们是正确的版本 - 自我修复或弹性是一种机制.它的操作与开发人员需要动态交换文件以进行调试,开发和测试相冲突.
作为开发人员,您可能有兴趣部署MSI,然后即时删除或替换文件以进行调试.在这些情况下,MSI可能会令人讨厌,因为它永远不会停止工作,并会重新安装正确的文件.这被称为" 自我修复 ",可能非常烦人!:-).
有很多方法可以解决这个问题,MSI非常复杂.由于"自修复"通常是从" 广告快捷方式 " 调用的,因此避免此MSI功能的最简单方法是直接从文件系统启动EXE文件,而不是通过快捷方式.这绕过了除最复杂的EXE文件以外的所有MSI自修复机制.您还可以在桌面上手动创建一个不会触发自我修复的非广告快捷方式.
对于记录,自修复由关键路径验证的" 自修复入口点 " 触发.它们包括广告快捷方式,文件关联,COM注册表数据等.
还有很多自我修复或弹性,这是它的正式名称,请查看这篇关于自修复问题的综合文章,以找到解决您的具体问题的方法.这是一篇很长的文章,但如果您有自我修复问题,那么它应该值得一读.
更新,2018年10月:
自我修复细节:比任何人都想知道自我修复:
类似:Visual Studio 2015 msi build启动另一个安装
归档时间: |
|
查看次数: |
2647 次 |
最近记录: |