如何将EA Addin集成至现有MDG技术进行分发?
将EA Add-in集成到MDG技术的可行方案
虽然EA的MDG创建向导没有直接提供Add-in集成的选项,但有两种可靠的方式实现这个需求:
1. 通过MDG的PostInstallScript自动注册Add-in
MDG技术支持在安装后执行脚本,你可以利用这个机制完成Add-in的注册表注册(Windows环境)或plist配置(Mac):
- 在MDG的XML定义中,添加
<PostInstallScript>节点,写入注册逻辑:<PostInstallScript> ' VBScript 示例:注册Add-in Set WshShell = CreateObject("WScript.Shell") AddinKey = "HKEY_CURRENT_USER\Software\Sparx Systems\EA400\EA\Addins\YourAddin.Name" WshShell.RegWrite AddinKey & "\Location", "C:\Path\To\YourAddin.dll" WshShell.RegWrite AddinKey & "\LoadAtStartup", 1, "REG_DWORD" </PostInstallScript> - 确保Add-in的文件(如DLL、脚本)包含在MDG的打包资源中,安装时会被提取到指定路径。
2. 将Add-in封装为MDG的“技术扩展”组件
EA允许MDG技术包含自定义的Add-in逻辑,通过以下步骤实现:
- 将Add-in的核心功能编译为类库,作为MDG的嵌入式资源。
- 在MDG的XML中定义
<Addins>节点,指定Add-in的加载信息:<Addins> <Addin Name="YourAddin.Name" Location="[EmbeddedResource]YourAddin.dll" LoadAtStartup="True" /> </Addins> - 注意:这种方式要求Add-in是.NET类库,且符合EA的Add-in接口规范(实现
EA.IAddin)。
额外注意事项
- 测试时,先手动验证Add-in单独运行正常,再集成到MDG中。
- 对于多团队分发,确保MDG安装包包含所有依赖文件,且脚本路径适配不同环境(可使用EA的内置变量如
%AppData%)。 - Mac环境下,注册表替换为
~/Library/Preferences/com.SparxSystems.EA.plist的配置项,脚本需用AppleScript或Shell实现。
内容的提问来源于stack exchange,提问作者vascobnunes
相关产品推荐
相关产品推荐

