网页功能: 加入收藏 设为首页 网站搜索  
使用install shield制作PB6程序的安装盘
发表日期:2003-07-29作者:[] 出处:  

本文介绍这种PB6+Odbc+sqlany where

情况下的安装程序的制作,这种情况是最复杂的情况,请大家支持

到底需要装什么呢?

(1)PB运行时刻库

  a.必要的Microsoft接口

    Msvcrt.dll

    Msvcrt40.dll

    Olepro32.dll

    这三个文件是必不可少的,而且不一定能保证被安装的机器上一定有这三个文件,所以 做安装盘时最好包含。

  b.PB运行时刻库(32位)

    pbaen60.tlb 对OLE的支持

    pbdwe60.dll 对数据窗口的支持

    pbvm60.dll PB虚拟机,一定要有

    只有三个就够了!没有想到吧?

(2)PB与数据库客户端的专用接口或ODBC接口

  pbodb60.dll

  pbodb60.ini pb ODBC 专用接口 (sql anywhere必须装)

  pbor7360.dll pb oracle7.3 专用接口

  pbsyc60.dll pb sybasew 专用接口

  其他的我没有用过,不用都装,需要哪个就装哪个。

(3)PB应用程序和相应的PBD或DLL

  这就是你的exe和pbd(DLL)了!

(4)sql anywhere相应的文件

  dbeng50.exe

  dbl50t.dll

  wl50ent.dll

  wod50t.dll

  wodbc.hlp *当然可以不装拉

  wtr50t.dll

  这5个文件保证已经被创建的数据库可以正常运行

(5)sql anywhere DB文件

  只要包含*.db就可以了,*.log不要(加上*.log有时会出问题)

(6)帮助文件和其他文件

  怎样做hlp文件不用我告诉你吧!

如果主机上没有装ODBC那么需要装这些文件:

  Ds16gt.dll

  Ds32gt.dll

  Odbc16gt.dll

  Odbc32.dll

  Odbc32gt.dll

  Odbcad32.exe

  Odbccp32.cpl

  Odbccp32.dll

  Odbccr32.dll

  Odbcinst.cnt *当然可以不要拉

  Odbcinst.hlp *当然可以不要拉

  Odbcint.dll

  Odbctrac.dll

  一个都不能少!

  如果主机上有ODBC那你是不容易覆盖它的,如果你感觉还是自己装比较保险,可以把这些文件复制到任何一个包含在Path中的目录里所有需要的运行时刻库和文件路径都加入path中,在制作规范的安装程序时,主程序和相应的PBD(DLL)和相应的PB运行时刻库位于同一个目录里,ODBC driver和sql anywhere位于单独的目录里。千万不要混在一起,(因为太难看拉)用installshield要完成的工作

1.安装界面定制

2.文件复制

3.更改注册表

4.更新autoexec

下面讲的就是如何使用installshield5东方版拉

我只有这个版本,不过它支持中文,挺好的。

如果你没有,可以试试从这down一个。

ftp://202.196.64.9/pub/InstallShield/IS5EAST.exe

ftp://202.196.64.9/pub/InstallShield/serialno.txt

1)先用project WIZARD做一个新的项目

在选择需要的对话BOX时最好全选上,这些对话BOX去好去,加就有点麻烦拉。

安装类型中选上缺省的三种,就是compact,typical,custom,将来不要也可以删掉。

其他都用缺省的,以后到项目里改。

点击完成后,小功告成,现在有一个空项目拉!

2)左中靠下的这些tab page是很重要的

a、scripts ……这就是你的setup脚本,语法不知道象c还是更象pascal。scripts你是不能不接触的,否则你就只能做点小东西。is的script还是很强大的,也很有趣,在连载XXX中会讲一讲。

b、component ……元件嘛,叫组件比较合适。这里定义的就是你在选择安装类型时(就是custom时)用户看到的东西,把他们改成中文吧。

这里可以添加新的com,删除已有的com,改名字,如果你不喜欢用菜单,点点老鼠右键。

它们的具体属性系统都有很直接的提示,自己去研究吧。

Destination指的是文件的安装目的地,其中可以用户自定义目的,这个在在连载XXX中会讲一讲。

有个include file group这是怎么一回事呢?

c、file group ……原来是它。原来文件不是直接连接到component上,而是文件先连接到file group里,再由File group连接到component上。文件-》file group-》component。

file group取什么名字都没有关系,在安装时用户看不到,用户只看到component

d、Setup Type ……不要改成中文名字,安装时自动变成中文的。

e、resource ……里的东西是项目安装定义,不要忽视了

f、Setup file ……把安装一开始的欢迎界面的bmp加进来,旧的删掉吧,其实根本不用改什么,只要把项目目录里的setup.bmp换掉就好了。其他的东西我没有研究过。

g、Media ……讲不出什么,我根本没有动过它。

3)好了,先编译一下吧,喂,什么都没加呢!没关系,编译一下有点成就感。用media build wizad生成安装文件,运行一下看看。

终于要讲scripts了

scripts可是大小写敏感的!

“\”是转义字符,就相当与PB的“~”

“\r\n\t”等

变量类型:

BOOL TRUE or FALSE

CHAR 8-bit 有符号字符

DWORD 同NUMBER

HWND 窗口句柄(内部类型是NUMBER)

INT 同NUMBER

LIST 指向InstallShield list的指针(内部类型是NUMBER)

LONG 同NUMBER

LPSTR 同POINTER

NUMBER 有符号4字节整数

POINTER 指向数据的指针(如int i;p=&i)

SHORT 同NUMBER

STRING 字符串

赔本大甩卖!

字符串的操作:

(1) "+" 加

"123"+"345" = "123345" (12345)

"\\123"+"\\345" = "\\123\\345" (\123\345)

(2) "^" 路径加

"123"^"345" = ".\\123\\345" (.\123\345)

"\\123"^"345" = "\\123\\345" (\123\345)

"\\123"^"\\345" = "\\123\\345" (\123\345)

如果你弄不清楚,就用“+”吧

(3) "%" str1 % str2

if str1包含str2 then true else false

和StrFind (str1, str2)一样

1-函数(Function)***************函数(Function)

举个例子:

//函数声明

prototype RectangleArea (INT,INT);

//函数体

function RectangleArea (nLength, nWidth) //函数名

INT nVal; //局部变量定义

begin

nVal = nLength * nWidth; //函数体

return nVal;

end;

2-循环*******************循环

I、for循环

a、正循环

for iCount = 1 to 10 //step 1

MessageBox ("You'll see this 10 times", INFORMATION);

endfor;

b、负循环

for j = 20 downto 10 step 5

MessageBox ("You will see this three times", INFORMATION);

endfor;

II、repeat……until循环

nCount = 1;

repeat

MessageBox("Count is less than 5", INFORMATION);

nCount = nCount + 1;

until (nCount = 5);

III、while……endwhile循环

nCount = 1;

while (nCount < 5)

MessageBox ("This is still true.", INFORMATION);

nCount = nCount + 1;

endwhile;

3-判断**********************判断

a、

if (szStringA = "exit") then

AskYesNo ( "Are you sure you want to exit?" , NO );

endif;

b、

if (condition) then

// statements to be executed if condition is true

else

// statements to be executed if condition is false

endif;

c、

if (first condition) then

// statements to be executed if condition is true

elseif (second condition) then

// statements to be executed if condition is false

elseif (third condition) then

// statements to be executed if third condition is false

endif;

d、

if condition goto labelname;

系统变量有时候是很方便的!

跳楼大拍卖!!!

BATCH_INSTALL 指示当传输文件采用LOCKEDFILE或SHAREDFILE时是否锁定文件

CMDLINE Setup.exe传递的命令行参数

COMMONFILES Common files全路径如“c:\program file\common files”

ERRORFILENAME

FOLDER_DESKTOP Windows 95 或Windows NT 4.0桌面folder的路径

FOLDER_PROGRAMS Windows 95 或Windows NT 4.0 开始菜单中开始\程序 的folder

FOLDER_STARTMENU Windows 95 或Windows NT 4.0 开始菜单中开始 的folder

FOLDER_STARTUP Windows 95 or Windows NT 4.0 开始菜单中启动 的folder

INFOFILENAME InstallShield创建的备份文件全文件名

ISRES _isres.dll全文件名

ISUSER _isuser.dll全文件名

ISVERSION 版本

MEDIA 当前Media库名

MODE 指示程序运行于normal还是silent模式

PROGRAMFILES Windows 95 or Windows NT 4.0 “Program files” folder

SELECTED_LANGUAGE 安装选择的语言号

SRCDIR 安装源目录的全路径

SRCDISK 安装源目录的盘符

SUPPORTDIR 临时文件路径

TARGETDIR 安装目的目录的全路径

TARGETDISK 安装目的目录的盘符

UNINST unInstallShield程序用的反安装文件全文件名

WINDIR Windows的全路径(c:\windows)

WINDISK Windows位于的盘符

WINSYSDIR Windows\system的全路径(c:\windows\system)

WINSYSDISK Windows\system位于的盘符

我来说两句】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 使用install shield制作PB6程序的安装盘
本类热点文章
  批量复制数据窗口中的数据(pb)
  批量复制数据窗口中的数据(pb)
  pb中日期,时间的处理
  pb中日期,时间的处理
  在数据窗口itemchanged事件中改变自身值
  在数据窗口itemchanged事件中改变自身值
  使用install shield制作PB6程序的安装盘
  使用install shield制作PB6程序的安装盘
  如何在 PB 中实现无标题可拖动的窗口
  如何在 PB 中实现无标题可拖动的窗口
  shell命令一览表
  shell命令一览表
最新分类信息我要发布 
最新招聘信息

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放  
Copyright ©2003-2022 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00342