MSI安装程序修复选项作用及内部原理,WIX部署包修复疑问
2. WIX部署软件包的修复选项具体操作
WIX生成的MSI包,修复逻辑基于Windows Installer标准,但会严格遵循你在WIX项目里定义的配置来执行,具体做这些事:
- 按组件定义恢复资源:你在WIX里用
<Component>定义的文件、注册表、快捷方式这些,修复时会逐个校验每个组件的KeyPath(组件的标识性资源)。要是KeyPath损坏或丢失,整个组件的所有内容都会被重新安装。 - 执行自定义动作:如果你在WIX项目里给修复阶段加了自定义动作(比如在
InstallExecuteSequence里设置了Repair条件的动作),修复过程会老老实实执行这些逻辑——比如清理临时文件、更新数据库连接配置之类的。 - 同步Feature状态:如果你之前手动卸载过软件的某个Feature(比如只装了核心功能,后来删了插件),修复默认会把Feature恢复到首次安装时的状态,除非你在修复界面手动调整。
- 重新应用权限设置:你在WIX里配置的文件、文件夹权限(用
<Permission>或<PermissionEx>),修复时会重新把这些权限加上,确保软件能正常访问需要的资源。 - 重置核心属性:修复会把一些关键的MSI属性(比如
INSTALLDIR安装路径)重置成默认值,避免因为属性被篡改导致软件运行异常。
内容的提问来源于stack exchange,提问作者Sury Pro
相关产品推荐
相关产品推荐

