gpt4 book ai didi

wix - 如果我删除文件,为什么 MSI 安装程序会重新配置?

转载 作者:行者123 更新时间:2023-12-04 10:43:56 28 4
gpt4 key购买 nike

我在 Visual Studio 2008 中创建了一个 MSI 安装程序包。问题是安装后,如果我删除任何已安装的文件。这不是我的安装程序包的预期行为。我的文件安装属性是:

PackageAs vsdpaDefault
永久错误
只读 False
注册 vsdrfDoNotRegister
系统错误
传递错误
重要错误

如果这是微不足道的,请原谅我。我不敢相信我无法让谷歌放弃答案。 :)

最佳答案

Windows 安装程序 部署技术 ,它的工作是安装指定的文件和注册表设置并将它们保存在指定的安装位置,并确保它们是正确的版本 - 自我修复或弹性是为此目的的一种机制。它的操作与开发人员为了调试、开发和测试而即时交换文件的需要相冲突。
作为开发人员,您可能有兴趣部署 MSI,然后动态删除或替换文件以进行调试。在这些情况下,MSI 可能会令人讨厌,因为它永远不会停止工作,并且会重新安装正确的文件。这称为“ 自我修复 ”,可能会非常烦人! :-)。
有很多方法可以解决这个问题,MSI 相当复杂。 由于“自我修复”通常是从 "advertised shortcut" 调用的。避免此 MSI 功能的最简单方法是直接从文件系统启动 EXE 文件,而不是通过快捷方式 .这绕过了除了最复杂的 EXE 文件之外的所有 MSI 自我修复机制。您还可以在桌面上手动创建一个不会触发自我修复的非广告快捷方式(右键单击并按住可执行文件,同时按住鼠标右键,拖放到桌面并在空白处释放按钮并单击“在此处创建快捷方式”)。
为了记录,自我修复由“self-repair entry points”触发,用于 key 路径验证。它们包括广告的快捷方式、文件关联、COM 注册表数据等。
还有更多内容自我修复 , 或 弹性这是它的正式名称,请查看this comprehensive article on self-repair problems找到解决您的具体问题的方法。这是一篇很长的文章,但如果您有自我修复的问题,应该值得一读。

UPDATE, October 2018:


详细自修 : 比任何人都想知道的关于自我修复的更多信息:
  • Self-repair - explained
  • Self-repair - finding real-world solutions
  • Self-repair - how to avoid it in your own package

  • 友情链接 :
  • 类似:Visual Studio 2015 msi build initiates another installation
  • RestartManager causes worker role to restart
  • What is the use of Repair option in a msi installer and what does it really do (internally)?
  • Disable MSI auto-repair on installed program
  • 关于wix - 如果我删除文件,为什么 MSI 安装程序会重新配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5981302/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com