Powershell WiX:从远程计算机安装时,安装程序在ConfigureUsers操作中失败
我有一个WixMSI安装程序,用于运行在Powershell WiX:从远程计算机安装时,安装程序在ConfigureUsers操作中失败,powershell,wix,wix3.7,Powershell,Wix,Wix3.7,我有一个WixMSI安装程序,用于运行在my\u服务器上的ASP.NET网站。该软件包是通过一个非常简单的Powershell脚本install.ps1安装的,该脚本只调用带有一些参数的msiexec 问题 当我直接在我的服务器上运行install.ps1时,一切正常。但是,当我想从远程计算机(例如,build\u server)上运行install.ps1时,安装失败,错误代码为1603,MSI安装日志显示以下错误: 操作开始14:22:30:配置用户 ConfigureUsers:错误0x8
my\u服务器上的ASP.NET网站
。该软件包是通过一个非常简单的Powershell脚本install.ps1
安装的,该脚本只调用带有一些参数的msiexec
问题
当我直接在我的服务器上运行install.ps1
时,一切正常。但是,当我想从远程计算机(例如,build\u server
)上运行install.ps1
时,安装失败,错误代码为1603,MSI安装日志显示以下错误:
操作开始14:22:30:配置用户
ConfigureUsers:错误0x80070005:添加/删除用户操作失败
CustomAction ConfigureUsers返回了实际错误代码1603
有什么建议吗
额外信息
- 我使用以下命令远程运行
:install.ps1
Invoke-Command -ComputerName my_server -ScriptBlock { path\to\install.ps1 } -Authentication Negotiate
- 我在
和my\u服务器
上使用相同的用户凭据build\u服务器
- 在WiX定义中,网站设置了应用程序池的特定用户帐户,如下所示:
<Component Id="AppPoolCmp" Guid="a-fine-looking-guid" KeyPath="yes"> <util:User Id="AppPoolUser" CreateUser="no" RemoveOnUninstall="no" Name="[APP_POOL_IDENTITY_NAME]" Password="[APP_POOL_IDENTITY_PWD]" Domain="[APP_POOL_IDENTITY_DOMAIN]"> </util:User> <iis:WebAppPool Id="AppPool" Name="[APP_POOL_NAME]" ManagedPipelineMode="Classic" ManagedRuntimeVersion="v4.0" Identity="other" User="AppPoolUser"> <iis:RecycleTime Value="5:00" /> </iis:WebAppPool> </Component>
-Authentication CredSSP
而不是谈判
您还需要使用-credentials
标志手动指定凭据,并为CredSSP设置客户端和服务器:
Enable-WSManCredSSP -Role Client -DelegateComputer HOSTNAME -Force
Enable-WSManCredSSP -Role Server -Force
这些步骤将进行更详细的解释。Ok,因此在为CredSSP设置服务器和客户端之后,安装脚本现在似乎运行时没有出现错误。然而,我确实收到一个弹出窗口,询问我的密码,我没有使用它。由于脚本应该使用服务帐户在构建服务器上自行运行,因此是否可以使用CredSSP而不必内联写入密码?这似乎是我唯一的选择。我会很感激任何其他提示,但我会继续并将您的答案标记为已接受。我还没有找到一种不以某种形式存储密码的方法来实现这一点。