CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  项目管理

如何自己编写PB数据库应用程序的安装程序???

楼主tubage(平平)2004-12-02 22:35:54 在 PowerBuilder / 项目管理 提问

各位大侠,小弟我最近刚开始学习PB8.0数据库应用程序的编写,想自己用PB来编写安装程序,以便发布到其他机器上,不知道有没有这方面的资料,我用的数据库是SQL   SERVER   2000,如果能得到各位大侠的帮助,小弟将不胜感激!!,我的电邮是xtu.stone@163.net 问题点数:0、回复次数:11Top

1 楼lzp_lrp(lzp)回复于 2004-12-03 09:40:29 得分 0

自己编写个安装程序?呵呵,网上有那么多现成的,为什么要自己做?  
   
  其它如果自己做的话,也不麻烦,无非是让用户定义一个路径,然后把文件复制到  
   
  那个路径下,麻烦的是你应该把程序压缩打包,这部分比较难办,你自己写写试试Top

2 楼jeff_107(笑眯眯)回复于 2004-12-03 09:57:34 得分 0

建议用专业的安装程序制作工具吧,推荐installshield。  
  不过我一般客户端安装采用installshield,而服务器的数据库安装则是自己编的一个程序,无非就是连接sqlserver,然后创建程序数据库,再将生成软件的数据表和初始数据。Top

3 楼feixue004(飞雪)回复于 2004-12-11 15:30:27 得分 0

楼上说的对,我曾经用过该软件   ,还可以Top

4 楼chenjunge(狄克)回复于 2004-12-27 17:20:44 得分 0

installshield多方便Top

5 楼hygougou(uoguogyh)回复于 2004-12-27 21:46:15 得分 0

想法不错  
  写过简单的,下一步,下一步的,只用一个窗口,设置visible属性,安装路径设置,内容拷贝  
  还有注册表生成,基本就这些  
   
  Top

6 楼yecheng2008(小小)回复于 2004-12-28 10:01:55 得分 0

推荐installshieldTop

7 楼jinco(阿华)回复于 2005-01-10 09:14:01 得分 0

installshield不错~!  
  Top

8 楼zhangdatou(猪头)回复于 2005-01-12 14:13:33 得分 0

用InstallShield制作专业Windows安装软件[1999-06-01]  
   
  苏贵洋    
   
    InstallShield可以说是软件安装的最好制作工具。其简单的操作、完全可视化的界面、方便的调试功能、多平台(Windows3.1,   Windows95,   WindowsNT3.5,   Windows   NT4.0   )语言(中文、各种西文)的支持使它几乎成为了安装制作的标准。难怪微软在它的拳头产品Visual   C++4.X中开始,就以捆绑的形式包括了InstallShield3。而今,随着日月的推移,InstallShield更是羽翼丰满,又陆续推出了InstallShield   Professional   5.X(包括East   Edition,West   Edition)和InstallShield   6.0,功能更为强大,操作更为简便。对于Shareware软件的制作者,包装上一个漂亮的安装程序,实在是非常必要。本文简要探讨一下用InstallShield制作安装软件的方法,希望对感兴趣的朋友有所帮助。  
   
    在InstallShield的各种最新版本中,其专门制作的East   Edition,可应用于汉语(GB、BIG5)、英语、印度尼西亚语、日语、韩语、俄语、土耳其语、泰国语等多语种。本文便以InstallShield   East   Edition   5.1为探讨对象进行讨论。InstallShield的其它语种版本的操作和East   Edition几乎完全相同。  
   
   
    进入InstallShield   East   Edition   5.1后便是两个“向导”面对你。  
   
    习惯用VB的朋友可以用VB5   Project   Wizard,它需要你的系统中安装了VB5。  
   
    更为常用的是Project   Wizard,它可以定制更为普便适用的安装程序。进入Project   Wizard后如图1:在第一栏中写入你的程序的名字,第二栏中写入公司的名字,在第三栏中选择开发程序使用的根据,第四栏中选择程序的种类,最后一栏中填入程序的可执行文件的完整路径和名字。单击下一步,进入选择定制对话框:安装自己的喜好选择希望安装过程进行时出现的对话框,按Priview键可以预览一下相应对话框的效果。接下来是选择要安装目标平台。也即程序将被运行在什么平台之上。InstallShield共提供了四种平台供选择(Win31,   win95,   WinNT3.5,   Windows   NT4.0   )。然后是多语种支持,也就是安装时可以提供的语言支持。再向下依次是安装类型选择、指定构成成份、指定文件组,最后是所有选项的概括。完成选择后便可得到你自己定做的Project,进入InstallShield的可视化编程环境。  
   
    下面让我们一步一步地完成我们的制作。  
   
    整个InstallShield的可视化程度很高。支持鼠标右键的操作,在各个位置的鼠标右键可激活各种功能;编译、调试方便,简直是VC++这种大型程序的简写本,却又比VC++方便了许多。  
   
   
    一、在左面的选项中选择Scripts。  
   
   
    这是全部制作的核心部分,也是我们所最应集中精力攻克的小小关口。当然不更改Scripts中的源程序也能制作一个标准的安装程序,但如果能够控制Scripts的编程,整个安装程序的制作水准就可以达到一个新的高度,这也许是您与普通制作者区别的开始吧。其实InstallShield的Scripts非常类似于C和C++的程序编写,相信对大多数程序员来说是非常容易掌握的。而对于没有什么C和C++的基础的朋友来讲,看完这篇文章后,相信你也能很好地去制作自己的Scripts,因为它具有相当程度的重复性,更容易被“依葫芦画瓢”。  
   
    Scripts的布局同C语言非常类似。首先是头文件的包含,紧接着是字符串的定义、函数原形的说明、全局变量的说明。你可以做的是在此加上你的函数说明、全局变量的说明。  
   
    Scripts中遵循C的规则,同样有局部变量和定义。遵循C++的注释规则,可以用//   注释内容来进行单行注释,也可以用/*   注释内容   */来注释一块语句。所有的关键字、宏定义都以不同颜色的字体标出,非常直观。Scripts   的编程遵循结构化编程的思想,提供了大量类似Windows   API的函数库供调用,每个宏定义都有详细的说明,每个函数除了详细地说明,解释每个变量的意义外,还都附有相应的例子,参考这些说明和例子,可以让新手在非常短的时间内上路。对用VC++开发过Windows程序的朋友来讲,简直就是一种6=2×3的转变而已,可以非常轻松地掌握。  
   
    在程序的最前段,是program…………………endprogram,它相当于C中的main()   {……}主函数。后面是一个个子函数体的程序,排列顺序是按调用顺序排列。全部函数都非常简单易懂,并且一般不需太大改动。下面将几个常用、经常改动的函数加以说明。  
   
    (1)   function   SetupFolders()  
   
    function   SetupFolders()  
   
    NUMBER   nResult;  
   
    STRING   szFolderDir;  
   
    begin  
   
    szProgramFolder   =   FOLDER_PROGRAMS^    
   
    SHELL_OBJECT_FOLDER;   //建立程序组或快捷方式的位置  
   
  szItemName   =   "眼部图象多功能处理系统";   //应用程序名称  
   
  szProgram   =   TARGETDIR^'eye95.exe';   //可执行文件名  
   
  szParam   =   "";  
   
    LongPathToQuote   (szProgram,   TRUE);//合并路径  
   
    LongPathToShortPath   (szParam);//转为短路径,专为Win31和WinNT3.5而用  
   
    szCommandLine   =   szProgram   +   "   "   +   szParam;   //生成命令行  
   
    szWorkingDir   =   TARGETDIR;//工作路径  
   
    szIconPath   =   "";  
   
    nIcon   =   0;  
   
    szShortCutKey   =   "";  
   
    nFlag   =   REPLACE;  
   
    AddFolderIcon   (szProgramFolder,   szItemName,    
   
    szCommandLine,  
   
    szWorkingDir,   szIconPath,   nIcon,  
   
    szShortCutKey,   nFlag);  
   
    szProgramFolder   =   FOLDER_DESKTOP;  
   
    LongPathToQuote(szCommandLine,   TRUE);  
   
  if(SprintfBox(   OK|CANCEL,"请选择:","%s","你想在桌面上创建快捷方式吗?")==6)    
   
    then  
   
    AddFolderIcon(szProgramFolder,szItemName,szCommand  
   
    Line,    
   
    szWorkingDir,szIconPath,nIcon,szShortCutKey,    
   
    nFlag);  
   
  endif;  
   
  szProgramFolder   =   FOLDER_PROGRAMS^   SHELL_OBJECT_FOLDER;  
   
  szItemName="readme";  
   
  szProgram   =   WINDIR   ^   "notepad.exe";  
   
  szParam   =   TARGETDIR^"readme.txt";  
   
  LongPathToQuote   (szProgram,   TRUE);  
   
  LongPathToShortPath   (szParam);  
   
  szCommandLine   =   szProgram   +   "   "   +   szParam;  
   
  AddFolderIcon(szProgramFolder,szItemName,    
   
    szCommandLine   ,  
   
    szWorkingDir,   szIconPath,   0,  
   
    szShortCutKey,nFlag   );  
   
    nResult   =   CreateShellObjects(   ""   );  
   
    return   nResult;  
   
    end;  
   
    其实这段程序说白了是对AddFolderIcon的一个应用而已。应用AddFolderIcon来在开始选单中添加程序组、程序项或在桌面桌面添加快捷方式等等。所以首先读一下AddFolderIcon的说明非常必要。它共有八个入口参数。第一个参数szProgramFolder是确定要在Win95中添加选单的位置(路径),例如  
   
    "C:\\WINDOWS\\STARTMENU\\PROGRAMS\\ACCESSORIES\\GAMES"。  
   
    而在Windows95和WinNT4.0中,还可以用系统的宏定义:FOLDER_DESKTOP(添加在桌面上)、FOLDER_DESKTOP(添加在开始选单中)、FOLDER_PROGRAMS(添加在开始-〉程序选单中)等。第二个参数为szItemName,即添加的图标的名称(应用程序的名称)。第三个参数szCommandLine相对繁琐一些。它为了指定可执行程序和它的命令行,或者在子目录下的全路径(仅适用于Windows95&winNT4.0)。szWorkingDir为工作路径,可为空:“”,或为TARGETDIR(目标路径)。szIconPath为图标路径,一般设为空:“”。nIcon为图标序数,即若应用程序有若干个图标,想显示那个,依次为0,1,2……。  
   
    szShortCutKey用来定义快捷键。nFlag用来指定图标的外观。如果在路径中包含长路径名,则必需用‘’或“”来包含,然后用LongPathToQuote函数来合并。当用于16位的Win31和WinNT3.5时,还应再调用一下LongPathToShortPath进行转换。如此便可创建程序组、程序项或快捷方式了。太麻烦了?没关系,如果您认为这一段操作实在麻烦,您完全可以略过,到Resource中去完成,详情请往后看。  
   
    (2)function   SetupScreen()  
   
    begin  
   
    Enable(   FULLWINDOWMODE   );  
   
    Enable(   INDVFILESTATUS   );  
   
    SetTitle(   "眼科多功能处理系统安装程序",   28,YELLOW   );//修改字体和颜色  
   
    SetTitle(   "眼科多功能处理系统",   0,   BACKGROUNDCAPTION   );   //   标题行的字体和颜色  
   
    Enable(   BACKGROUND   );  
   
    Delay(   1   );  
   
    end;  
   
    这儿主要是SetTitle   (szString,   nPointSize,   nColor)函数的应用。  
   
    三个参数分别代表了所写字符串的内容、字体大小、文字颜色。  
   
    (3)function   DialogShowSdWelcome()  
   
    NUMBER   nResult;  
   
    STRING   szTitle,   szMsg;  
   
    begin  
   
    szTitle   =   "欢迎";  
   
    szMsg   =   "欢迎您光临   眼科多功能处理系统   安装程序!";  
   
    nResult   =   SdWelcome(   szTitle,   szMsg   );  
   
    return   nResult;  
   
    end;  
   
    在这个函数里写入您想制作程序的标题。  
  Top

9 楼zhangdatou(猪头)回复于 2005-01-12 14:13:53 得分 0

 
    (4)function   SetupRegistry()  
   
    NUMBER   nResult;  
   
  STRING   szKey,   szNumName,   szNumValue,   svNumValue;  
   
    NUMBER   nType,   nSize;  
   
    begin  
   
    szKey="Robert\\RobertSoftware\\Spirit\\Version";//自己的主键  
   
    szNumName   =   "TestValue";//键名  
   
    szNumValue   =   "12345";//键值  
   
    nType   =   REGDB_NUMBER;//类型  
   
    nSize   =   -1;//指定大小  
   
    RegDBSetKeyValueEx(szKey,   szNumName,   nType,   szNumValue,nSize)   ;//创建  
   
    nResult   =   CreateRegistrySet(   ""   );  
   
    return   nResult;  
   
    end;  
   
    通过这种方法修改注册表,再辅以一些算法,可以投入很小但起到很好的加密程序的作用,您不妨一试!   ?  
   
    (5)function   DialogShowSdFinishReboot()  
   
    NUMBER   nResult,   nDefOptions;  
   
    STRING   szTitle,   szMsg1,   szMsg2,   szOption1,   szOption2;  
   
    NUMBER   bOpt1,   bOpt2;begin  
   
    if   (!BATCH_INSTALL)   then  
   
       bOpt1   =   FALSE;//不选  
   
       bOpt2   =   FALSE;//不选  
   
       szMsg1   =   "%P   安装结束!\n";//%P代表安装程序名字。  
   
  szMsg2   =   "按结束键结束   %p   安装。";//提示信息  
   
  szOption1   =   "我想看自述文件。";  
   
       szOption2   =   "我想现在就运行程序。";  
   
       nResult   =   SdFinish(   szTitle,   szMsg1,   szMsg2,    
   
    szOption1,   szOption2,   bOpt1,   bOpt2   );  
   
  if(bOpt1)   then  
   
       LaunchAppAndWait(WINDIR^"Notepad.exe",TARGETDIR^"readme.txt",WAIT);//如果选中,调用Windows的笔记本载入自述文件。  
   
    endif;   if(bOpt2)   then  
   
       LaunchApp(TARGETDIR^'eye95.exe',"");//如选中,立刻执行应用程序  
   
    endif;  
   
       return   0;  
   
    endif;  
   
    nDefOptions   =   SYS_BOOTMACHINE;  
   
    szTitle   =   "";  
   
    szMsg1   =   "";  
   
    szMsg2   =   "";  
   
    nResult   =   SdFinishReboot(   szTitle,   szMsg1,    
   
    nDefOptions,   szMsg2,   0   );//由此控制决定是否重新启动计算机。  
   
    return   nResult;  
   
    end;  
   
    这一段程序便是安装到最后,可以提示用户是否看自述文件、是否立刻启动程序运行、是否重新启动计算机。  
   
    Scripts最需要改动的地方可能就是这五个地方。其它则根据制作者自己的需要来做相应修改。  
   
   
    二、修改File   Groups  
   
   
    双击相应的Examples   Files、Help   Files、Program   DLLs、Program   Executable   Files、Shared   Dlls,在相应的Links中,单击右键,可以插入一组文件、一个文件夹或一个文件。而在Examples   Files、Help   Files、Program   DLLs、Program   Executable   Files、Shared   Dlls中分别加入文件是为了在程序安装时的选项安装。更为简便的方法是在Tools中启动Launch   Explorer,然后把所需的文件或文件夹拖拉到右面空白处即可。  
   
   
    三、修改Components  
   
   
    单击Program   Files、Example   Files、Help   Files或Shared   Dlls,在右面的表格中双击Include   File   Groups,在弹出的属性对话框里单击Add…,加入相应的文件组。  
   
   
    四、修改Setup   Types  
   
   
    单击Compact、Typical或Custom,在右面的表格中选择各自包括的组成成份。  
   
    注:有了二、三、四项的操作,才能完成安装时的“典型安装、简洁安装和定制安装”的选择。  
   
   
    五、修改Setup   Files  
   
   
    在Splash   Screen-〉Language   Independent中你会发现一个Setup.bmp文件,这个是系统提供给你的安装开始时的闪烁画面。你可以用你的封面替代这个setup.bmp。在Language   Independent-〉Operating   System   Independent中,你会发现license.txt和infolist.txt。你可以将你的应用程序的说明、版权信息写入相应文件。  
   
   
    六、修改Resource  
   
   
    在Register   Entires中,你可以添加你的键值。对Register   Entires单击鼠标右键,单击New   Entry,便可在右面的Register   Set中加入自己的键值。  
   
    在Shell   Objects中,有Explorer   Shell和Program   Manager   Shell两个分类,分别是为了windows95、WinNT4.0和win31、winNT3.5设计的。在Explorer   Shell中,又有Desktop、Start   Menu、Programs、Startup的层次之分。你可以在任一层单击右键,插入您所需要加的快捷方式或文件夹。  
   
    单击快捷方式或文件夹,双击右面的表格选项,依次填入空白项,那么在您理想的目的地的文件夹或快捷方式便建好了。不要着急去按下Run   Setup工具按钮,否则您会发现您运行后得到的并不完全是您所设计的!这是因为您少了:  
   
   
    七、运行Media   Wizard  
   
   
    在Media栏,单击Media   Build   Wizard,按照提示一步一步执行,直至结束(而实际上您仅需连续按“下一步”按钮)。您完全可以再此基础上加上更多的更精彩的小花招,如:加密、安装拷贝时的不同的背景变换、制成一个自解包的安装文件、做一个带时间限制的试用版安装等等,InstallShield都可以满足您的需要。但这些小花招,基本都需要您对Scripts的熟练掌握,这些都是用简洁方式所不能控制的。  
   
    好了,您可以Run   Setup了。怎么样?够不够专业?酷不酷?可不要把嘴乐歪了!  
  Top

10 楼sbks(hwnd,&rect)回复于 2005-01-20 11:58:59 得分 0

pb自身的运行环境是很干净的,只要把share目录(当然,也可以只挑那些需要的dll,前提是你要知道是哪些)都复制到操作系统能够找到的路径,程序就可以运行了  
   
  复杂在数据库客户端的设置,可以这样操作:检查注册表中是否已经登记有你想要的数据库客户端,如果没有,弹个提示出来提醒客户进行安装  
   
  剩下的工作,就是用pb   script动态在建库建表的事情了Top

11 楼cdfuqh(电脑与音乐)回复于 2005-03-16 10:25:10 得分 0

服务器端怎么安装啊?Top

相关问题

  • 怎样安装pb的支持库,使得不用安装pb而能运行pb编写的数据库应用程序?
  • ??用VC++编写数据库应用程序,什么书好?
  • 菜鸟的MFC编写数据库应用程序的求助
  • 安装、设置用于数据库应用程序的JBuilder
  • pb与DELPHI数据库应用开发的比较
  • 不用MFC如何通过ODBC编写数据库应用程序?
  • 如何用VC编写最简单的数据库应用程序?
  • 用Delphi编写CORBA数据库应用系统到底有无可行性?
  • 关于用DCOM编写分布式数据库应用程序的问题
  • 如何用install sheild做数据库应用程序的安装,详细点..

关键词

  • win95
  • 安装
  • installshield
  • 函数
  • 文件
  • 修改
  • 文件夹
  • 制作
  • 程序
  • szmsg

得分解答快速导航

  • 帖主:tubage

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo