Каков наилучший способ удаления исполняемого файла .NET Compact Framework? - PullRequest
1 голос
/ 07 ноября 2008

Я бы хотел, чтобы мое приложение .NET Compact Framework удаляло себя после завершения работы. Какой лучший способ сделать это?

На компьютере с Windows это можно сделать с помощью файла .bat, но на мобильных устройствах это невозможно

Ответы [ 3 ]

2 голосов
/ 07 ноября 2008

В Windows Mobile есть каталог:

\ данные приложения \ volatile

Этот каталог сохраняется до тех пор, пока на устройство подается питание.

Итак, что мы делаем:

  1. скопировать exe-файл в этот каталог или подкаталог (обычно я использую подкаталог, чтобы убедиться, что мы не конфликтуем с другим приложением).
  2. запустить exe из этого каталога.
  3. удалите нужные файлы.
  4. (опционально) программный сброс.

Для совместимости со всеми устройствами следует использовать функцию «SHGetSpecialFolderPath» с CSIDL_APPDATA, чтобы получить каталог данных приложения и добавить к нему «\ volatile».

0 голосов
/ 07 ноября 2008

Напишите свою собственную программу deleter.exe и запустите ее, чтобы удалить основной exe-файл, но вам придется оставить это на устройстве ... если на вашем устройстве нет оперативной памяти, с которой вы можете запустить deleter.exe, что он исчезнет при перезагрузке.

0 голосов
/ 07 ноября 2008

Одна идея - вы можете использовать wceload:

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

Напишите cab-файл с пользовательским шагом (думаю, вам может понадобиться создать файл setup.dll), который удалит ваше приложение.

Заставьте ваше приложение вызывать wceload, когда оно выйдет, чтобы запустить эту кабину, передав аргумент для загрузки wce, чтобы удалить кабину после того, как она закончила работу.

Не очень гладко, я знаю.

...