Setup Factory打包时实现第三方DLL文件的注册

Setup Factory中的如下界面:

Setup Factory打包时实现第三方DLL文件的注册_第1张图片

 

 

 

红色矩形中的仅仅是用来测试该文件是否是能注册的组件或ocx控件,在安装包安装过程中并不会注册该组件,如需注册,必须按下面步骤进行:
1: 先将需要注册的组件所需的所有依赖库放在安装文件目录中。如果依赖库还依赖了其它库,请排序添加之。也就是

 

    说本步骤就是将所有依赖库按照依赖关系排序添加到安装目录中。更改上图中的优先级中的安装顺序数字虽可保证依赖关系(数字越大的,越后安装)但在安装创建快捷方式这一步时会崩溃(用Setup Factory 9.5测试的),如下所示:

Setup Factory打包时实现第三方DLL文件的注册_第2张图片

所以还是将所有依赖库按照依赖关系排序添加到安装目录中。
2:然后再放入需要注册的组件。注意:第1步和第2步顺序不能搞反,否则在安装时,该组件注册时,会弹出如下错误:

 

Setup Factory打包时实现第三方DLL文件的注册_第3张图片

即LoadLibrary()失败(126)错误(上面我只是随便截了个图,真实错误代码不是14001,而是126)

第1步保证了先安装依赖库,然后再安装需要注册的组件,从而避免了LoadLibrary()失败(126)错误

 

 

 

3. 在Setup Factory的Action页面,On Post Install中,增加以下代码:
Shell.Execute("regsvr32", "open", SessionVar.Expand(" /s \"%ProgramFilesFolder%\\%ProductName%\\XXXX.dll\""));
/s选项表示后台slient安装,不会弹出提示框。%ProgramFilesFolder%这一串字符必须用(\")括起来。

 

 

如图所示:

Setup Factory打包时实现第三方DLL文件的注册_第4张图片

本文转自:http://blog.chinaunix.net/uid-10376640-id-3398980.html

你可能感兴趣的:(杂七杂八)