Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Ж.Д.А.Л.К.Е.Р.

Ветеран


Contributor


Сообщения: 1861
Благодарности: 868

Профиль | Отправить PM | Цитировать


Victor_Man,
Цитата Victor_Man:
- Предотвращение запуска второй копии проекта для исключения нарушения работы первой копии. »
Не работает на Windows Server 2003, Windows Xp Home. В 2003 поиск в tasklist не работает - tasklist /FO CSV /FI "IMAGENAME eq svchost.exe" /NH выдает "Ошибка: Фильтр поиска не опознан." А на Home не работает потому что в ней нет tasklist.exe, taskkill.exe файлов.


Упростил и добавил поддержку 2003:
Код: Выделить весь код
PreExtract="%%P:hidcon:cmd /c \"\"%%T\\KillDuplicate.cmd\" \"%%T\" \"%%M\"\""
KillDuplicate.cmd:
Код: Выделить весь код
Cd /d %1
Rd "%SfxVarApiPath%"
For /f "Tokens=1,2 Delims=," %%I In ('TaskList /fo CSV /nh') Do (
  If %%I==%2 (
    Set /a N+=1
    Set PID=%%~J
  )
)
If %N% EQU 1 Rd /s /q %1
If %N% GTR 1 TaskKill /pid %PID% /t /f
Проверял на Хр/2003/7/2008 R2/8/8.1/10.

Последний раз редактировалось Ж.Д.А.Л.К.Е.Р., 01-02-2017 в 15:55.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:09, 28-11-2016 | #1790