问题描述
用VS制作安装项目,要求可以指定卸载时不删除某些文件、在卸载前判断如果不符合条件则取消卸载(取消卸载的代码怎么写?例如要调用什么方法或发送什么消息)等,另外,还发现OnBeforeInstall比Install还要晚调用,怎么回事?请高手指点,万分感谢!具体的需求如下:1.卸载前判断程序是否正在运行,如果正在运行则提示用户“先退出程序,然后再重新执行卸载操作”,跟着安装程序应该能取消本次安装操作。2.卸载后要保留安装位置处的用户数据文件,不要删除掉,在下次安装后可以使用这些数据文件。3.已经安装了一个版本,后来做了一个新版本,试验发现,当运行新版本安装包时,会提示说“已经安装了该产品的一个版本,请卸载后再安装新版本”,然后就结束退出安装了。有没有办法让它自动的卸载掉旧版本然后自动的运行新版本安装包?我之前用的是Installshield,发现也存在上述问题,而且它是收费的工具,所以还是想用回VS来做安装包。
解决方案
解决方案二:
http://wenku.baidu.com/view/1becc367ddccda38376bafd2.html
解决方案三:
楼上的,那些基本的我已经掌握了,关键是上面的那些问题,百度、谷歌都没找到解决方案。
解决方案四:
生成软件的时候,把软件列表,文件夹,做个列表,放在批处理里面我们软件就是用个批处理.做卸载的,用tskill强制结束进程.其他的就是删除文件夹,删除文件@echoofftitle软件卸载:xzCLSset/pxz=你确定卸载软件吗?按回车键将继续卸载,否则请手动关闭退出echo正在卸载文件,请稍候......del/f/s/qlog.txtrd/s/qupdaterd/s/qLogstskillabcdel/f/s/qDevExpress.Data.v10.2.dlldel/f/s/qDevExpress.Localization.v10.2.dlldel/f/s/qDevExpress.OfficeSkins.v10.2.dlldel/f/s/qDevExpress.Utils.v10.2.dlldel/f/s/qDevExpress.XtraBars.v10.2.dlldel/f/s/qDevExpress.XtraEditors.v10.2.dlldel/f/s/qDevExpress.XtraGrid.v10.2.dlldel/f/s/qDevExpress.XtraLayout.v10.2.dlldel/f/s/qDevExpress.XtraNavBar.v10.2.dlldel/f/s/qDevExpress.XtraScheduler.v10.2.Core.dlldel/f/s/qDevExpress.XtraScheduler.v10.2.dlldel/f/s/qDevExpress.XtraTreeList.v10.2.dlldel/f/s/q卸载.batrem卸载.batdel%0echo卸载工作完成!echo&pauseo卸载工作完成!echo&pause
解决方案五:
楼上这个完全不是用VS来安装的?
解决方案六:
23我会就两个属性的问题第一个我不会我现在也遇到了一个奇怪的问题