由于软件带数据库,升级时就很麻烦,有些用户根本不知道软件的安装目录是哪个相信不少人安装过FoxMail,该安装包可以在开始安装时检测上次安装的路径,并提示用户安装到该目录,似乎FoxMail也是用inno setup做的安装包。我想做到的是:在硬盘中查找MyProgram.exe,如存在则提示用户将软件安装到MyProgram.exe所在的目录

解决方案 »

  1.   

    1, 如果你没有修改Setup区的AppName, 下次安装时,默认就是以前安装的路径.
    或者2, 你可以在安装完成事件中,将此次的安装路径写入注册表,在安装程序的起动事件(在Inno中应该称方法)中再读注册表。CSDN论坛浏览器:http://CoolSlob.ys168.com/
      

  2.   

    HOWTO: Create an installation that is an "update" or "add-on" to an existing installation
    http://www.jrsoftware.org/iskb.php?updateinstall
      

  3.   

    如果你是需要自定义拷贝文件的话,首先你要确定你在什么时候(安装开始、结束)拷贝文件,然后在[CODE]段相应的事件中编写代码查找文件,然后从注册表中得到原来的安装路径并且拷贝。
      

  4.   

    安装包要兼容第一次安装和升级安装,所以查找上次安装目录的任务应放在前面即[Setup]段内
      

  5.   

    UsePreviousAppDir=yes  ?
    不能彻底解决问题,因用户还是有可能修改默认的路径
      

  6.   

    如果像你說的那樣,安裝前先在硬盤中查找MyProgram.exe文件,
    必然會很浪費時間.建議樓主做像搜索註冊表類的東東,
    找到其中的鍵值,得到原來程式的安裝路徑.
      

  7.   

    不知inno setup 是否有以上搜索註冊表得到原來程式的安裝路徑的功能?
      

  8.   

    使用InstallShield就不存在这样的问题.
      

  9.   

    我的意思是在[CODE]段写事件响应程序来在特定的安装阶段查找文件然后拷贝文件。
      

  10.   

    汗~~~~~~~TechnoFantasy老大说得这么清楚,还不明白?仔细看inno的帮助文件和examples吧。如果英文不够好的话,5.1.5版有汉化,而且连帮助文档也汉化了。需要5.1.5自行google解决。CSDN论坛浏览器:http://CoolSlob.ys168.com/
      

  11.   

    UsePreviousAppDir=yes  ?
    不能彻底解决问题,因用户还是有可能修改默认的路径
    ---------------------------------------------------
    在[setup] section中写DisableDirPage=trueCSDN论坛浏览器:http://CoolSlob.ys168.com/
      

  12.   

    在[setup] section中写DisableDirPage=true
    -----------------------------------------
    这样第一次安装的用户就不能自定义安装目录了
      

  13.   

    可能要编程才能解决问题,谁对Delphi熟悉点,写个共享下
      

  14.   


    在[setup] section中写DisableDirPage=true
    就可以了
      

  15.   

    在[setup] section中写DisableDirPage=true  
     比如默认安装是 c:\ 这个只能 d:\这样的 同等目录搜索