1,VS2005 制作一个安装程序,在用户界面中添加了一个 复选框页面,其中有一个复选框,Checkbox1Property = CHECKBOXA1 ,功能是写注册表,如果用户勾选,就在注册表中写入响应信息,不勾选就不写。问题是,在安装的过程中有什么方法判断这个复选框是勾选了还是没有勾选,应当如何做才能在勾选了复选框写入注册表呢?2,因为程序要经常更新,所以想支持升级安装。我将安装工程重新编译,然后在Run   Setup.exe 就包如下错误:“另一個版本的產品已被安裝。要重設或移除此產品,請使用 "控制台" 中的 "新增/移除程式" 。” 如果到更新删除程序里干掉以前的版本再安装,客户会感到很麻烦,客户是上帝吗!!!呵呵
有没有好的法子,不用干掉以前的版本,就能安装。
应当是有一个方法可以检测到以前的版本的吧,如果以前的版本比当前的版本低就升级安装。不知道这个方法怎么做,MSDN也找了,没找到,哪位仁兄知道,告诉小弟。

解决方案 »

  1.   

    2
    没次都用不同的名字比如 2007721.exe
    然后写一个bat文件启动 升级的时候 修改一下bat文件要启动的程序就可以了
    或者弄成.config文件升级完成 要求重启就OK了
      

  2.   

    foyuan(暴走零零漆)
    不太明白你说的是什么意思,能否具体点呢
      

  3.   

    1, 推崇 setup factroy 7 简单实用
    2, 主程序模块化,分块升级
      

  4.   

    第二个问题:
    单击项目(安装项目),点属性窗口,将DetectNewerInstalledVersion设为false,即不检查版本.
      

  5.   

    如果不行,再配一下RemovePreviousVersions属性
      

  6.   

    2 可以使用xml 写信息 读取版本信息
     更新在写入xml
      

  7.   

    第二个我或许能帮上忙,我记得属性里面有一些设置RemovePreviousVersions 设置一下就可以了
      

  8.   

    第二个问题很简单安装程序项目中有三个属性:ProductID、UpdateID和自动删除旧版本,多看帮助多动手就知道了。
      

  9.   

    UpGradeCode 值是唯一的.每次都不變. 改變ProductCode值,和version值。RemovePreviousVersion = true. 试试看吧,应当可以的。