Dim CurrPath As String = System.IO.Directory.GetCurrentDirectory()
Dim Dll As String = CurrPath & "\project\dll"
If System.IO.Directory.Exists(Dll) Then
For Each filenames As String In System.IO.Directory.GetFiles(Dll)
System.IO.File.Copy(filenames, filenames.Replace("\project\dll", ""), True)
System.IO.File.Delete(filenames)
Next
System.IO.Directory.Delete(Dll)
End If
这段处理更新DLL会出现一个问题,一是当应用程序未关闭的情况下,复制文件会失败,导致更新失败,还有种情况就是文件未复制完整也会导致失败,这块应如何处理?
其实主要原因在于,我在全局中调用了DLL变量,所以在每次更新这个DLL和启动发现了冲突,全局变量中的调用好像是在beforeopenproject之前就开始执行了。没法再做前一步的处理了,这样的情况下,狐表目前是真的没办法处理了吗?所谓的使用bat做更新,都是浮云了,只能从第三方更新先做检测了,只是感觉这样也不是什么最好的方法,我还是比较喜欢只用一个程序去做处理。
[此贴子已经被作者于2014-5-22 11:00:44编辑过]