补丁卸载使用InstallShield无法正常开发

时间:2014-07-25 05:02:17

标签: install windows-installer installshield msi-patch

我使用Installshield为我的产品创建了一个补丁。当我应用补丁时,产品文件会成功更新。但是,当尝试卸载补丁时,它会从目标m / c中成功卸载或删除新添加的dll到补丁,但不知何故,由于补丁而修改的某些dll或exe在卸载补丁时不会恢复。

当我看到某些dll的版本,日期和时间是应用补丁的日期时,在安装补丁后版本仍然是新版本。这意味着dll不会被还原。

有人可以帮助理解为什么我的一些dll在修补程序卸载时没有恢复。我已正确遵循补丁卸载规则。

2 个答案:

答案 0 :(得分:0)

打开命令提示符(以管理员身份),然后运行命令

sfc /scannow

也许这会有所帮助

答案 1 :(得分:0)

嗨我在修补程序卸载时得到了解决方案,为什么某些组件(dll)没有被恢复。这是因为我的项目中存在自定义操作,这导致了在卸载补丁时不允许重新安装组件(dll)的功能的问题。

日志说的是 MSI(1C:EC)[17:14:50:054]:特征:ALLDLLS;已安装:本地;要求:本地;行动:本地 在请求和操作声明中应该重新安装它而不是Local。所以我修改了自定义操作,结果是

MSI(1C:EC)[17:14:50:054]:特征:ALLDLLS;已安装:本地;要求:重新安装;操作:重新安装

反过来又恢复了那些没有被还原的组件或dll。