.NET Compact Framework可执行文件删除自身的最佳方法是什么?

时间:2008-11-06 22:47:47

标签: .net windows-mobile compact-framework

我希望我的.NET Compact Framework应用程序在完成执行后自行删除。最好的方法是什么?

在Windows计算机上,可以使用.bat文件执行此操作,但这不是移动设备上的选项。

3 个答案:

答案 0 :(得分:2)

在Windows Mobile中有以下目录:

\ application data \ volatile

只要设备有电,就会保留此目录。

所以我们做的是:

  1. 将exe复制到此目录或子目录(我通常使用子目录以确保我们不与其他应用程序冲突)。
  2. 从此目录运行exe。
  3. 删除所需的文件。
  4. (可选)软复位。
  5. 为了与所有设备兼容,您应该使用带有CSIDL_APPDATA的“SHGetSpecialFolderPath”函数来获取应用程序数据目录并向其附加“\ volatile”。

答案 1 :(得分:0)

一个想法是你可以使用wceload:

http://msdn.microsoft.com/en-us/library/bb158700.aspx

编写一个具有自定义步骤的cab文件(我认为您可能需要创建一个setup.dll),该文件将删除您的应用程序。

让你的应用程序在退出运行这个cab时调用wceload,传递wce load的参数,以便在它运行完毕后删除它。

我知道不是很光滑。

答案 2 :(得分:0)

编写你自己的deleter.exe程序并运行它来删除你的主exe,但是你必须把它留在设备上...除非你的设备有一个ram驱动你可以运行deleter.exe,所以它会在重新启动时消失。