InstallShield12 制作安装包无法退出的问题解决

InstallShield12制作的安装包,安装程序中途退出时,调用Exit,可能安装进程并不会退出,然后再次运行时就会出现错误提示:“已存在一个安装进程”。
该问题的解决方案为:复写OnCanceling函数,将原处理函数中的abort修改为Exit。
如下:
//---------------------------------------------------------------------------
//
 OnCanceling
//
//
 The OnCanceling event is sent when the installation is cancelled, 
//
 usually as result of end user clicking Cancel button of a dialog or
//
 pressing Esc key. Calling Do(EXIT) will also trigger this event.
//
---------------------------------------------------------------------------
function OnCanceling()
    STRING szTitle, szMsg1, szMsg2, szOpt1, szOpt2;
    NUMBER bvOpt1, bvOpt2;
begin
    
if (IDYES = SprintfBox(MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2, SdLoadString(SD_STR_ONCANCELING_TITLE), SdLoadString(SD_STR_ONCANCELING_CONFIRM_MSG))) then
        
//Close the current dialog.
        EndCurrentDialog();
        
//Display Finish dialog.
        szTitle = "";    
        szMsg1 
= SdLoadString( SD_STR_ONCANCELING_FINISH_MSG1 );
        szMsg2 
= SdLoadString( SD_STR_ONCANCELING_FINISH_MSG2 );    
        szOpt1 
= "";
        szOpt2 
= "";
        bvOpt1   
= FALSE;
        bvOpt2   
= FALSE;
        SdFinish ( szTitle, szMsg1, szMsg2 , szOpt1, szOpt2, bvOpt1, bvOpt2 );                       
        
        
//将ABORT修改为EXIT以退出
        //abort;
        Exit;
    endif;
end;



posted on 2007-06-25 17:16 迷宫の未来 阅读(922) 评论(3)  编辑 收藏 引用

评论

# re: InstallShield12 制作安装包无法退出的问题解决 2008-09-14 11:32 liu

hao xiexie  回复  更多评论   

# re: InstallShield12 制作安装包无法退出的问题解决 2009-01-19 14:51 庞亮

谢了,问题解决了。  回复  更多评论   

# re: InstallShield12 制作安装包无法退出的问题解决 2011-12-23 14:50 zcj

不错 谢谢  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

导航

统计

常用链接

留言簿(10)

随笔档案

文章档案

最新随笔

搜索

积分与排名

最新随笔

最新评论

阅读排行榜

评论排行榜