Как я могу заставить мое .NET-приложение стираться само собой?C#

Место общения программистов C#
Ответить
Anonymous
 Как я могу заставить мое .NET-приложение стираться само собой?

Сообщение Anonymous »

Как заставить мое приложение C# стираться (самоуничтожаться)? Вот два способа, которые, на мой взгляд, могут сработать:
  • Добавьте другую программу, которая удаляет основную программу. Но как же тогда удалить эту программу удаления?
  • Создайте процесс для CMD, который ждет несколько секунд, а затем удаляет ваш файл. В течение этих нескольких секунд вы закрываете свое приложение.
Оба этих метода кажутся неэффективными. У меня такое ощущение, что в Windows есть какой-то встроенный флаг или что-то в этом роде, позволяющее делать такие вещи. Как я должен это делать? Кроме того, можете ли вы предоставить пример кода?

ОБНОВЛЕНИЕ: Спасибо за все ваши ответы! Я собираюсь попробовать их и посмотреть, к чему это меня приведет.

Прежде всего, некоторые люди спрашивают, почему я хочу, чтобы мое приложение делало это. Вот ответ: несколько дней назад я прочитал спецификацию Project Aardvark, которую Джоэл Спольски разместил в своем блоге, и в ней упоминалось, что клиентское приложение самоудаляется после удаленного сеанса. Мне интересно, как это работает и как, если мне когда-нибудь понадобится это сделать, я смогу совершить такой подвиг.

Вот небольшой обзор того, что было предложено:
  • Создать запись реестра, которая сообщает Windows удалить файл при перезагрузке
  • Запустите CMD с помощью команды ping, подождите несколько секунд, а затем удалите файл
И то и другое, конечно, имеет свои недостатки, о чем сказано в комментариях.

Однако будет ли работать метод, описанный ниже?

Существует два исполняемых файла: Program.exe и Cleaner.exe. Первое — это сама программа, второе — приложение, которое удаляет Program.exe и себя (если оно загружено в память, как я собираюсь объяснить). Может ли Program.exe (который имеет зависимости) загрузить весь файл Cleaner.exe, который не имеет никаких зависимостей, в память и запустить его?

Если это возможно, можно ли упаковать Cleaner.exe в Program.exe, загрузить в память и запустить?

Подробнее здесь: https://stackoverflow.com/questions/224 ... ase-itself
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»