用C#删除程序占用文件

嘎子 C# 2016-01-29 687 次浏览 , 4条评论

在写卸载程序时经常会遇到要删除文件自身的问题,此时文件被占用,使用常规方法并不容易删除。

删除文件方法如下:

文件打开时,以“共享读写模式”

最后给出别人写好的一个类,可以加到自己的程序中:

原创文章,转载请注明: 转载自TsonTec:测量解决方案提供者

本文链接地址: 用C#删除程序占用文件

相关主题

  • 返回null还是抛出Exception2016-03-22 返回null还是抛出Exception (2)
    我自己在写代码的时候也经常会写return null,但仔细想想这真的好吗? public User GetUser(string […]
  • C#重载操作符==和!=时注意问题2016-03-12 C#重载操作符==和!=时注意问题 (0)
    1、大家一定要明确一点就是如果两个类在没有重载==和!=时用这两个运算符进行比较,那么只有引用相同的地方的时候才返回true,否则(不管里面的内容是否相等)返 […]
  • C#中的具名参数、可选参数及注意问题2016-03-21 C#中的具名参数、可选参数及注意问题 (0)
    具名参数 和 可选参数 是 C# framework 4.0 出来的新特性。 一. 常规方法定义及调用 public void […]
  • 用.NET执行AutoCAD自带命令2016-02-20 用.NET执行AutoCAD自带命令 (2)
    看到网上很多文章说什么以前用其他语言时执行AutoCAD中自带的命令非常方便,而.Net使用时非常不方便。这样说也不算错,因为在AutoCAD […]
  • Kotlin中如何实现类似Java或C#中的静态方法2017-05-28 Kotlin中如何实现类似Java或C#中的静态方法 (0)
    大家可以在网络上搜到不少这样的文章,官方推荐是包级函数,也有人说用伴生对象(companion […]
  • DevExpress表格控件(GridView、GridControl)使用小结2016-06-09 DevExpress表格控件(GridView、GridControl)使用小结 (2)
    前几天抱怨过WinForm的表格控制DataGridView出现各种问题,而且很多地方没有办法自己控制,进行自定义特别麻烦,等等问题,但是表格又往往是我们用的 […]

说点什么

4 评论 在 "用C#删除程序占用文件"

提醒
avatar
排序:   最新 | 最旧 | 得票最多
中土生活红宝书
游客

自己写了一个新的文章http://tson.com/csharp-uninstall-self/,再次说明了这个问题,有兴趣的可以去看看。

中土生活红宝书
游客

好好看了一下,上面的代码不是删除占用文件的代码,而是彻底删除文件的代码。在将文件删除后在原有扇区写入随机数,文件就无法恢复了。

中土生活红宝书
游客

我遇到的问题是这样的,想写一个卸载程序,最终也把自己删除掉。最后找了一个办法是用批处理文件,如果我们遇到的问题一样,你也可以尝试一下。

中土生活红宝书
游客

事实证明上面的方法是不正确的。
FileStream inputStream = new FileStream(filename, FileMode.Open, FileAccess.Write, FileShare.ReadWrite);
这一句如果文件被占用,那么会出错。如果将FileAccess.Write改正FileAccess.Read是能够打开,但是无法对流写入。总之会出错。

wpDiscuz
回顶部