Skip to content
View in the app

A better way to browse. Learn more.

Kaspersky Support Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Удаленная установка приложения через bat-файл

Добрый день

Недавно начал работать с KSC и столкнулся с задачей удаленной установки приложения Mattermost на хосты пользователей.
Изначально пробовал просто создать инсталляционный пакет с msi установщиком и последующей задачей на удаленную установку. Задача отрабатывала успешно, но на устройстве ничего не появлялось.
Далее попробовал решить задачу с использованием bat-файла (нашел на сайте mattemost). 
 

Цитата

 

rem "Step 1: Install Mattermost desktop app silently into user's local disk"

start \\SERVER\shared_folder\mattermost-setup-4.6.2-win.exe --silent

if not exist "%APPDATA%\Mattermost" mkdir %APPDATA%\Mattermost


rem "Step 2: Generate initial config.json into user's config directory"
(
  echo {
  echo   "version": 2,
  echo   "teams": [
  echo     {
  echo       "name": "core",
  echo       "url": "https://community.mattermost.com",
  echo       "order": 0
  echo     }
  echo   ],
  echo   "showTrayIcon": true,
  echo   "trayIconTheme": "light",
  echo   "minimizeToTray": true,
  echo   "notifications": {
  echo     "flashWindow": 2,
  echo     "bounceIcon": true,
  echo     "bounceIconType": "informational"
  echo   },
  echo   "showUnreadBadge": true,
  echo   "useSpellChecker": true,
  echo   "enableHardwareAcceleration": true,
  echo   "autostart": true,
  echo   "spellCheckerLocale": "en-US",
  echo   "darkMode": false
  echo }
) > %APPDATA%\Mattermost\config.json

 

Изменил первые строчки на:

Цитата

rem "Step 1: Install Mattermost desktop app silently into user's local disk"
msiexec /i "D:\Install\Mattermost\mattermost-desktop-5.13.2-win-x64.msi" /qn

Создал также инсталляционный пакет и задачу на установку. Задача также успешно отрабатывает (правда за каких-то 5-10 секунд), но опять на устройстве ничего нет.
А после запуска вручную такого же bat-файла на устройстве mattermost устанавливается.

Может нужно какие-то параметры указать при создании инсталляционного пакета? Или есть какие-нибудь альтернативные варианты для установки через ksc?

Solved by durtuno

Featured Replies

Главное что надо иметь в виду, что bat-файлы выполняются от пользователя SYSTEM

  • Solution

Первое, что следует знать и понимать, что задача установки с "KSC", в операционных системах "Microsoft Windows" выполняется от имени system, отсюда и ограничения.

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

Можно предположить, что инсталлер "mattermost-desktop-5.13.2-win-x64.msi" по умолчанию, без повышения прав, устанавливает приложение в профиль пользователя. Тогда, в таком случае, можно попробовать передать инсталлеру параметр наподобие следующего:

ALLUSERS=1

, др. словами подготовить *.cmd сценарий для установки следующего содержания:

@echo off
%WINDIR%\system32\msiexec.exe /i "%~dp0mattermost-desktop-5.13.2-win-x64.msi" ALLUSERS=1 /qn

, где при создании инсталляционного пакета отметить галку "Копировать всю папку в инсталляционный пакет", где в отдельной директории разместить указанный выше инсталлер "mattermost-desktop-5.13.2-win-x64.msi" и указанный в этом сообщении сценарий.

  • Author

То есть попробовать создать папку, в которой разместить инсталлер mattermost и .cmd сценарий и указанным содержанием, а далее создать инсталляционный пакет с указанием копирования всей папки, так?
И переменна %~dp0 указывает на то, что инсталлер лежит в той же папке, где находится сценарий?

 

image.thumb.png.900671c12950d189d7818d9add5192c2.png

И надо ли здесь указывать параметр запуска какой-нибудь или убирать галку с конвертированием параметров? 

 

Edited by sksa

Конвертация не нужна. Ставить галку "Копировать всю папку в инсталляционный пакет". Параметры указывать не надо, т.к. у Вас всё необходимое уже содержится в *.cmd сценарии, который и будет указан для установки:

image.thumb.png.267be7b2fe09c96c39dff4221615a82e.png

 

1 минуту назад, sksa сказал:

И переменная %~dp0 указывает на то, что инсталлер лежит в той же папке, где находится сценарий?

Да, верно.

Вы можете предварительно протестировать установку из подготовленного сценария локально, на стенде, и убедиться, что получаете желаемое.

  • Author

Создал папку с инсталлером и сценарием

image.thumb.png.b894eed6f1dabed9b5efdd7e89dae324.png

При выборе дистрибутива указал инсталлер из созданной папки и поставил галочку для копирования всей папки

image.thumb.png.e8c61b9b7c6d3b999098a2159e5145ba.png

Выбрал задачу на удаленную установку

image.png.b9ed3f9511e42c2cdce40554a29e4729.png

 

Выбрал инсталляционный пакет

image.thumb.png.3d0a000a63b3a01b84e5ba263e520f02.png

 

Выбрал соответствующие галочки
image.thumb.png.79184e5084a21b8356fb2d71c5828423.png

Далее выбрал не перезагружать устройство после установки и указал устройство, на котором будет назначена задача

Поставил галочку для запуска задачи
image.thumb.png.cc0decb3a05c5363d611c5a2d9c85225.png

Настройку расписания запуска задачи выбрал вручную

После создания запустил задачу на выбранном устройстве

Задача отработала вот так и на устройстве приложение не появилось
image.thumb.png.84cb6f76a59b4aeb464744e6f21c8887.png

 

Может я в процессе создания допускал какие-то ошибки?

image.png

23 часа назад, sksa сказал:

Может я в процессе создания допускал какие-то ошибки?

Да, допускаете.

Несколько раз повторил и показал на скрине - при создании пакета следует указывать/ выбирать *.cmd сценарий, ведь именно он будет выполнятся/ запускаться задачей сервера администрирования и будет, в свою очередь, запускать на исполнение *.msi инсталлер.

 

Edited by durtuno

  • Author

Да, не заметил, что сценарий указывается.
Попробовал сделать сейчас все то же самое, только указав cmd сценарий. 

image.thumb.png.d87a0d4fc6bf0a6329d1d14f75ecac01.png

Задача отработала успешно, но на устройстве приложение не появилось

 

23 часа назад, sksa сказал:

Попробовал сделать сейчас все то же самое, только указав cmd сценарий. 

Попробуйте установить на др., втором стенде. У Вас всё должно получиться;

В 13.11.2025 в 14:35, durtuno сказал:

Вы можете предварительно протестировать установку из подготовленного сценария локально, на стенде, и убедиться, что получаете желаемое.

Это выполняли? Убеждались?

Приложение должно будет установиться в %ProgramFiles%

Edited by durtuno

  • Author

Да, локально получается, но только без указания 

 ALLUSERS=1

Без указания ALLUSERS=1 устанавливается по пути
"C:\Users\*user*\AppData\Local\Programs\mattermost-desktop"

Edited by sksa

1 минуту назад, sksa сказал:

Да, локально получается, но только без указания 

 ALLUSERS=1

 

Для локального запуска с указанным ключом, Вы должны выполнять сценарий с повышенными правами, от имени администратора;

9 минут назад, durtuno сказал:

Попробуйте установить на др., втором стенде. У Вас всё должно получиться;

Только что установил с помощью задачи на стенде, как и предлагал Вам выше:

Спойлер

image.thumb.png.e5dd494f20ad3fd0f4a35a25d44409a5.png

image.thumb.png.08ebce8e7c2813f3f56b6f5971e15102.png

 

  • Author

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

Спасибо за помощь!

А есть возможность при создании инсталляционного пакета указать в параметре, куда требуется чтобы установился пакет?

Увидел в логах установки msi пакета, что он устанавливается по пути

C:\Windows\system32\config\systemprofile\AppData\Local\Programs\mattermost-desktop\

Имеется ли возможность не создавать cmd сценарий, а как-то указать, куда требуется установить пакет

19 минут назад, sksa сказал:

А есть возможность при создании инсталляционного пакета указать в параметре, куда требуется чтобы установился пакет?

Вы имеете ввиду каталог установки?

Это зависит от самого файла инсталлятора, с поддержкой каких ключей/ параметров его создали.

Подсмотреть нужный параметр можно следующим образом - установить имеющийся *.msi с созданием лога, и вот там уже увидеть нужное, может, что-то по типу:

INSTALLDIR

 

4 минуты назад, sksa сказал:

Увидел в логах установки msi пакета, что он устанавливается по пути C:\Windows\system32\config\systemprofile\AppData\Local\Programs\mattermost-desktop\

Это Вы могли увидеть в логе, когда осуществляли собственные попытки установки. С вышеуказанным *.cmd сценарием, такого пути в логе не будет;

4 минуты назад, sksa сказал:

Имеется ли возможность не создавать cmd сценарий, а как-то указать, куда требуется установить пакет

Имеется.

Вас не устраивает установка с помощью *.cmd сценария? Вам хочется указать конкретный каталог для установки, вас не устраивает %ProgramFiles% или что?

Edited by durtuno

  • Author

Да, вижу следующие строки похожие строки
 

Цитата

PROPERTY CHANGE: Adding APPLICATIONFOLDER property. Its value is 'C:\Windows\system32\config\systemprofile\AppData\Local\Programs\mattermost-desktop\'.

Цитата

Property(S): APPLICATIONFOLDER = C:\Windows\system32\config\systemprofile\AppData\Local\Programs\mattermost-desktop\

Если требуемый параметр APPLICATIONFOLDER, то я могу его указать как-то при создании инсталляционного пакета в "Параметры запуска исполняемого файла"? И если могу, то как правильно указать каталог, куда я хочу  установить пакет

 

5 минут назад, sksa сказал:

И если могу, то как правильно указать каталог, куда я хочу  установить пакет

Вы не ответили на:

13 минут назад, durtuno сказал:

Вас не устраивает установка с помощью *.cmd сценария? Вам хочется указать конкретный каталог для установки, Вас не устраивает %ProgramFiles% или что?

 

  • Author

Ну сильной необходимости в этом нет, потому что его установили групповой политикой. Просто пытались сделать еще и через ksc, чтобы в дальнейшем использовать его, а столкнулись с такой проблемой. 

Получается так, что если сначала запускать задачу на удаленную установку только msi пакета (без cmd сценария), то mattermost устанавливается по пути

Цитата

 C:\Windows\system32\config\systemprofile\AppData\Local\Programs\mattermost-desktop\

И если попытаться запустить после этого задачу на удаленную установку уже с cmd сценарием, то mattermost не установится в ProgramFiles, а по указанному выше пути.

58 минут назад, sksa сказал:

И если попытаться запустить после этого задачу на удаленную установку уже с cmd сценарием, то mattermost не установится в ProgramFiles, а по указанному выше пути.

Всё верно, не установится, т.к. программный продукт уже является установленным в системный профиль.

Для того, что бы его установить повторно/ "правильно", нужно сначала произвести его удаление.

  • Author

Ну да, я его удалял с устройства и запускал задачу с использованием сценария, но он устанавливался уже в папку

Цитата

C:\Windows\system32\config\systemprofile\AppData\Local\Programs\mattermost-desktop

 

49 минут назад, sksa сказал:

Ну да, я его удалял с устройства и запускал задачу с использованием сценария, но он устанавливался уже в папку

Странный случай, попробую воспроизвести.

2 часа назад, durtuno сказал:

Странный случай, попробую воспроизвести.

Неа, не воспроизводится. Если сделать как написано выше, то все работает как того положено:

3 часа назад, durtuno сказал:

Всё верно, не установится, т.к. программный продукт уже является установленным в системный профиль.

Для того, что бы его установить повторно/ "правильно", нужно сначала произвести его удаление.

 

  • Author

Доброе утро
То есть у Вас получилось установить программу, выбирая при создании инсталляционного пакета только msi-пакет? Вот странно, что у меня в таком случае все устанавливается в папку C:\Windows\system32\
Но предложенный способ с использованием msi-пакета и cmd-сценария вроде отрабатывает успешно

4 минуты назад, sksa сказал:

То есть у Вас получилось установить программу, выбирая при создании инсталляционного пакета только msi-пакет?

Нет. У Меня получилось удалить "криво" установленное приложение в профиль УЗ system, а уже после установить с помощью *.cmd

Вообще не вижу смысла в этом:

5 минут назад, sksa сказал:

выбирая при создании инсталляционного пакета только msi-пакет

, и с первых дней всегда использую *.cmd сценарии для установки.

7 минут назад, sksa сказал:

Но предложенный способ с использованием msi-пакета и cmd-сценария вроде отрабатывает успешно

Почему вроде? У Вас имеются какие-то сомнения? На чтом основанные?

  • Author

Сомнения просто, что после единоразовой попытки установки только msi пакета, приложение всегда устанавливалось по пути C:\Windows\system32\
А например при уже вручную установленном приложении по пути C:\Program Files, дальнейшем его удалении и загрузке с использованием msi-пакета и cmd-сценария, приложение устанавливается также в C:\Program Files. Может я как-то криво удаляю и поэтому он все равно неправильно устанавливается

Возьму чистый ноут без приложения и попробую на нем сделать

24 минуты назад, sksa сказал:

Сомнения просто, что после единоразовой попытки установки только msi пакета, приложение всегда устанавливалось по пути C:\Windows\system32\

Не сомневайтесь, Вам выше уже предоставили ответ, где, %userprofile% для system разворачивается в путь:

>set | find /i "userprofile"

USERPROFILE=C:\WINDOWS\system32\config\systemprofile

 

28 минут назад, sksa сказал:

Может я как-то криво удаляю и поэтому он все равно неправильно устанавливается

Как именно Вы удаляете?

Пока не могу понять Ваши поползновения, чего Вы желаете/ хотите добиться, т.к. Выше, Вам уже предоставили рабочее и проверенное решение установки указанного Вами ПО с помощью *.cmd сценария.

  • Author

Через Пуск-параметры-приложения и через Панель управления-программы я не нашел mattermost, поэтому решил диске C выполнить поиск всех файлов, связанных с mattermost и удалить, потом корзину очистил

41 минуту назад, sksa сказал:

Через Пуск-параметры-приложения и через Панель управления-программы я не нашел mattermost

Угу, и не найдёте, по выше указанной причине:

23 часа назад, durtuno сказал:

Первое, что следует знать и понимать, что задача установки с "KSC", в операционных системах "Microsoft Windows" выполняется от имени system, отсюда и ограничения.

 

41 минуту назад, sksa сказал:

поэтому решил диске C выполнить поиск всех файлов, связанных с mattermost и удалить, потом корзину очистил

Плохое решение.

 

Подсказка: 

удаляйте тем же способом, которым и устанавливали - задачей с "KSC", например, следующим сценарием:

@echo off
%WINDIR%\system32\msiexec.exe /X{A3908E86-6CD5-4B69-9E65-10E0F4625686} /qn

 

Edited by durtuno

Please sign in to comment

You will be able to leave a comment after signing in

Sign In Now

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.