![]() |
Удаленное обновление программы
Дано 200 пользователей, и много софта и домен. Проблема с удаленным обновлением одной из программ. Она устанавливается в папку Program Files, и при установке вызывает окно UAC с требованием нажать ДА. Объяснить пользователям как это сделать не представляется возможным.
В следствии чего был перерыт весь осзон, много полезной информации нашел, но не получается. Собственно вот скрипт: Скрытый текст
@echo off
IF EXIST "C:\Program Files\Вилс" ( echo Программа удаляется. Start "" /wait "C:\Program Files\Вилс\unins000.exe" /silent rd /s /q "C:\Program Files\Вилс" setup.exe /silent xcopy /Y "Вилс.lnk" %UserProfile%\Desktop\ ) ELSE ( setup.exe /silent xcopy /Y "Вилс.lnk" %UserProfile%\Desktop\ ) Какие проблемы меня поджидали? 1) "Start "" /wait "C:\Program Files\Вилс\unins000.exe" /silent" Отрабатывается на ура, но бывает Unins000.exe называется Unins001.exe и тогда Батник выкидывает окошко с ошибкой Файл не найден. И не продолжает работу. Как проигнорировать ошибки или пускай хотя бы в командной строке отобразится? Хотя нет, не пойдет - нужен скрипт который позволит найти unins каким бы число на конце не было. 2)rd /s /q "C:\Program Files\Вилс" отказано в доступе пробовал делать Runas под учеткой локальной, которая входит в группу администраторов - результата нет. Пробовал делать под учеткой Доменного администратора - тоже не помогает. Папку после унинсталла надо удалить обязательно, иначе поверх установленная программа не заработает. 3)setup.exe /silent проходит без эксцессов. Но зарпашивает окошко UAC... А пользователям никак не объяснишь что надо нажимать на да... вроде вот... |
Если антивирь каспер. Попробуй силами агента каспера.
|
Koto-kun, 1 - еще 1 if exist, 2 и 3 - схожая проблема и решение логичное
|
Цитата:
|
Казбек, там не везде корректная информация. В частности, неправильное описание:
Цитата:
Цитата:
|
Iska,
Вы имеете ввиду упущение, относительно 0?? Цитата:
|
Ну да:
Скрытый текст
Код:
C:\Мои проекты\0056>dir *mat?.html Мелкие тонкости, но сколько же они могут кровушки попить. |
"Если антивирь каспер. Попробуй силами агента каспера."
Да, каспер. Им пытался и пытаюсь. Он не отрабатывает батники в принципе. Пытался лог файл выудить на каком моменте застревает - походу только и запускает сам сетап с ключами тихой установки. Собственно модифицировал немного батник. При включении его вручную все отрабатывается и ярлычек создается как надо. Скрытый текст
@echo off
taskkill /t /f /im:operator.exe IF EXIST "C:\Program Files\Вилс\unins000.exe" ( echo Удаляется старая версия. Start "" /wait "C:\Program Files\Вилс\unins000.exe" /silent rd /s /q "C:\Program Files\Вилс" setup.exe /silent /TASKS="desktopicon" /SUPPRESSMSGBOXES /NORESTART /SP- xcopy "Рабочее место оператора.lnk" C:\users\public\desktop ) ELSE ( setup.exe /silent /TASKS="desktopicon" /SUPPRESSMSGBOXES /NORESTART /SP- xcopy "Рабочее место оператора.lnk" C:\users\public\desktop ) ключ /TASKS="desktopicon" выводит ярлык на рабочий стол, но в каспере он не срабатывает. либо срабатывает под пользователем, под которым каспер ставит программу... Поэтому я юзал xcopy дополнительно. UAC отключил через реестр: Скрытый текст
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 00000000 /f
rd /s /q "C:\Program Files\Вилс" Команда не отрабатывается ни в какую... Орет отказано в доступе... Пытался Takeown использовать: Скрытый текст
C:\>takeown /f "C:\Program Files (x86)\Вилс"
Ошибка. Текущий вошедший пользователь не имеет привилегий владельца на файл (или папку) "C:\Program Files (x86)\Вилс ". или icacls Скрытый текст
C:\>icacls "C:\Program Files\Вилс" /grant:r все:F
C:\Program Files\Вилс: Отказано в доступе. Успешно обработано 0 файлов; не удалось обработать 1 файлов Вручную в гуях добавил пользователя "ВСЕ" на папку Вилс с программой, дал пользователю "Все" полный доступ над папкой, с командной строки все нормально начало удаляться. Вопрос только в том, как это сделать из командной строки. Ее же надо запускать от администратора локального. runas не поможет ибо надо тогда включать учетку у всех... В общем я в раздумьях, слишком это глобально получается... Другие программы нормально обновляются, потому что их удалять не требуется перед установкой новой версии... попробую через PSEXEC... |
Задача каспера запускается с каким пользователем?
И что за прога если не секрет? |
Цитата:
Код:
chcp1251 Поставьте после этой строки строку с командой pause и посмотрите, какое сообщение об ошибке после этой команды. |
В каспере создаешь инстолятор setup.exe в параметрах запуска устанавливаешь /silent. При создание задачи укажи обязательно логин и пароль админа домена.
|
Время: 22:41. |
Время: 22:41.
© OSzone.net 2001-