SE二次开发国内的教程简直太少了,为了学习这块,废了不少功夫,走了不少弯路。
特此开贴写教程以示后人。
se插件开发完成后就是如何部署,安装和部署和其他的.net插件类似。
1.走到这步你基本离成功很近了。
准备好你的dll插件的 Guid码和ProgId,如下图
这两个信息从你的插件的代码中看到,红圈圈出来的是要注意的。
2.新建注册表键
X64位如上图
X86位如上图
409意思是插件的名称
AutoConnect 为1是自动加载(注意是32位)
3.在 {BF1C1BB8-75EE-444A-8DCE-0F1521D0764B} 下新建 Environment Categories 和 Implemented Categories两个键
然后在 Environment Categories 下新建 {26618394-09D6-11d1-BA07-080036230602}和{26618396-09D6-11d1-BA07-080036230602}和{bad41b8d-18ff-42c9-9611-8a00e6921ae8}
在Implemented Categories下新建{26B1D2D1-2B03-11d2-B589-080036E8B802}和{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}
4.在 {BF1C1BB8-75EE-444A-8DCE-0F1521D0764B} 下新建InprocServer32并添加如下值。注意默认值要设置为mscoree.dll(注意不是添加新的名为默认的值)。
这步是设置在那些环境下加载插件
如这次显示的环境是
5.在InprocServer32下新建一个1.0.0.0(随便都行)的键
并添加值,具体添加的值如下图
这步是设置插件的运行环境和位置信息,名称,类等参数。
6.在 {BF1C1BB8-75EE-444A-8DCE-0F1521D0764B} 下新建ProgId并添加如下值。注意默认值要设置为DevTmn.dll(和第一步的ProgId是一个值,注意不是添加新的名为默认的值)。
7.在 {BF1C1BB8-75EE-444A-8DCE-0F1521D0764B} 下新建Summary并添加如下值。这个键的作用是说明插件的作用。
下面附带我导出的注册表内容。
SolidEdge C#.NET 二次开发系列(二) AdvancedInstaller打包安装SolidEdge addin插件
Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}]
"409"="SolidEdgeTools兰剑测试用"
"AutoConnect"=dword:00000001[HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\Environment Categories][HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\Environment Categories][HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\Environment Categories\{26618394-09D6-11d1-BA07-080036230602}][HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\Environment Categories\{26618394-09D6-11d1-BA07-080036230602}][HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\Environment Categories\{26618396-09D6-11d1-BA07-080036230602}][HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\Environment Categories\{26618396-09D6-11d1-BA07-080036230602}][HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\Environment Categories\{bad41b8d-18ff-42c9-9611-8a00e6921ae8}][HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\Environment Categories\{bad41b8d-18ff-42c9-9611-8a00e6921ae8}][HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\Environment Categories\{bad41b8d-18ff-42c9-9611-8a00e6921ae8}][HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\Environment Categories\{bad41b8d-18ff-42c9-9611-8a00e6921ae8}][HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\Implemented Categories][HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\Implemented Categories\{26B1D2D1-2B03-11d2-B589-080036E8B802}][HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}][HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\InprocServer32]
@="mscoree.dll"
"Assembly"="DevTmn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
"Class"="DevTmn.DevTmn"
"CodeBase"="file:///C/Users/LYC/source/repos/DevTmn/DevTmn/bin/Debug/DevTmn.DLL"
"RuntimeVersion"="v4.0.30319"
"ThreadingModel"="Both"[HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\InprocServer32\1.0.0.0]
"Assembly"="DevTmn, Version=1.0.0, Culture=neutral, PublicKeyToken=null"
"Class"="DevTmn.DevTmn"
"CodeBase"="file:///C:/Users/LYC/source/repos/DevTmn/DevTmn/bin/Debug/DevTmn.DLL"
"RuntimeVersion"="v4.0.30319"[HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\ProgId]
@="DevTmn"[HKEY_CLASSES_ROOT\CLSID\{BF1C1BB8-75EE-444A-8DCE-0F1521D0764B}\Summary]
"409"="插件描述"