![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| FEV |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 14.8.2009 Репутация: нет Всего: нет |
Здравствуйте. Помогите разобраться со следующей проблемой:
в программе есть метод, который должен удалять exe-файл этой же самой программы
при выполнении данного метода батник создаётся, заполняется необходимым скриптом, но вот ps.Start() этот батник по какой-то причине не запускает. На долю секунды появляется консольное окно и сразу исчезает. Программа завершается по Environment.Exit(0), но и экзешник и батник остаются нетронутыми. Если бат-файл запускать вручную, предварительно запустив exe-файл, то всё работает прекрасно, т.е. в бат-файле выполняется холостой цикл, и после завершения работы exe-файла оба файла удаляются. Путем перенаправления потока вывода удалось определить что в появляющемся на долю секунды консольном окне содержится единственная строчка следующего вида: текущая_директория>del имя_exe_файла |
|||
|
||||
| vlsaf |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 423 Регистрация: 9.5.2007 Репутация: нет Всего: 1 |
Ты должен запустить ps.Start();
Завершить текущую программу, иначе она не отпустит файл дождаться в батнике, когда завершиться процесс основной программы Удалить файл. |
|||
|
||||
| FEV |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 14.8.2009 Репутация: нет Всего: нет |
ты бы хоть на код метода вглянул - там именно это и делаеться....
|
|||
|
||||
| FEV |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 14.8.2009 Репутация: нет Всего: нет |
может быть кому-нибудь пригодится. Привожу тут работоспособный метод, мгновенно самоудаляющий exe-файл:
проблема была в 2х строчках string bat = Application.StartupPath + @"\uninst.bat"; ps.StartInfo.FileName = bat; в Application.StartupPath содержались пробелы и из-за этого ps.Start() работал некорректно. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |