用vs2008的安装部署将应用程序进行打包,
其中执行程序在D:\AppExe目录,dll在system32目录。安装时均正常。
在卸载的时候,则AppExe目录的文件均被删除,而system32目录中的相关dll文件则硬挺挺的不肯消失。
这样导致了下次升级的时候,修改的dll文件安装时不被更新,从而出现错误。哦,系统是win7,不知道卫生么那些dll文件卫生么不消失呢?

解决方案 »

  1.   

    本来就是这样的,dll文件一般可以放在winsxs下面, 其实不存在不更新的问题,会存在多个版本的dll, 程序会自动选择正确的dll,也就是说低版本的选择低版本的dll, 高版本的程序会自动选择高版本的dll.  这个设计可以避免dll hell. 
      

  2.   

    没有理解你的意思
    同一文件名的dll在system32下面只能存在一个文件吧,不可能同名文件存在多个吧。
    也就是说在system32只能存在一个myuse.dll文件(假设DLL的文件名为myuse.dll)
    怎么会有 多个版本的同一文件名的dll存在呢。现在的情况是:在应用程序目录中的dll在卸载时会被卸载掉,而在system32中的dll就还在那里,无法删除。
      

  3.   

    win7一般都是把dll放在winsxs下面,不是system32下