之前安装过PCI Geomatica 2016,非正常卸载,应该有一定残留,但我已经尽可能将注册表中包含PCI、Geomatica、Geomatics等关键字的条目删除干净了。

在重新安装新版本2016 sp2时,安装程序仍然能够检测到电脑上存在PCI,于是必须执行卸载程序,并且卡死在这一步,导致新版本无法安装。

实在不想重新安装操作系统,于是尝试了一下沙盒(Sandbox),很意外的是在Sandbox中可以正常卸载,然后可以装上新版本。但是沙盒毕竟是虚拟的,实际电脑中仍然无法正常安装。

后来,我用SandboxDiff工具跟踪了一下在Sandbox中卸载PCI Geomatica的过程,将卸载前后的注册表进行了对比,发现如下变动:

[machine\software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{CECC2FED-D416-3461-B1FC-7A7D933BCC28}]
"LogMode"=hex(786f6273):
"VersionMinor"=hex(786f6273):
"VersionMajor"=hex(786f6273):
"Version"=hex(786f6273):
"DisplayVersion"=hex(786f6273):
"Language"=hex(786f6273):
"InstallDate"=hex(786f6273):
"RegOwner"=hex(786f6273):
"RegCompany"=hex(786f6273):
"ProductGuid"=hex(786f6273):
"LogFile"=hex(786f6273):
"UninstallString"=hex(786f6273):
"NoRepair"=hex(786f6273):
"NoModify"=hex(786f6273):
"ModifyPath"=hex(786f6273):

原来问题就在这,PCI Geomatica是用CECC2FED-D416-3461-B1FC-7A7D933BCC28这个ID来标识的,里面并没有包含任何有关PCI的关键字!

删掉这条注册表后,所有的不开心都烟消云散了~

05-11 16:14