找回密码
 立即注册

QQ登录

只需一步,快速开始

g18070414

论坛元老

8

主题

44

帖子

4728

积分

论坛元老

积分
4728

活字格认证

g18070414
论坛元老   /  发表于:2011-3-8 11:23  /   查看:18226  /  回复:21
求一个C1activex组件发布的流程,我用普通的流程发布不了。。求,非常感谢。项目很急,

21 个回复

正序浏览
gw0506
超级版主   /  发表于:2011-4-2 17:44:00
22#
从你给我的安装包的log看,需要的ComponentOne ActiveX的几个文件确实正确写到安装包里了。

但是安装包并没有运行成功,如下图:


我用msiexec输出了安装包testgrid.msi的log如下:


发现错误信息是:
CustomAction GetSqlStates.2D02443E_7002_4C0B_ABC9_EAB2C064397B returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 16:46:32: GetSqlStates.2D02443E_7002_4C0B_ABC9_EAB2C064397B. Return value 3.

根据这个错误信息,我找到了如下解决方案,希望对你有用。
http://community.flexerasoftware.com/showthread.php?t=99338


Setup with MSDE Merge Modules May Fail During Initialization (SQLCAX.DLL)
________________________________________
Description:
A setup that includes the MSDE merge modules from the may fail during the initialization phase. When you create a log file of the installation you find an entry similar to this:
Action start 11:52:49: GetSqlStates.2D02443E_7002_4C0B_ABC9_EAB2C064397B.
Loading extended custom action library sqlcax.dll
Error 126 loading library sqlcax.dll
Action ended 11:52:49: GetSqlStates.2D02443E_7002_4C0B_ABC9_EAB2C064397B. Return value 3.
1: Failed to launch action 'GetSqlStates.2D02443E_7002_4C0B_ABC9_EAB2C064397B', error is 1603
Cause:
SQLBASE.MSM includes (among others) the following custom actions: StreamSupportFiles and GetSqlStates. StreamSupportFiles is responsible for unpacking sqlcax.dll from the Binary table to a temp directory where custom action GetSqlStates can load it. If GetSqlStates is called before StreamSupportFiles it will fail with error code 126 "Specified module could not be found".
Custom actions in merge modules are sequenced based on standard actions. StreamSupportFiles is called before LaunchConditions and GetSqlStates is called after AppSearch. If you place AppSearch before LaunchConditions in your main setup (which is completely legal) the MSDE custom actions will be called in the wrong order.
Workarounds:
Move AppSearch after LaunchConditions in your main setup. Or open SQLBASE.MSM in Orca and adjust the ModuleInstallUISequence and ModuleInstalLExecuteSequence so that StreamSupportFiles is called before AppSearch.
Results
I tried both workarrounds with no luck at all . It is a standard project and I have all of the latest updates from installshield.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-3-25 09:02:00
21#

回复 20# g18070414 的帖子

你用私信把序列号发给我,我帮你检查一下该序列号目前的状态。

另外,你是什么系统,中文版还是英文版? 重做系统的话,是从光盘安装?还是通过Ghost之类的还原系统的?

你安装上述步骤,通过InstallShield制作了安装包,然后将安装包安装到部署机器,是这样吗?
回复 使用道具 举报
g18070414
论坛元老   /  发表于:2011-3-25 08:03:00
20#

回复 19# gw0506 的帖子

我也看到了这样的帖子,我也是 这样做的,但我安装开发环境时为何弹出序列号过期的提示,并且按上述帖子部署时,有时候界面不显示。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-3-24 18:59:00
19#
你用的是True DBGrid.  你可以查看帮助文档中的“Redistributable Files”章节,共需要5个文件。你发的sample只有2个文件,应该有5个:
?TDBG8.OCX
?TODG8.OCX
?TODGUB8.DLL
?TDBGPP8.DLL (self register)
?XADB8.OCX


另外,除了拷贝到客户端机器上以外,ActiveX控件还需要注册到注册表中。可以使用Regsvr32命令。不过建议你使用InstallShield为你的应用程序打包。打包时遵循如下设置:

?tdbg8.ocx Com Extract - NO, Self Register - YES
?tdbgpp8.dll Com Extract - NO, Self Register - NO
?todg8.ocx Com Extract - NO, Self Register - YES
?todgub8.dll Com Extract - YES, Self Register - NO
?Xadb8.ocx Com Extract - YES, Self Register - NO
回复 使用道具 举报
g18070414
论坛元老   /  发表于:2011-3-24 16:34:00
18#

sample

sample

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
g18070414
论坛元老   /  发表于:2011-3-24 16:32:00
17#

sample

sample

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
g18070414
论坛元老   /  发表于:2011-3-24 16:28:00
16#

sample

把 testdbgrid  文件改成testdbgrid.exe
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-3-24 15:39:00
15#

回复 13# g18070414 的帖子

帮助文档中说的很明确:You may also distribute, free of royalties,......  (你可以免版税的分发......)
所以这一点你放心。也可以不去考虑那篇帖子,它是想把报表的设计器也分发出去,与你的情况不同。

请你按照我描述的步骤再次确认一下。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-3-24 15:29:00
14#
是这样,你能详细描述一下你的操作步骤吗?比如

1. 在开发机器A上安装并激活产品。
2. 在A上完成项目并且编译通过生成可执行文件等。
3. 将A上完成的项目文件和ocx文件拷贝到其他机器B上。
4. B上测试程序是否正常运行。

你是按照上面的步骤操作的吗?尤其需要注意,在机器B上,你是否安装了或者曾经安装过Studio for ActiveX产品?

另外,你截图显示的对话框,是在机器A上出现的,还是在机器B上出现的?
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部