请教installshield professional 7.0如何实现多个安装程序?如果正确除100分另送100

liujinhai888 2003-08-23 04:39:35
我用的是installshield professional 7.0,我想实现多个程序安装。比如:有两个程序,a.exe,setup.exe(setup是已经制作完的安装程序).现在我想把这个两个程序作在一起,a.exe制作成主安装程序,然后在运行a.exe时,setup.exe同时自动运行。怎样才能实现?我想用 LaunchAppAndWait ( TARGETDIR^"setup.exe " , "" ,WAIT),但是不知道用在哪里?还有别的办法么?
...全文
170 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujinhai888 2003-08-29
  • 打赏
  • 举报
回复
我就是想整合到一个文件中去阿!可是installshield professional 7.0,我没有发现如何操作!
所以只想到用LaunchAppAndWait。但是如何Setup.exe安装到SUPPORTDIR后,安装就结束了阿!LaunchAppAndWait就不能用了。
源代码是这样的
function OnFirstUIBefore()
number nResult;
string szTitle, szMsg;
string svDir;

begin
if( !( LOGFILEMODE = LOGFILEMODE_SIDEBYSIDE_SINGLE && PRODUCT_INSTALLED ) ) then
TARGETDIR = PROGRAMFILES ^ IFX_COMPANY_NAME ^ IFX_PRODUCT_NAME;
endif;
svDir = TARGETDIR;


Dlg_Start:
// Beginning of UI Sequence

Dlg_SdAskDestPath2:
if( !( LOGFILEMODE = LOGFILEMODE_SIDEBYSIDE_SINGLE && PRODUCT_INSTALLED ) ) then
szTitle = "";
szMsg = "";
nResult = SdAskDestPath2( szTitle, szMsg, svDir );
TARGETDIR = svDir;
endif;
if (nResult = BACK) goto Dlg_Start;
//
Dlg_ObjDialogs:
nResult = ShowObjWizardPages( nResult );
if (nResult = BACK) goto Dlg_SdAskDestPath2;
// LaunchAppAndWait ( TARGETDIR^"MapX401.exe " , "" ,WAIT); return 0;

end;
请问

LaunchApp(COMMONFILES^'MapX401.exe',"");应该放到哪里呢?
踏岸寻柳 2003-08-29
  • 打赏
  • 举报
回复
除了可以用函数LaunchAppAndWait外,还有一个函数是专门来解决你的这种问题的 :)
DoInstall

原形如下:
DoInstall(SUPPORTDIR^"Setup.exe", "", WAIT);

就是将Setup.exe安装到目录SUPPORTDIR下后,调用函数DoInstall执行第二个安装程序,参数的用法和LaunchAppAndWait是一样的。

踏岸寻柳 2003-08-29
  • 打赏
  • 举报
回复
两种解决方法: :)
1. 做成一个安装程序:
将aa.exe、mapx.exe包含的数据信息整合到一个安装文件中去,这个做起来应该是比较简单的。为什么不尝试一下呢!
2. 就用你说的LaunchAppAndWait函数:
如果aa.exe、mapx.exe中包含的数据并没有很直接的联系的话,你可以在执行aa.exe时任意时刻来LaunchAppAndWait执行mapx.exe,函数LaunchAppAndWait的第二个参数可忽略,第三个参数可以是等待,也可以是不等待,取决于你的要求。如:
#define PROGRAMNAME "mapx.exe"
if (LaunchAppAndWait (PROGRAMNAME, "", nWait) < 0) then
MessageBox("调用程序"+ PROGRAMNAME +"失败", SEVERE);
endif;
liujinhai888 2003-08-28
  • 打赏
  • 举报
回复
是这样,我们自己做了一个程序叫aa.exe,这个程序需要地图,所以需要安装mapx.exe(是已经做好的安装程序)。现在我想把这两个做在一个安装软件包里面,以后我只要安装aa.exe,同时也把mapx.exe一起安装上了,就不再需要先手动安装aa.exe,再手动安装mapx.exe了。
踏岸寻柳 2003-08-28
  • 打赏
  • 举报
回复
问题描述不是很清晰 :)

1. 只有两个程序(a.exe,setup.exe)?
2. 做成可执行的安装程序后应该就是多个文件吧,程序文件a.exe、setup.exe已经打包在其中了吧!
3. 安装这个打包后的可执行程序时,两个程序文件a.exe、setup.exe会被释放出来到本地硬盘。
4. 释放出来后(当然,主安装程序已经在运行了),执行setup.exe即可(不过这个setup.exe不是主安装程序的setup.exe,而是释放到TARGETDIR路径下的一个文件)。
liujinhai888 2003-08-27
  • 打赏
  • 举报
回复
还有没有能具体一点的阿!
我想早点给分啊,见者有分
K_A_N 2003-08-27
  • 打赏
  • 举报
回复
关注
jy2004 2003-08-26
  • 打赏
  • 举报
回复
好办法
sunhz99 2003-08-25
  • 打赏
  • 举报
回复
up
caiyi0903 2003-08-25
  • 打赏
  • 举报
回复
关注ing
AliasKavin 2003-08-24
  • 打赏
  • 举报
回复
只要在你的主安装程序中的任何步骤,中运行Setup.exe就可以了~~
你的TARGETDIR应该代表的是要安装的目标目录,其中不会有Setup.exe的.
InstallShield 2009 提供两种版本 — Premier 和 Professional。   提供三种本地化语言版本:英语、德语、日语   优化针对 Windows Vista 的安装   增强了对 Microsoft 新操作系统的支持—包括 UAC、Restart Manager、Certified for Windows Vista 确认测试、Windows Installer 4.0、扩展的数字签名功能等等。   保持最新   支持最新的 Microsoft 技术- Windows® Vista™、.NET Framework 3.0、Visual Studio 2005、IIS 7.0、SQL Server 2005、Windows Server "Longhorn" Beta 版、Direct X 9.0c、Windows Mobile 平台(包括 Windows Embedded CE 6.x 等等)。   缩短开发时间   InstallShield 功能强大的 IDE 以及其自动化向导、模板和预构建的对象可快速实现常规安装任务并极大地提高效率,无论安装的复杂程度如何。   新的 InstallShield Best Practices 确认套件可以避免常见的安装问题,让您真正感受 InstallShield 的专业技术。   功能特点   Certified for Windows Vista 确认套件   新!InstallShield Best Practices 确认套件   新!Basic MSI 项目的最终用户对话框主题   增强功能!支持数字签名   增强功能!IDE 的可用性改进   自动化接口改进   新!支持 SaaS(IIS 7 和 SSL 技术)   新!最新的 Windows Mobile 平台支持   增强功能!InstallScript 和 One-Click Install 安装支持 Windows Vista

4,164

社区成员

发帖
与我相关
我的任务
社区描述
Windows专区 一般软件使用
社区管理员
  • 一般软件使用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧