Installation 使用InstallShield开发的修补程序卸载无法正常工作

Installation 使用InstallShield开发的修补程序卸载无法正常工作,installation,windows-installer,installshield,msi-patch,Installation,Windows Installer,Installshield,Msi Patch,我已经使用Installshield为我的产品创建了一个补丁。应用修补程序后,产品文件将成功更新。但是,当尝试卸载修补程序时,它会从目标m/c成功卸载或删除新添加到修补程序的DLL,但由于修补程序而被修改的某些DLL或exe在卸载修补程序时不会恢复 当我看到版本时,一些DLL的日期和时间是应用修补程序的日期,并且在安装修补程序后版本仍然是新版本。这意味着DLL不会恢复 有人能帮助我理解为什么我的一些DLL在补丁卸载时无法恢复。我已经正确地遵循了补丁卸载规则。以管理员身份打开命令提示符,然后运行该

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

当我看到版本时,一些DLL的日期和时间是应用修补程序的日期,并且在安装修补程序后版本仍然是新版本。这意味着DLL不会恢复

有人能帮助我理解为什么我的一些DLL在补丁卸载时无法恢复。我已经正确地遵循了补丁卸载规则。

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

sfc /scannow

也许这会有帮助。

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

日志上写着 MSI(s)(1C:EC)[17:14:50:054]:特征:所有DLL;安装:本地;请求:当地;行动:当地 应该在请求和操作语句中重新安装而不是本地。因此,我修改了自定义操作,结果是

MSI(s)(1C:EC)[17:14:50:054]:特征:所有DLL;安装:本地;请求:重新安装;操作:重新安装


这反过来也恢复了未恢复的组件或DLL。

这是离题的。Stack Overflow是一个关于编程的问答资源,而不是一个普通的技术帮助站点。您是否查看过补丁卸载的详细日志以获得提示?您提到检查时间戳而不是版本信息;你的DLL没有版本控制吗?嗨,Michael,我检查了详细的配置,说它的配置和重新配置成功地完成了,以便删除补丁。是的,DLL有版本控制,但不还原bck,一些是从日志MSI(0C:BC)[10:31:05:707]:组件:some.DLL中提取的;安装:本地;请求:空;操作:空。MSI(0C:BC)[10:31:06:657]:File=some:Final State=OverwriteMSI(0C:BC)[10:31:12:685]:Windows Installer已删除更新。产品名称:YYY。产品版本:1.0.111.2403。产品语言:1033。制造商:LLL公司。。更新名称:Test。删除成功或错误状态:0。MSI(0C:BC)[10:31:12:686]:注意:1:1728 MSI(0C:BC)[10:31:12:686]:产品:YYY--配置已成功完成。因此我没有得到硬件。我是否继续进行更多调查..您好。。。我成功运行了该命令,它显示“windows资源保护未发现任何完整性问题”。。这意味着我的安装程序补丁有问题吗?@preang是的,似乎有问题……请尝试另一个安装程序除非有问题的DLL受Windows保护(如果它们在自定义安装中被修补,则不太可能),
sfc/scannow
不太可能有帮助。