Nano Hash - криптовалюты, майнинг, программирование

Как удалить файл .exe с помощью С#

Я планирую удалить файлы .exe из панели управления с помощью С#.

Я могу удалить файлы .msi, но столкнулся с проблемой при попытке удалить файлы .exe.

Может ли кто-нибудь предложить, есть ли другой способ удалить файлы .exe.

заранее спасибо

12.10.2015

  • Что вы имеете в виду под «удалением файлов .exe»? Приведите несколько примеров, какие программы вы МОЖЕТЕ удалить, а какие нет. 12.10.2015

Ответы:


1

Прежде всего, вы, вероятно, не имеете в виду «удалить» файл .exe, просто удалив его с жесткого диска с помощью вызова System.IO.File.Delete(). Вы можете вызвать соответствующую программу удаления для каждой программы, установленной на компьютере, и в этом случае вы найдете соответствующие каталоги и пути в реестре, как указано в этом ответе.

12.10.2015

2

Вы можете использовать msiexec.exe для управления файлами .msi и .exe.

Во-первых, мы собираемся использовать System.Diagnostics, поэтому вам придется добавить это.

using System.Diagnostics;

Код для установки программного обеспечения без пользовательского интерфейса:

private void installSoftware() 
{ 
    Process p = new Process(); 
    p.StartInfo.FileName = "msiexec.exe"; 
    p.StartInfo.Arguments = "/i \"C:\\Application.msi\"/qn"; 
    p.Start(); 
}

Код для удаления программного обеспечения без пользовательского интерфейса:

private void uninstallSoftware() 
{ 
    Process p = new Process(); 
    p.StartInfo.FileName = "msiexec.exe"; 
    p.StartInfo.Arguments = "/x \"C:\\Application.msi\"/qn"; 
    p.Start(); 
}

Код для восстановления программного обеспечения без пользовательского интерфейса:

private void repairSoftware() 
{ 
    Process p = new Process(); 
    p.StartInfo.FileName = "msiexec.exe"; 
    p.StartInfo.Arguments = "/f \"C:\\Application.msi\"/qn"; 
    p.Start(); 
}

Ресурс: http://www.codeproject.com/Articles/20059/C-Installing-and-uninstalling-software

Чтобы использовать его с файлом .exe, просто измените путь к файлу .msi на код продукта вашего приложения.

private void uninstallSoftware() 
{ 
    Process p = new Process(); 
    p.StartInfo.FileName = "msiexec.exe"; 
    p.StartInfo.Arguments = "/x "ProductCode" /qn"; 
    p.Start(); 
}

Чтобы узнать больше о том, как получить код продукта приложения, вы можете увидеть этот ответ: Как найти код обновления и productCode установленного приложения в Win 7

12.10.2015
  • Пожалуйста, добавьте основные моменты статьи к вашему ответу. Таким образом, информация будет на SO, даже если исходная статья будет перемещена/удалена. Спасибо. 12.10.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..