请问如何才能删除调用的 程序所在的目录啊(300)

  • 主题发起人 主题发起人 hotboy
  • 开始时间 开始时间
H

hotboy

Unregistered / Unconfirmed
GUEST, unregistred user!
我打算自己编写一个带卸载的程序。安装时,我在所装目录下生成一个安装信息的文本文件(uinstall.dat)。卸载时,通过程序uninstall.exe调入安装信息进行卸载。例如安装完成在C:/Program Files/RoadTest下存在uninstall.exeuinstall.dat等文件运行uninstall.exe将删除安装时建立的相应桌面快捷方式,和C:/Program Files/RoadTest下的文件,以及文件夹C:/Program Files/RoadTest,问题是uninstall.exe就在文件夹C:/Program Files/RoadTest下,通过上网搜索,我采用了所谓的自杀方法,能删除uninstall.exe,但是要进一步删除文件夹C:/Program Files/RoadTest 总是不成功。快要崩溃了,特向各位求助!
 
你自杀完了,再去杀别人能行么。
 
就是有办法删除掉 程序自己所在的目录 吗???
 
你在调用你个目录,怎么删除呢?
 
在functionOnMaintUIBefore()事件中删除,使用脚本函数DeleteDir(TARGETDIR,ALLCONTENTS);第一个参数是路径,第二个参数是删除类型,eg.DeleteDir(TARGETDIR,ALLCONTENTS);DeleteDir(TARGETDIR,ONLYDIR);TARGETDIR在IS中就是安装的目录了.不过bcb自带的好像IS5吧,不记得是不是了.这个是在IS6中的.基本上应该不会变化才对
 
我是要自己编写一个安装程序,带一个卸载程序。卸载程序运行到最后,需要删除自己以及自己所在的目录。
 
用批处理就可以了。程序先生成一个批处理文件,用这批处理文件删除自己及所在目录,然后调用批处理文件,退出自己即可。批处理文件中要有等待程序退出的代码(你可以一直尝试删除那个EXE直到删除成功),然后再删除自身。
 
能给个例子吗?我不知道批处理如何删除所在目录。为了删除所在目录,新建的批处理不能在里面吗?因为如果新建的批处理,还在要删除的“所在目录”,会不会删除不了目录啊?我不太会批处理。能给段批处理代码吗??不甚感激!!
 
看看ShellAPI吧。
 
用批处理
 
很简单的首先,卸载程序可以COPY自己到另一个存在的目录中,比如TEMP目录然后用SetCurrentDirectory(....);设置到别的目录,再删除原目录下的所有文件最后自杀,OVER
 
发分数。有好建议,继续给分。
 
多人接受答案了。
 
后退
顶部