一个在CSDN上解决不了的问题。难者不会,会者不难。(50分)

  • 主题发起人 鲁小班
  • 开始时间

鲁小班

Unregistered / Unconfirmed
GUEST, unregistred user!
主  题: ★★★★★★★★怎么制作Delphi控件的自动安装包?★★★★★★★★
作  者: luxiaoban (鲁小班)
等  级:
信 誉 值: 95
所属论坛: Delphi
问题点数: 100
回复次数: 15
发表时间: 2002-07-20 22:34:30

经常看到一些国外的Delphi控件,只提供了一个安装包,然后点击这个安装程序,
它就会自动把控件安装到Delphi的控件面板上,而且已经在Delphi中注册了控件,
不知道安装程序改变了那些注册表中的数据,我自己也试着调了一下注册表,
但是不知道它是如何注册控件的,一直没有搞懂。

不知道哪位好心的高手知道这方面的资料,100分就是你的了。

回复人: luxiaoban(鲁小班) ( ) 信誉:95 2002-07-20 22:31:00 得分:0
这个问题真的这么难吗?

回复人: netlib(河外孤星) ( ) 信誉:122 2002-07-20 22:31:00 得分:0
你说的是.dpk吗?
如果是的话,在Component --- install Component (在选择into new pakepage)可以可以把自己贩控件写入.dpk文件

回复人: winder_008(风中追沙) ( ) 信誉:100 2002-07-20 22:34:00 得分:0
在做安装盘是自己写如delphi目录下的文件啊

回复人: luxiaoban(鲁小班) ( ) 信誉:95 2002-07-20 22:35:00 得分:0
我的意思是运行安装程序自动安装控件(Delphi还没有打开),
不是在Delphi下面安装dpk文件。

回复人: luxiaoban(鲁小班) ( ) 信誉:95 2002-07-20 22:39:00 得分:0
真的是没人知道吗?

回复人: johnsonrao(johnson) ( ) 信誉:105 2002-07-20 22:39:00 得分:0
不知道,好想法,关注

回复人: luxiaoban(鲁小班) ( ) 信誉:95 2002-07-20 22:42:00 得分:0
三位斑竹大人,这个问题很难哦,不知道你们亲自出马能不能解决。

回复人: mattus_zhao(ZYL) ( ) 信誉:100 2002-07-20 22:44:00 得分:0
这个问题我也问过,没有人回答。
可能是用到了Delphi比较内部的功能吧,就像扩展IDE一样。

回复人: luxiaoban(鲁小班) ( ) 信誉:95 2002-07-20 22:50:00 得分:0
也难怪,国内做控件的本来就少,这些问题可能根本就没人去考虑过。

回复人: 9527(我靠,还是提交不上去!CSDN我服了你) ( ) 信誉:100 2002-07-20 22:57:00 得分:0
MARK

回复人: luxiaoban(鲁小班) ( ) 信誉:95 2002-07-20 22:58:00 得分:0
谢绝灌水

回复人: luxiaoban(鲁小班) ( ) 信誉:95 2002-07-20 23:18:00 得分:0
真的是没人知道了。

回复人: sncel(地狱情人) ( ) 信誉:97 2002-07-21 22:02:00 得分:0
不难,加入注册中就可以了,你先将你的注册在Delphi中注册一下,取出bpi文件,及在注册表中的信息,安装时放入指定文件并修改注册表中的信息就行了。。。
注册在以下节点下就行了.
Windows Registry Editor Version 5.00

[HKEY_USERS/S-1-5-21-527237240-1957994488-1363471619-500/Software/Borland/Delphi/6.0/Known Packages]
"c://program files//borland//delphi6//Bin//dcloffice2k60.bpl"="Microsoft Office 2000 Sample Automation Server Wrapper Components"
"D://外部控件//RainXP//D6//RainXP.bpl"="[RainTrail] XPSkin Component" (这是自己加的)
"c://program files//borland//delphi6//Projects//Bpl//Ehlib.bpl"="EhLib 2.0" (这是自己加的)
"c://program files//borland//delphi6//Projects//Bpl//dclusr60.bpl"="Borland User Components"
"c://program files//borland//delphi6//Projects//Bpl//WNQuery.bpl"="(untitled)" (这是自己加的)

回复人: sncel(地狱情人) ( ) 信誉:97 2002-07-21 22:05:00 得分:0
呵呵,打错了是.bpl文件而不是bpi。。。
这下面可能也行,你试试
HKEY_LOCAL_MACHINE/SOFTWARE/Borland/Delphi/6.0/Known Packages

回复人: luxiaoban(鲁小班) ( ) 信誉:95 2002-07-21 22:42:00 得分:0
sncel(地狱情人):
你试过吗?其实这个方法我也试过,
但是还是不成功,好象Delphi不光在注册表中改了东西。
 
是这个主键下面的,下面的不知道是否找全,反正就在附近。
HKEY_CURRENT_USER/Software/Borland/Delphi/5.0
HKEY_CURRENT_USER/Software/Borland/Delphi/5.0/Known Packages
HKEY_CURRENT_USER/Software/Borland/Delphi/5.0/Palette

HKEY_CURRENT_USER/Software/Borland/Delphi/6.0
其实他们就是简单的修改注册表。

还有,专家工具也是
HKEY_CURRENT_USER/Software/Borland/Delphi/5.0/Experts
 
这个我做过,跟上面说的差不多。
先关闭DELPHI,然后在注册表中添加一个字符串值:
项:HKEY_CURRENT_USER/Software/Borland/Delphi/6.0/Known Packages
名称为BPL文件全名(如D:/aa.bpl),数据为包名(可以随便给一个)。
然后重启DELPHI即可。
 
两位老大,
你们有没有自己亲自试过啊?
我怎么不行啊?

我的操作过程是这样的:
首先建一个控件,然后在Delphi中注册它,
找到这个控件的bpl文件的位置,然后在菜单Project-->
Options-->Package-->选择刚安装的控件,点击
Remove按纽删除这个控件,然后关闭Delphi。
打开注册表,在HKEY_CURRENT_USER/Software/Borland/Delphi/6.0/Known Packages
项中添加一个字符串,名称就是刚才的bpl文件的路径。
然后刷新注册表,启动Delphi,可是并没有你们说的情况啊。
 
我亲自试过,就是这样,没有问题的。
不过你这一说,害得我有点不确定,马上做了一遍,结论还是没有问题。

有一点要注意:“添加一个字符串,名称就是刚才的bpl文件的路径”,
然后,数据(包名)不能为空,你可以随便给一个。
 
接受答案了.
 
顶部