各位:
在用installshield制作的安装程序A。安装时如果目标机中已经安装了A,此时安装要求先卸载。
那么执行卸载A后如何再自动执行安装包进行安装A呢?
请指教
升级功能是制作升级包。但是 如果要安装的版本和已经安装的版本相同或低于已安装的版本呢。
说白了就是想重复安装软件,如果已安装就自动卸载(installshield已实现)后再重新安装一篇。
是否可以通过批处理来解决。望指正。
批处理中是否可以判断installshield的执行是卸载、还是安装吗?
在网上看到这个解决办法:
//正文
攻克“用InstallShield制作卸载快捷方式”
2007-11-22
分类:
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://managedog.blogbus.com/logs/10928160.html
用InstallShield制作安装文件简直是及其特别以及非常的方便快捷,可是涅,要卸载的话,非得把安装文件再点击一次,真的是特别滴不爽,在网上搜了好久,信息不多不说,还有好多人说的根本就行不通,最终卖力滴把下面这种方法看懂了:
“可以这样做的,在Resource页面下选择startmenu->programs->shell->新建一个快捷菜单,在其对应的属性页中的shortcut text中写入UNINSTALL(你想写什么就写什么),在target 里面输入<PROGRAMFILES>\InstallShield Installation Information\{2CE6588F-D966-41C7-BAEB-1DB319218F1A}\Setup.exe,这里替换{2CE6588F-D966-41C7-BAEB-1DB319218F1A}为你的项目ID(PROJECT ID),然后在parameters中输入"/uninst"(不要加双引号),最后在install condition中输入你项目的程序组名称即可,这下rebuilding ,OK了吧,我的就是这样实现的没有问题的”
恩,很好,很强大
//正文完
但resource页面在什么地方找不到。
能人能否指点一二。先谢谢了。
这是InstallShield升级功能吧,变更产品版本号就行,安装包会先卸载旧版本,然后安装新版本。
如果是同一个版本,那第一次运行是安装,第二个运行就是卸载或修复。
如果是InstallScript,在OnBegin中通过调用脚本先将老版本或同版本卸载掉,具体可以参考InstallScript安装包的静默卸载。
@Kevin.Wan: 能否说的详细些
@Kevin.Wan:
在OnBegin中执行卸载函数,提示警告。有另一个进程正在执行,取消 再运行该程序
function OnBegin()
STRING szfilename;
begin
szfilename = UNINSTALL_STRING +" /UNINSTALL" ;
LaunchAppAndWait(szfilename,"",WAIT);
end;