msi 安装程序中修复选项的用途是什么,它到底有什么作用(内部)? [英] What is the use of Repair option in a msi installer and what does it really do (internally)?

查看:28
本文介绍了msi 安装程序中修复选项的用途是什么,它到底有什么作用(内部)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用 WIX 部署的软件包.当我安装后再次运行安装程序时,它提供了修复选项,它到底是做什么的?

I have a software package deployed using WIX. When I run the installer again after installing, it gives as option to repair, what does it exactly do?

推荐答案

修复:如果问题是修复做什么,那么它检查已安装产品的所有组件键路径,并安装任何可能丢失的组件 - 出于某种原因.从本质上讲,您的产品只是检查是否完全安装,然后修复错误.

Repair: If the question is what repair does, then it checks all component key-paths for the installed product and installs any components that may be missing - for some reason. In essence your product is just checked for being completely installed and then errors are fixed up.

修复意外重置注册表值时存在一些您应该注意的问题.此处描述了此问题以及 MSI 的许多其他常见问题(非常混乱的概述,但如果您发现任何相关问题,请略读):如何避免 WiX/MSI 部署解决方案中的常见设计缺陷?

There are some issues with repair resetting registry values unexpectedly that you should be aware of. This problem and a number of other, common problems with MSI are described here (very messy overview, but maybe have a skim if you see any relevant problems you recognize): How do I avoid common design flaws in my WiX / MSI deployment solution?

自我修复:您可能还因为设计错误触发了Windows Installer自我修复> 在您的 WiX 源文件/MSI 输出文件中.

Self-Repair: You may also have triggered a Windows Installer self-repair because of a design error in your WiX source file / MSI output file.

这是一种自行修复,无需您自己再次运行安装程序 - 或者从 添加/删除程序 开始.而是通过某些广告入口点"自动神奇地触发关键路径检查.例如,启动广告快捷方式或调用COM 类和一些其他类型的操作(参见链接内容).

This is a repair happening on its own without you running the installer again yourself - or kicking it off from Add/Remove programs. Rather it is automatically invoked via certain "advertised entry points" that trigger a key-path check auto-magically. For example the act of launching an advertised shortcut or invoking a COM class and a few other types of actions (see linked content).

我已经写了太多次关于自我修复的文章,我只会链接到现有答案.请先尝试最后一个(如何在您自己的包中避免它):

I have written about self-repair too many times, I will just link to existing answers. Please try the last one first (how to avoid it in your own package):

  1. 自我修复- 解释
  2. 自我修复 - 寻找现实世界的解决方案
  3. 自我修复 - 如何在自己的包裹中避免这种情况

如果问题不是自我修复,那么您应该知道,当您再次运行安装程序时,出现修改/修复对话框是正常的,因为该产品已经安装.这是正确的行为.

If the issue is not self-repair, then you should know that when you run your installer again it is normal to get a modify / repair dialog because the product is already installed. It is the correct behavior.

链接:

这篇关于msi 安装程序中修复选项的用途是什么,它到底有什么作用(内部)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆