排错实战——解决Tekla通过.tsep安装插件失败的问题

简介: process monitor 解决 tekla 插件安装失败的问题

缘起

最近同事使用.tsep安装Tekla插件的时候,Tekla提示该插件已经存在了,需要卸载后再安装。同事找了半天,没找到怎么卸载,我也没找到。于是决定弄清楚Tekla是 如何判断一个插件安装与否的。 想必看过我其它排错文章的小伙伴已经猜到了,我们今天文章中的主角依然是process monitor。好了,话不多说,好戏马上开始。

调查

在开始调查之前,我们可以先思考下,Tekla是如何判断一个插件安装与否的?

我能想到如下三种可能:

  • 通过读取注册表来判断。
  • 通过配置文件来判断。
  • 通过加载特定目录下符合条件(e.g. 导出某些约定好的接口)的文件来判断。

这三种情况,我们都可以通过process monitor监控到。

捕获Tekla操作记录

打开process monitor,开始监视。然后双击.tsep进行安装,当弹出错误对话框的时候,关闭process monitor监视。

过滤我们关心的记录

process monitor会捕获超级多的事件。如果不能进行有效的过滤,想找到我们关心的事件,无异于大海捞针。但是我们要根据什么条件来过滤呢?

首先,我们需要根据进程名进行过滤,但是我们怎么知道安装程序对应的进程名呢? process monitorInclude Process From Window功能可以很方便的帮我们根据窗口找到其对应的进程。按住该按钮(大写字母A右侧,像靶子的那个按钮),拖动到目标窗体,松开即可。如下图:

Include-Process-From-Window

除了根据进程名过滤,我们还需要根据其它条件进一步过滤。我们的过滤条件大概是这样的:

  • Process Name只关心TsepFileDispatcher.exe
  • Event Class只关心RegistryFile System,不关心NetworkProcess and Thread
  • Operation排除Write相关事件,只关心Read相关事件即可。
  • Path排除以.dll.exe结尾的路径,并且排除windows.net相关的路径。
  • Result只关心SUCCESS类型的。

下图是我们刚刚设置的过滤规则(为了突出重点,我删掉了process monitor自带的过滤规则)。

tekla-install-plugin-failed-event-filter

经过以上过滤,剩下的事件就很少了,我们可以分别查看RegistryFile System的事件。我们先看File System事件。

interested-readfile-event

当我看到

C:\ProgramData\Tekla Structures Learning\2018\Extensions\Installed\{叠合板模板}{1.0}{73703402-ee5b-4058-bf6a-ad1077481245}\Manifest.xml

这条记录的时候,我猜测Tekla会把插件装在子目录Extensions\Installed下,我要安装的插件标识符是叠合板模板,版本是{1.0},对应的GUID{73703402-ee5b-4058-bf6a-ad1077481245}

说明: 为什么不看Registry事件呢?因为我找了一圈,没有很容易的在里面找到我关心的事件。

大功告成

至此,我们已经找到了我们关心的事件。使用Everything在本地搜索叠合板模板,删除所有搜到的记录。再次双击.tsep文件进行安装,顺利完成。😎

总结

  • 清晰的思路+合适的工具 能帮我们快速解决看似复杂的问题。
  • process monitor真是windows下的排错神器!你值得拥有!

参考资料

相关文章
|
4月前
|
网络协议 Windows
两步带你解决IDEA 插件下载安装慢、超时、不成功问题
这篇文章提供了解决IDEA插件下载慢或超时问题的方案,通过查找国内插件节点IP地址并修改本地hosts文件来加速下载。
两步带你解决IDEA 插件下载安装慢、超时、不成功问题
|
3月前
|
关系型数据库 MySQL Java
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
130 0
|
jenkins 持续交付 Docker
Jenkins - 插件安装失败处理方法
Jenkins - 插件安装失败处理方法
7278 1
Jenkins - 插件安装失败处理方法
|
jenkins 持续交付
Manage Jenkins管理界面提示“依赖错误: 部分插件由于缺少依赖无法加载...“问题解决办法
Manage Jenkins管理界面提示“依赖错误: 部分插件由于缺少依赖无法加载...“问题解决办法
1306 0
Manage Jenkins管理界面提示“依赖错误: 部分插件由于缺少依赖无法加载...“问题解决办法
|
5月前
|
开发工具 git
成功解决 IDEA 2020 版本 代码报错不提示的几种方案
这篇文章提供了几种解决IntelliJ IDEA 2020版本中代码报错不提示问题的方案,包括通过修改文件夹权限、暂存本地更改后进行git pull,以及在git pull后应用暂存的更改并提交代码到远程仓库的方法。
|
8月前
|
JSON 移动开发 API
mPaaS问题之配置按照插件提示报错如何解决
mPaaS配置是指在mPaaS平台上对移动应用进行的各项设置,以支持应用的定制化和优化运行;本合集将提供mPaaS配置的操作指南和最佳实践,助力开发者高效管理和调整移动应用的设置。
idea2021断点调试,服务启动特别慢如何解决
idea2021断点调试,服务启动特别慢如何解决
225 0
|
IDE 编译器 程序员
Eclipse 的常见报错、警告和原因分析、解决方式以及相关操作快捷键小结(持续更新)
Eclipse 的常见报错、警告和原因分析、解决方式以及相关操作快捷键小结(持续更新)
682 0
|
域名解析
npm i 安装依赖卡慢,失败,等很久,不成功,错误等等
 在安装依赖的时候,有时候npm i会很慢,甚至不成功,错误等等,其中原因之一就是直接使用npm外国源、国内访问国外源网站的网络肯定慢,所以卡顿
2332 0
npm i 安装依赖卡慢,失败,等很久,不成功,错误等等
|
边缘计算 JSON Kubernetes
k8s+kubeedge+sedna安装全套流程+避坑指南+解决办法
最近在学习边缘计算要用到kubeedge,安装了好多次总会遇到各种各样的问题,因此在这里一一列出,以方便下次安装。则里面可能出错的地方太多,如果有问题,请私信联系。
2554 0

热门文章

最新文章

下一篇
开通oss服务