1、先对虚拟机进行快照,在VMP控制台进入虚拟机,在C:\Program Files (x86)\Sangfor\SSL\VDI目录下,双击uninst.exe进行即可卸载agnet
有时agent组件损坏无法通过上述方法卸载,可运行clearagent工具(见附件)卸载agent组件(切记不要在物理PC运行),然后把agent的安装目录删除即可;
2、性能优化工具集成在agent安装包里,在agent安装时会同时安装此工具,但是卸载agent性能优化工具并不会跟着卸载,需要手动卸载,在C:\Program Files (x86)\Sangfor VMSTool\ModulesUpdate目录下双击Unstaller.exe即可卸载性能优化工具;
3、如果卸载agent或性能优化工具后重启虚拟机后可以正常安装软件,则可以判断是agent组件导致软件出现无法安装,如果不方便卸载agent测试,也可以直接使用镜像安装纯净虚拟机(不安装agent,也不安装其它任何软件的虚拟机,只运行需要测试的软件)看是否正常;
4、判断是agent哪个组件导致软件无法安装,把虚拟机恢复到有agent的状态,对agent的一些相关组件进行重命名测试看是否可以确认到是某个组件导致的(重命名统一按以下格式,比如ABC.dll则重命名ABC.dll.bak,重命名后查看文件格式确认文件格式为bak文件)
5、常见的会影响软件使用的组件如下(下面提到的组件建议在虚拟机内部安装everything进行搜索):
VDHook.dll:钩子程序(VDI5410版本之前VDHook的路径为agent目录下的VDHook.dll和VDHook64.dll,5410版本之后目录为C:\Windows\System32和C:\Windows\SysWOW64)
VDBase.dll:虚拟机模块的基础库,封装了些常用操作(例如获取设置客户端类型、设置读取组策略里相关的一些设置),维护者共享节数据(下发组策略的一些配置信息保存在里面),VDBase.dll有VDBase.dll和VDBase64.dll
VDInit.exe:用来挂钩操作和做一些需要权限的操作,设置组策略配置信息到共享内存
vdshell.exe:初始化一些用户环境和加载插件
svoldrv.sys:软件分发驱动
上述提到的agent相关组件,都需要一个一个来重命名对比测试,来定位是什么组件导致的软件使用异常。如下图所示,不管是32位还是64位都需要重名;
6、若是重命名vdhook测试后问题解决了,则添加vdhook白名单解决,5.3.3及5.3.3之后,5410之前版本必须要在控制台添加,如下图所示
5.3.2及低于5.3.2的版本,在以下路径下新建字符串值,如MOA的进程为MOA.exe
32位系统:HKEY_LOCAL_MACHINE\SOFTWARE\Sangfor\SSL\VDI\VDHook\ NotHookExeName
64位系统:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Sangfor\SSL\VDI\VDHook\ NotHookExeName
5410及之后版本,找到策略组查看软件的进程是否在VDHook注入名单里面。如果在,则禁用后再测试;如果不在,则需要手动添加。
注意:以上配置完后需要在VDC上面找到虚拟机重启生效,或者关闭虚拟机,退出客户端重新接入生效