[原]排错实战——解决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 ...
随机推荐
- 117-PHP在外部无法调用private类成员函数
<?php class ren{ //定义人类 public function walk(){ //定义public成员方法 echo '我会走路.'; } private function d ...
- 复选框全选、反选及根据值JS控制复选框默认选中事件
HTML代码 <div class="col-sm-7"> <input type="checkbox" id="allAndNot ...
- Python MySQL Limit
章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 Python MySQL 插入表 Python MySQL Select Python M ...
- vue-router 二级路由(父子路由)
使用二级路由 会显示父路由下面的子路由 且父子路由同时显示 因为父子同时显示 路由地址在同一级别/ 路由的显示模式有两种(都是为了减少数据库后台请求次数) #hash模式(#是特殊字符,很多场合不 ...
- P2057 [SHOI2007]善意的投票 / [JLOI2010]冠军调查
P2057 [SHOI2007]善意的投票 / [JLOI2010]冠军调查 拿来练网络流的qwq 思路:如果i不同意,连边(i,t,1),否则连边(s,i,1).好朋友x,y间连边(x,y,1)(y ...
- Java生鲜电商平台-如何使用微服务来架构生鲜电商B2B2C平台?
Java生鲜电商平台-如何使用微服务来架构生鲜电商B2B2C平台? 说明:随着互联网的日益普及,人们通过手机下单买菜的人越来越多,生鲜这个行业有两个显著的特点,一个是刚需.(你每天都要吃饭,都要吃菜) ...
- WindowsForm ComboBoxList 下拉框带复选框 可以动态添加
先来张效果图: 1.这里需要对控件进行重写,详细内容如下,对此不感兴趣的可以直接跳过这步,下载本人生成的dll,直接看第二小结,下载链接https://pan.baidu.com/s/1gfzrK5t ...
- Spring中的注解——@nullable和@notnull
@nullable和@nutNull 在写程序的时候你可以定义是否可为空指针.通过使用像@NotNull和@Nullable之类的annotation来声明一个方法是否是空指针安全的.现代的编译器.I ...
- (排序)P1177 【模板】快速排序
题解: 这道题用传统快排(如下所示)的结果就是最后三个点TLE: 如果永远取第一个元素作为枢轴的话,在数组已经有序的情况下每次划分都将得到最坏的结果,时间复杂度退化为O(n^2).因为其中一个子序列每 ...
- 尝试用kotlin做一个app(一)
1.先添加一下anko库 依赖:implementation "org.jetbrains.anko:anko:$anko_version" 版本:ext.anko_version ...