!!!!!!!急,急,急,为什么我用installshield express limited edition for d5作的安装程序在别的机子上不能用?(5

F

feagle

Unregistered / Unconfirmed
GUEST, unregistred user!
!!!!!!!急,急,急,为什么我用installshield express limited edition for d5作的安装程序在别的机子上不能用?(50分)<br />我用installshield express for d5作的安装程序换个机子后安装中在开始拷贝文件时显示
“不能创建目录,请确认是否连接。'这是为什么?在本机自测也是一样,请帮帮我!
btw:我作的数据库是access的,请问在installshield制作中能不能把dao35加入就行了?
 
不太清楚为什么。我可以提供一个在本机测试的方法:
做好安装程序后,把 program files/common files/borland shared 目录改名,
用 regedit 把 HKEY_LOCAL_MACHINE/Software/Borland 主键删除,当然,事先把这个键
导出为 .reg 文件,然后运行你的安装程序,安装后能用则OK,不能用再把改变的目录名、
键值改过来调试。
 
这是来自wufeng先生的一段请参考
一. 通过BDE访问Access97
1. 打开BDE Administator, Configuration -> Drivers -> Native ->
MSACCESS ,将DLL32改为IDDA3532.DLL.
2. 新建一工程,在Form1上放置TTable,TDataSource,TDatabase,TDbGrid控件
各一个.
3. 在Form1的OnCreate事件中放入如下代码(C++Builder程序,Delphi大同小异),
void __fastcall TForm1::FormCreate(TObject *Sender)
{
AnsiString DATABASE_NAME = "DATABASE NAME="+GetCurrentDir()+"//DATA//DELPHIBBS.MDB";
DataSource1->DataSet = Table1;
DBGrid1->DataSource = DataSource1;
Database1->DriverName = "MSACCESS";
Database1->Params->Clear();
Database1->Params->Add(DATABASE_NAME);
Database1->Params->Add("USER NAME=");
Database1->Params->Add("OPEN MODE=READ/WRITE");
Database1->Params->Add("LANGDRIVER=");
Database1->Params->Add("SYSTEM DATABASE=");
Database1->Params->Add("PASSWORD=");
Database1->LoginPrompt = false;
Database1->DatabaseName = "Fuweng";
Table1->DatabaseName = "Fuweng";
Table1->TableName = "letters";
Table1->Active = true;
}
/*
多方便!多省事!
有了上面的代码,程序一启动,letters表就被打开了,几乎是"全自动"!
当然,朋友们还可根据实际情况做进一步的完善,比如:加入异常保护...
访问Access97数据库的方法有很多,但我还是比较喜欢通过代码来实现,
因为这样最灵活,且排除了在程序外边手工设置别名带来的诸多麻烦,同
时也为将来制作安装程序极大得减轻了负担.
*/

二. 为上面的程序制作安装程序
首先,我想阐明自己的一些观点:
[1]. 安装程序要做得尽可能精练,最小化.多余的文件一个都不要.
[2]. 安装时要尽量不伤到用户系统中已有的软件,设置.
[3]. 反安装时尽量要卸的干净,不能伤及别的软件.
上面我多次说要"尽量","尽可能",就是说并不绝对.试想你能让IE4和IE5共存于
同一台机器中吗?不可能!!同样,Delphi3,4,5也很难共存...
在硬盘容量巨增的今天,有时浪费一点没什么,换来的是系统的清洁,不混乱...
因此我强烈建议:能放在当前目录下的文件就不放在别处("当前目录"指可执行文
件所在的目录;"别处"指C:/Windows,C:/Windows/system....)!
具体安装说明: (以C++Builder5为例,Delphi5应该是一模一样,其它版本有少许不
同,但绝大多数一样)
1. C++Builder5绝对必需的文件
BORLNDMM.DLL CC3250MT.DLL VCL50.BPL
2. BDE绝对必需的文件 (对于中文软件来说)
IDAPI32.DLL BLW32.DLL IDR20009.DLL FAREAST.BTL CHARSET.CVB
VCLBDE50.BPL VCLDB50.BPL BANTAM.DLL (USA.BTL似乎可有可无)
3. ACCESS97 (用BDE连接)
IDDA3532.DLL EUROPE.BTL ODBC32.dll ODBCINT.dll
[注册表] (就是说要注册下面的两个地方,跟你机器上的一样就可以)
HKEY_LOCAL_MACHINE/Software/Borland/Database Engine/Settings/DRIVERS/MSACCESS
HKEY_LOCAL_MACHINE/Software/Borland/Database Engine/Settings/SYSTEM
以上文件均放在安装目录下.
4. 另人极其讨厌的DAO安装问题
DAO是专门为Access数据库服务的,又由于Office套件和Windows 9X,NT是一家的,
它们之间总有着千丝万屡的关系,所以针对于DAO的文件,特别是注册表中的设置更
是多得要命!要想将其研究明白真不是容易的事,我曾经在干净的Windows95下用
regsnap软件跟踪过DAO的安装,结果发现在注册表中新增和改动的地方多得吓人!
我想硬要将其搞明白,意义就不大了!
所以,用DAO的独立安装包是目前的上策,有的朋友说另做一个程序让用户选择
是否安装DAO,我看也不错.
DAO35.EXE和DAO36.EXE在此处下载:http://www.finalfiler.com/
(3.071KB) (4.444KB)
按照上述4点就可以制作安装程序了,至于用什么工具,随便!
首先,BDE的安装可以说是很精练了;其次,由于大部分文件都安装在"安装目录"下,
所以反安装时可以全部删掉,不用担心是否与别的程序共享某些文件;再有,不必设
置讨厌的别名,什么IDAPI.CFG一概不用管,全在程序里.
 
谢谢各位,这个问题已经解决了,不知道什么原因,重作了一次就好了。
 
Delphi3,4也很难共存?可以的哦
 
to Haha...:
哇!!你拿我的劳动成果换分!太不象话了!行啊,我那篇文章也是免费为人民服务,
随你去吧.
>>我作的数据库是access的,请问在installshield制作中能不能把dao35加入就行了?
肯定不行,因为需要注册,注册可以用我在《关于DAO的安装,注册 -- by Fuweng》中的
方法,我后来想了一下,由于有注册控件的API,所以你可以自己做一个DLL,把它置于安
装程序中,用它来注册DAO350.DLL,如果注册成功,什么对话框都不弹出,出错再做提示,
这样就避免了用regsvr32.exe时总是有个对话框,感觉不爽.
 
多人接受答案了。
 
顶部