InstallShield 工程类型MSI 使用过程中碰到的问题及解决方法。

一、安装完 桌面创建IE快捷方式:

  1、  install script可以直接建internet快捷方式。

  2、  basic msi 要先在desktop随便创建一个快捷方式, 修改Target和Arguments两项。将Target 的内容改为[ProgramFilesFolder]Internet Explorer\IEXPLORE.EXE,即将快捷方式指向IE,然后将Arguments修改为网址(必须有http://):http://tools.taokuaiche.com

二、现在流行安装完程序打开网址: 只需在OnEnd中加一行命令:

  (使用默认浏览器打开)

  1、LaunchApplication("http://tools.taokuaichen.com", "", "", SW_NORMAL, INFINITE, LAAW_OPTION_WAIT | LAAW_OPTION_USE_SHELLEXECUTE );

  (使用IE浏览器打开)

  2、LaunchAppAndWait(WINDIR ^ "explorer.exe","http://tools.taokuaichen.com", LAAW_OPTION_WAIT);

三、覆盖安装:每次运行setup.exe时不提示卸载,仍执行安装:

  开始修改了卸载逻辑,强制进行每次安装,导致程序安装后无法卸载的死循环。 开始菜单及添加/删除的卸载也是安装,后来在网上找了下资料试了下真管用。操作如下:

  Basic MSI工程删除behaviorandLogic->custom actions and Sequences-> Sequencse->installation-> Execute中的RegisterProduct和PublishProduct即可。

  注:如果碰到文件有更新不了的现象让你们的开发人员对 升级文件的版本号修改为高一点的即可。

四、现在好多安装程序在安装完成后都有推荐安装其他工具,安装完成去调用另一个setup安装另外的程序

  推荐安装的工具不超过2个可以通过以下方法实现(超过2个则需要自定用界面了):

  1、将另一个setup.exe加入到 support files—language independent中。(此处的调用路径为SUPPORTDIR)

  2、在OnFrstUIAfter中 调用LaunchApp (SUPPORTDIR ^ "setup.exe","");

五、安装包升级的时候如何检查安装目录下被安装程序是否正在运行。如果正在运行则跳提示退出。

        if( Is ( FILE_LOCKED, TARGETDIR^"XXX.exe")) then

    if(  MessageBoxEx( "检查到'XXXX'正在运行,请关闭后再重试","安装提示", WARNING|MB_OK )) then

              abort;

           endif;

       endif;

六、卸载完后判断根目录下及开始菜单是否卸载干净,不干净则强制删除

      查找开始菜单是否存在未卸载干净的文件夹

  nResult=QueryProgItem (FOLDER_PROGRAMS, "文件夹名称",svCmdLine, svWrkDir,svIconPath,nvIconIndex, svShortCutKey, nvMinimizeFlag);

  如果存在则强制删除

     if(!(nResult< 0))then  

           DeleteProgramFolder ( FOLDER_PROGRAMS^"文件夹名称" );

           //MessageBox ("DeleteProgramFolder success.", SEVERE);

  endif;

  查找安装目录是否存在未卸载干净的文件夹

  nResult=QueryProgItem (TARGETDIR, "文件夹名称",svCmdLine, svWrkDir,svIconPath,nvIconIndex, svShortCutKey, nvMinimizeFlag); 

  如果存在则强制删除

  if(!(nResult< 0))then

          DeleteProgramFolder ( TARGETDIR^"文件夹名称" );  

     endif;

以上有些问题是网上找了好多资料 试过可以执行成功的。

刚开始接触研究installshield,发现解决一个问题需要很长的时间,网上找资料不断的调试、修改、研究。解决完才发现找到适合的方法几分钟就能搞定,希望给大家带来个方便!

转载于:https://www.cnblogs.com/daocaorenbx/p/InstallShield.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
InstallShield是一个强大且易于使用的软件安装包开发制作工具,可以用于打包自己的应用程序。在使用InstallShield的教程,你可以按照以下步骤进行操作: 1. 下载和安装InstallShield软件。你可以从Flexera官方网站上获取最新版本的InstallShield安装程序。 2. 打开InstallShield软件并创建一个新的项目。你可以选择创建一个新的空项目或者导入现有的项目。 3. 在项目添加你的应用程序文件。这包括主程序文件、库文件、资源文件等。 4. 配置应用程序的安装选项。你可以设置安装目录、创建快捷方式、添加注册表项等。 5. 自定义安装界面。你可以添加自定义页面、对话框和图标,以及定义安装过程的用户交互。 6. 添加必要的操作和逻辑。你可以添加预安装脚本、卸载脚本、注册表操作等,以确保安装过程的正确性和完整性。 7. 进行构建和编译。通过点击构建按钮,将项目编译成可执行的安装程序。 8. 进行安装程序的测试和验证。在测试环境运行安装程序,确保安装过程和功能的正常运行。 9. 进行部署和分发。将生成的安装程序部署到目标计算机上,以实现应用程序的安装和使用。 需要注意的是,这只是InstallShield的基本使用教程,你可以根据自己的需求和具体的项目要求进行进一步的学习和探索。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【教程】InstallShield使用完全教程](https://blog.csdn.net/weixin_33736649/article/details/85570270)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [InstallShield 2020 基本使用教程](https://blog.csdn.net/weixin_43203889/article/details/119056273)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值