1

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

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

4

3 回答 3

2

在 Windows Mobile 中有目录:

\应用程序数据\易失性

只要设备有电,该目录就会一直保存。

所以我们要做的是:

  1. 将 exe 复制到此目录或子目录(我通常使用子目录以确保我们不会与其他应用程序冲突)。
  2. 从此目录运行exe。
  3. 删除你想要的文件。
  4. (可选)软复位。

为了与所有设备兼容,您应该使用带有 CSIDL_APPDATA 的“SHGetSpecialFolderPath”函数来获取应用程序数据目录并将“\volatile”附加到它。

于 2008-11-07T01:13:18.717 回答
0

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

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

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

让您的应用程序在退出以运行此 cab 时调用 wceload,传递 wce load 的参数以在完成运行后删除 cab。

我知道不是很光滑。

于 2008-11-06T23:43:52.767 回答
0

编写您自己的 deleter.exe 程序并运行它以删除您的主 exe,但您必须将其留在设备上……除非您的设备有一个您可以从中运行 deleter.exe 的 ram 驱动器,否则它会重启后消失。

于 2008-11-06T23:44:54.573 回答