Установка MSI на сервере терминалов - ошибка при получении. Сервер пользовательских действий отклонен. - Неверный контекст. - PullRequest
0 голосов
/ 29 октября 2018

При попытке установить программное обеспечение на терминальном сервере мы получаем следующую ошибку. Любая помощь приветствуется.

журнал установки msi показывает следующую ошибку:

MSI (s) (1C:04) [07:27:28:750]: Executing op: ActionStart(Name=InstallODBC,Description=Installing ODBC components,)
Action 7:27:28: InstallODBC. Installing ODBC components
MSI (s) (1C:04) [07:27:28:750]: Executing op: ODBCInstallDriver(DriverKey=Microsoft FoxPro VFP Driver (*.dbf),Component={612B3EFA-F178-4C50-A049-B99BE6DCACE0},Folder=C:\Windows\SysWOW64\,Attribute_=Driver,Value_=vfpodbc.dll)
1: Microsoft FoxPro VFP Driver (*.dbf) 2: {612B3EFA-F178-4C50-A049-B99BE6DCACE0} 3: C:\Windows\SysWOW64\ 4: Driver 5: vfpodbc.dll 6: Setup 7: vfpodbc.dll 8: ConnectFunctions 9: YYN 10: SQLLevel 11: 0 12: APILevel 13: 0 14: FileUsage 15: 1 16: DriverODBCVer 17: 02.50 18: FileExtns 19: *.dbf,*.cdx,*.idx,*.fpt 
MSI (s) (1C:5C) [07:27:28:750]: Generating random cookie.
MSI (s) (1C:5C) [07:27:28:766]: Created Custom Action Server with PID 1876 (0x754).
MSI (s) (1C:10) [07:27:28:797]: Running as a service.
MSI (s) (1C:10) [07:27:28:797]: Custom Action Server rejected - Wrong Context
MSI (s) (1C:5C) [07:27:28:797]: CA Server Process has terminated.
MSI (s) (1C:04) [07:27:28:797]: Failed to get IMsiCustomAction*
Action ended 7:27:29: InstallFinalize. Return value 3.

В то же время журнал монитора процессов показывает, что процесс установки msiexec пытается использовать RegOpenKey для HKey_Users \ S-1-5-18, который является пользователем локальной системы. и показанный результат - ПЛОХАЯ ЛИЧНОСТЬ.

Я посмотрел KB3072630 - но это не относится к нашей машине. Кроме того, я попытался обходной путь MS, чтобы добавить раздел реестра, и это тоже не помогло.

Моя ошибка похожа на: https://community.flexerasoftware.com/showthread.php?219987-Microsoft-KB3072630-update-impact-on-InstallOCBC-action&s=8250ec9cbe80dab42bf7b49dcf86077c

1 Ответ

0 голосов
/ 31 октября 2018

Да, это классическая проблема - проблема с пользовательскими действиями на терминальном сервере. Вам нужен этот компонент, или вы можете просто разорвать его? Я полагаю, вы уже прошли тестирование. ОБНОВЛЕНИЕ : Я вижу, оно вам нужно и для других компонентов.

Прошли годы с тех пор, как я рассматривал установки терминальных серверов, но в MSI SDK есть несколько кратких разделов:

  • Использование установщика Windows с сервером терминалов . Существует много проблем, связанных с данными о пользователях, персонификацией пользовательских действий и многим другим. Если у вас есть команда, которая позаботится об этом обычно, я бы заставил их это сделать - иначе просто трата времени?
  • Просто хочу добавить, что в прошлый раз, когда я проверял, что самовосстановление обычно отключено на серверах терминалов, поэтому вы не можете использовать самовосстановление для размещения данных на уровне пользователя, если только вы не используете специальные средства сервера терминалов для этого.
  • Добавлен флаг для отметки пользовательских действий, которые сервер терминалов знает . Некоторые пользовательские действия, вероятно, следует просто отключить, поскольку они могут делать сумасшедшие вещи, которые никогда не будут работать. Должен быть определен в каждом случае.

    • Чтобы отключить настраиваемое действие: выполните преобразование и установите условие на 0 или, если оно уже существует, добавьте: AND 0 к нему. Это должно отключить пользовательское действие.

    • Поиск флага msidbCustomActionTypeTSAware в База данных магических чисел :

Отложенные настраиваемые действия выполняются в контексте локальной системы, если только действие не имеет атрибута msidbCustomActionTypeTSAware . Это верно, даже если пользовательское действие олицетворяет пользователя в системе, которая не является терминальным сервером. Обратите внимание, что если пользовательское действие с атрибутом msidbCustomActionTypeTSAware изменяет реестр пользователя, программа установки не гарантирует, что эти изменения также будут внесены в реестр каждого пользователя на компьютере.

Итак, я полагаю, вы можете исправить таблицу пользовательских действий записей для пользовательские действия, о которых идет речь, и посмотрите, что произойдет Я полагаю, вы добавите 4000, как показано здесь: Параметры выполнения в сценарии настраиваемого действия . Предполагается, что добавленные данные для каждого пользователя не будут распространяться на все пользовательские ульи.

...