[原]排错实战——解决Tekla通过.tsep安装插件失败的问题
缘起
最近同事使用.tsep
安装Tekla
插件的时候,Tekla
提示该插件已经存在了,需要卸载后再安装。同事找了半天,没找到怎么卸载,我也没找到。于是决定弄清楚Tekla
是 如何判断一个插件安装与否的。 想必看过我其它排错文章的小伙伴已经猜到了,我们今天文章中的主角依然是process monitor
。好了,话不多说,好戏马上开始。
调查
在开始调查之前,我们可以先思考下,Tekla
是如何判断一个插件安装与否的?
我能想到如下三种可能:
- 通过读取注册表来判断。
- 通过配置文件来判断。
- 通过加载特定目录下符合条件(e.g. 导出某些约定好的接口)的文件来判断。
这三种情况,我们都可以通过process monitor
监控到。
捕获Tekla
操作记录
打开process monitor
,开始监视。然后双击.tsep
进行安装,当弹出错误对话框的时候,关闭process monitor
监视。
过滤我们关心的记录
process monitor
会捕获超级多的事件。如果不能进行有效的过滤,想找到我们关心的事件,无异于大海捞针。但是我们要根据什么条件来过滤呢?
首先,我们需要根据进程名进行过滤,但是我们怎么知道安装程序对应的进程名呢? process monitor
的Include Process From Window
功能可以很方便的帮我们根据窗口找到其对应的进程。按住该按钮(大写字母A
右侧,像靶子的那个按钮),拖动到目标窗体,松开即可。如下图:
除了根据进程名过滤,我们还需要根据其它条件进一步过滤。我们的过滤条件大概是这样的:
Process Name
只关心TsepFileDispatcher.exe
。Event Class
只关心Registry
和File System
,不关心Network
和Process and Thread
。Operation
排除Write
相关事件,只关心Read
相关事件即可。Path
排除以.dll
,.exe
结尾的路径,并且排除windows
及.net
相关的路径。Result
只关心SUCCESS
类型的。
下图是我们刚刚设置的过滤规则(为了突出重点,我删掉了process monitor
自带的过滤规则)。
经过以上过滤,剩下的事件就很少了,我们可以分别查看Registry
和File System
的事件。我们先看File System
事件。

当我看到
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}
。
{% note info %}
说明: 为什么不看Registry
事件呢?因为我找了一圈,没有很容易的在里面找到我关心的事件。
{% endnote %}
大功告成
至此,我们已经找到了我们关心的事件。使用Everything
在本地搜索叠合板模板
,删除所有搜到的记录。再次双击.tsep
文件进行安装,顺利完成。
[原]排错实战——解决Tekla通过.tsep安装插件失败的问题的更多相关文章
- 解决mac下atom安装插件失败问题
activate-power-mode的超炫编辑效果打动了我,花时间安装了atom,之后在package,install里面找到了这个插件,但是安装失败,如下图所示: gyp info it work ...
- 解决sublime text无法安装插件问题
解决sublime text无法安装插件问题最近在sublime text3中使用命令ctrl+shift+p命令安装插件发现不能安装了,一会儿报错 这个错误表示没有可用的安装包,经过一番探索发现是配 ...
- Docker 安装 Jenkins , 并解决初始安装插件失败
安装 Jenkins 后,初始化下载插件总是失败,导致安装不成功,重试好几次都是卡在安装插件那. 这里记录下 Docker 下怎么安装 Jenkins ,并解决初始安装插件失败问题. 安装插件失败,其 ...
- atom安装插件失败 latex
用atom写latex 链接 http://www.cnblogs.com/schaepher/p/5934184.html 但在gui下安装插件失败 按照以下步骤解决了 安装gitbash cd . ...
- Sublime Text 2 windows8安装插件失败解决
事件是这样的: 1.安装Package Control组件后, 2.调出Install Package选项安装插件,状态栏显示成功, 3.但打开Packages目录也看不到,Sublime插件管理也没 ...
- Android Studio 2.3 解决小米手机调试安装apk失败问题
在开发者选项里面,拉到底,把miui优化选项去掉就好了. 参考资料 [问题反馈] Android Studio 2.3 在红米note3手机中 调试安装Apk失败
- sublime Text3安装及配置与解决安装插件失败
1.下载sublime Text3的官网:https://www.sublimetext.com/32.安装Package Control 下载Package Contoral地址: 链接:htt ...
- 解决IDEA的plugins安装插件很慢、不成功问题
1.修改hosts文件 路径:C:\Windows\System32\drivers\etc 52.84.224.36 plugins.jetbrains.com 重启IDEA,再次安装插件时,芜湖~ ...
- eclipse问题解决(link方式安装插件失败)
使用 link 方式,离线安装 eclipse 插件时,经常失败. 一.常见的失败情况 link方式配好后,eclipse 启动,没有弹出任何信息. 查看当前工作空间——.metadata——.log ...
随机推荐
- Java中的static关键字和new关键字作用介绍
一.static关键字的作用 1.可以用于修改类的成员变量.代码块和类 通过static可以将类的成员声明为静态成员,静态的成员归属于整个类,而不是属于某个对象.无论通过类还是对象访问静态成员,操作的 ...
- SciKit-Learn 数据集基本信息
## 保留版权所有,转帖注明出处 章节 SciKit-Learn 加载数据集 SciKit-Learn 数据集基本信息 SciKit-Learn 使用matplotlib可视化数据 SciKit-Le ...
- spring boot 连接Mysql介绍
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...
- C# Stream篇(六) -- BufferedStream
BufferedStream 目录: 简单介绍一下BufferedStream 如何理解缓冲区? BufferedStream的优势 从BufferedStream 中学习装饰模式 如何理解装饰模式 ...
- Banner信息收集和美杜莎使用(9.26 第十二天)
Banner信息收集 Banner信息,欢迎语,在banner信息中可以得到软件开发商.软件名称.版本.服务类型等信息,通过这些信息可以使用某些工具直接去使用相对应的exp去攻击 前提条件:需要和目标 ...
- C语言数组的所有元素初始化成相同的值
这个问题一直困扰了我很久,我向来都用for来控制置-1:因为我不会用memset(つ﹏⊂)我是个蒟蒻.今天终于学会了一点皮毛,赶紧记录一下 方法一: 简单粗暴,快捷有效.for循环一点点的置1,这个方 ...
- 网络基础:OSI 七层模型、TCP/IP 四层模型
1.Internet历史 1. 1968年由美国ARPA机构提出"资源共享计算机网络”,让ARPA的计算机互联起来,叫做阿帕网;2. 1974年,第一个TCP协议详细说明发布了.3. 一个 ...
- Codeforces 442A Borya and Hanabi
有五种花色 外加 五种点数 共25张牌,每次有n张牌,主人知道这n张牌中有哪些牌,并且哪种牌有几张,但是不知道具体是哪张牌,他可以问某种花色,然后知道了哪几张是该花色,也可以问点数,然后就知道了哪几张 ...
- hive的join优化
“国际大学生节”又称“世界大学生节”.“世界学生日”.“国际学生日”.1946年,世界各国学生代表于布拉格召开全世界学生大会,宣布把每年的11月17日定为“世界大学生节”,以加强全世界大学生的团结和友 ...
- Android进阶——多线程系列之异步任务AsyncTask的使用与源码分析
AsyncTask是一种轻量级的异步任务类,它可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程并主线程中更新UI,通过AsyncTask可以更加方便执行后台任务以及在主线程中访问UI ...