InstallAnywhere 2008破解与自定义PlugIn陷阱经验分享

 

IA 安装破解:

 

最近要给软件做个安装包,尝试了一把 InstallAnywhere IA )最新的 2008 版。这个版本刚出不久,破解还不是很多,其实破解也不难,本文附件是详细的破解步骤和需要的包(转载的),希望有助于需要人的学习和研究:)

本人亲自验证了一下,破解支持到最新的 IA 2008 SP1 ,你要下的是 2008 版,安装完以后让 IA 自动升级,再破解就 OK 了。

2008 版据说和以前版本的不兼容,您的工程可以从旧版本转成 08 版,不过不能从 08 往回转,使用的时候要想好了,呵呵。

 

自定义 Plug-In 陷阱:

 

       IA 定义很多系统安装操作,如选择文件,选择 JDK ,复制文件等,也允许自定义操作。 IA 是基于 java 实现的,自定义操作就是写一个 java 类继承 CustomCodeAction 就可以了,随后可以通过 ”Execute Custom Code” 执行,文档上说的都很清楚。更进一步的话,可以将自定义的 Action 做到一个 jar 包里面,在里面放上一个 customcode.properties ,就做成了一个自定义 Plug-In ,以后可以像 IA 自己的系统操作一样重复添加,非常方便, IA 文档上也有详细的说明。

       现在偶们有一个操作,需要多次执行,为了方便,做了一个 PlugIn ,定义成 com.xxx.MyPlugInAction 。我们 PlugIn 需要操作一些东西,需要调用 apache common 包。按照文档,一步步配置好, IA 里面编辑一切通过( IA 编辑安装过程,如果有错误会提示),生成介质,执行安装介质 ------- 报: com.xxx.MyPlugInAction ClassNotFoundException !嗯?怎么回事?难道 IA 不支持自定义的 PlugIn google 之?不用找了,网上没有答案, IA 官网上都没有。

       我们把我们自己的 Plug-In 包和 apache 的包加入到安装部分中,并选择“ In classpath ”(不知道干什么用的),一样是“ com.xxx.MyPlugInAction ClassNotFoundException ”;解开生成的介质,很神奇的是 com.xxx.MyPlugInAction 是存在的!太诡异了。没有办法,自定义一个空的 CustomCode ,然后让这个 customCode 依赖一个 apache common 包和我们自己的 Plug-In 包,这样 IA 总要加载这个包了吧( Plug-In 在使用时不能选择依赖)?再执行。一样的错误!看来 IA 执行的每个 PlugIn 都是都单独的 classloader 啊。怎么回事哪?

       你能猜到什么原因吗?

       最终终于找到了 Plug-In 的这个陷阱!是 apache common 包没有找到, IA 却报“ com.xxx.MyPlugInAction ClassNotFoundException ”,不知道设计者怎么想的。而且 Plug-In 基本上只认 PlugIn 自己的包,所以你需要把所有用到的第三方包全部放到自己的 Plug-In 包中(除 JDK IA 给你的接口外),例如 com.xxx.MyPlugInAction 的包 myplugin.jar 里面就存有 com..xxx 的东西, log4j class apache common class ……,一大堆东西;只要少一个, IA 就会告诉你 com.xxx.MyPlugInAction 不存在!

 


你可能感兴趣的:(apache,jdk,log4j,qq,Gmail)