Jump to content

Recommended Posts

Posted

Добрый день

Недавно начал работать с 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?

Posted

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

Posted

Первое, что следует знать и понимать, что задача установки с "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" и указанный в этом сообщении сценарий.

Posted (edited)

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

 

image.thumb.png.900671c12950d189d7818d9add5192c2.png

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

 

Edited by sksa
Posted

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

image.thumb.png.267be7b2fe09c96c39dff4221615a82e.png

 

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

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

Да, верно.

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

Posted

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

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

Posted (edited)
8 минут назад, sksa сказал:

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

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

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

 

Edited by durtuno
Posted

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

image.thumb.png.d87a0d4fc6bf0a6329d1d14f75ecac01.png

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

 

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

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

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

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

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

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

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

Posted (edited)

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

 ALLUSERS=1

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

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

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

 ALLUSERS=1

 

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

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

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

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

Спойлер

image.thumb.png.e5dd494f20ad3fd0f4a35a25d44409a5.png

image.thumb.png.08ebce8e7c2813f3f56b6f5971e15102.png

 

Posted

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

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

 

Posted

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

 

Posted

Увидел в логах установки msi пакета, что он устанавливается по пути C:\Windows\system32\config\systemprofile\AppData\Local\Programs\mattermost-desktop\
Имеется ли возможность не создавать cmd сценарий, а как-то указать, куда требуется установить пакет

 

 

Posted (edited)
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
Posted

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

Цитата

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, то я могу его указать как-то при создании инсталляционного пакета в "Параметры запуска исполняемого файла"? И если могу, то как правильно указать каталог, куда я хочу  установить пакет

 

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

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

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

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

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

 

Posted

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

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

Цитата

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

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

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

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

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

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

Posted

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

Цитата

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

 

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

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

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

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

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

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

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

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

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

 

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now


×
×
  • Create New...