我的程序有自动更新功能,但DLL(COM进程内组件)被其它程序占用就无法删除并更新了,怎么办?
像3721这样的东东,它是怎么更新自己的DLL的?

解决方案 »

  1.   

    自动更新之前,启动一个专门的更新程序,把占用dll的程序退掉,然后升级,升级完后现把主程序起来。
      

  2.   

    DownLoad A.bak
    MoveFileEx(a.bak, a.dll UNTIL_REBOOT);
    Reboot;
      

  3.   

    你把你主程序引用的dll.统统采用显式调用,调用完就freelibray.然后搞个升级后台程序。
    这样更新你的dll,如果被占用,则等待到freelibrary之后更新。