我希望我的 .NET Compact Framework 应用程序在完成执行后自行删除。最好的方法是什么?
在 Windows 机器上,可以使用 .bat 文件来执行此操作,但在移动设备上这不是一个选项。
我希望我的 .NET Compact Framework 应用程序在完成执行后自行删除。最好的方法是什么?
在 Windows 机器上,可以使用 .bat 文件来执行此操作,但在移动设备上这不是一个选项。
在 Windows Mobile 中有目录:
\应用程序数据\易失性
只要设备有电,该目录就会一直保存。
所以我们要做的是:
为了与所有设备兼容,您应该使用带有 CSIDL_APPDATA 的“SHGetSpecialFolderPath”函数来获取应用程序数据目录并将“\volatile”附加到它。
一个想法是你可以使用 wceload:
http://msdn.microsoft.com/en-us/library/bb158700.aspx
编写一个包含自定义步骤的 cab 文件(我认为您可能需要创建一个 setup.dll),该步骤将删除您的应用程序。
让您的应用程序在退出以运行此 cab 时调用 wceload,传递 wce load 的参数以在完成运行后删除 cab。
我知道不是很光滑。
编写您自己的 deleter.exe 程序并运行它以删除您的主 exe,但您必须将其留在设备上……除非您的设备有一个您可以从中运行 deleter.exe 的 ram 驱动器,否则它会重启后消失。