在终端服务器上安装MSI-收到错误消息,拒绝自定义操作服务器-错误的上下文

时间:2018-10-29 15:04:00

标签: windows-installer install terminal-services

尝试在终端服务器上安装软件时,出现以下错误。任何帮助表示赞赏。

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正在对本地系统用户HKey_Users \ S-1-5-18尝试RegOpenKey。结果显示为错误的错误。

我查了KB3072630-但这不适用于我们的机器。另外,我尝试了MS解决方法来添加注册表项,但这也没有帮助。

我的错误类似于: https://community.flexerasoftware.com/showthread.php?219987-Microsoft-KB3072630-update-impact-on-InstallOCBC-action&s=8250ec9cbe80dab42bf7b49dcf86077c

1 个答案:

答案 0 :(得分:0)

是的,这是一个经典问题-终端服务器感知的自定义操作问题。您是否需要该组件,还是可以将其拆下来?我想您已经为测试做了。 更新:我认为您也需要其他组件。

我研究终端服务器的安装已经有好几年了,但是MSI SDK上有一些简短的部分:

  • Using Windows Installer with a Terminal Server。围绕每个用户数据和自定义操作模拟存在许多挑战。如果您的团队通常会处理此事,我会让他们去做-否则就是浪费时间?
  • 只需添加一下,我上次检查终端服务器上通常禁用了自我修复功能,因此除非您使用特殊的终端服务器方法,否则您不能使用自我修复功能为每个用户放置数据。
  • There is a flag added to mark custom actions terminal server aware。一些自定义操作可能应该被禁用-因为它们可能会做出疯狂的事情,但它们永远不会起作用。在每种情况下都必须确定。

    • 要禁用自定义操作:进行转换并将条件设置为0,或者如果已经存在条件,则添加:AND 0。那应该禁用自定义操作。

    • 魔幻数字数据库中查找 msidbCustomActionTypeTSAware 标志:

延迟的自定义操作在本地系统的上下文中运行,除非该操作具有 msidbCustomActionTypeTSAware 属性。即使自定义操作在不是终端服务器的系统上模拟了用户,也是如此。请注意,如果具有msidbCustomActionTypeTSAware属性的自定义操作更改了用户的注册表,则安装程序不会自动确保也对计算机上每个用户的注册表也进行了这些更改。

  

所以我想您可以为Custom Action Table条目修复   有问题的自定义操作,看看会发生什么。我想你加   4000,如下所示:Custom Action In-Script Execution Options。按用户添加的数据可能不会进入所有用户配置单元。