[原]排错实战——解决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 ...
随机推荐
- html 如何使表格一列都变颜色的简单方法!!
html怎么让一列变颜色用到属性colgroup 重点我都加粗了!! <colgroup span="3" bgcolor="yellow">&l ...
- 三、ReactJS、jsx、 Component 特性
reactjs特性: 基于组件(Component)化思考 用 JSX 进行声明式(Declarative)UI 设计 使用 Virtual DOM Component PropType 错误校对机制 ...
- C#如何编写短信接口,以及接口的调用,包括C#.net访问web,并处理返回值的简例。
在系统的开发中我们经常会用到接口,下面给大家介绍一种短信接口的编写与调用. 我们常调用接口来完成一些信息的通知或者发送验证码,那么这些操作是如何完成的呢?来看一下详细的介绍吧! 首先呢,我们需要有一个 ...
- 腾讯云Windows2016数据中文版环境搭建
最近忙活了好几天,在腾讯云上买了台服务器,系统是Windows2016数据中文版,用于个人的学习,下面说一下整个流程吧. 遇到的问题: 一开始是按照腾讯云的指南文档去搞环境配置的,但它上面都是以Win ...
- 通过while循环一步步实现九九乘法表
# 打印#做出@列的效果height = int(input("height: ")) #用户输入一个高度 num_height = heightwhile num_height ...
- BlackArch Linux 2019.06.01 宣布发布
导读 BlackArch Linux是一个基于Arch Linux的发行版,专为渗透测试人员和安全研究人员设计,并包含大量渗透测试和安全实用程序,已宣布发布2019.06.01版本. BlackArc ...
- CGridCtrl 添加button (CGridCellButton类)
#ifndef __GRID_CELL_BUTTON__ #define __GRID_CELL_BUTTON__ #include "../GridCtrl_src/GridCell.h& ...
- 关于SI4432数据手册的简单讲解
SI4432是高度集成度单芯片无线ISM收发器件.EZRadioPRO系列包括了发射机.接收机和射频收发器,让设计工程师可以有选择的设计利用里面的无线部分. SI4432提供了先进的无线功能,包括连续 ...
- ubuntu下解压.zip文件乱码
解决方法 查看文件: lsar BA_schur.zip 解压文件: unar BA_schur.zip
- 二十七、CI框架之自己写分页类并加载(写分页还是有难度,搞了一整天)
一.我们写好自己的分页代码,防止library目录中,带构造函数 二.在模型中,添加2个函数,一个是查询数据的条数,第二个是取出数据库中的数据 三.在控制中,写入相应的代码,如下: 四.在界面中,写入 ...