0

我有一个用于 ASP.NET 网站的 WiX MSI 安装程序,该安装程序在my_server. 该软件包是通过一个非常简单的 Powershell 脚本安装的,该脚本install.ps1msiexec使用一些参数进行调用。

问题

当我install.ps1直接运行时my_server,一切都很好。但是当我想从远程机器上运行install.ps1时(例如),安装失败并出现错误代码 1603,并且 MSI 安装日志显示以下错误:my_serverbuild_server

行动开始时间 14:22:30:ConfigureUsers。

ConfigureUsers:错误 0x80070005:添加/删除用户操作失败

CustomAction ConfigureUsers 返回实际错误代码 1603

有什么建议么?

额外的信息

  • install.ps1使用以下命令远程运行:

    Invoke-Command -ComputerName my_server -ScriptBlock { path\to\install.ps1 } -Authentication Negotiate
    
  • my_server我在和上使用相同的用户凭据build_server

  • 在 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>
    
4

1 回答 1

1

这很可能是双跳问题,您的凭据在第一台服务器的范围之外无效。

您可以使用以下选项执行命令:

-Authentication CredSSP

而不是Negotiate.

您还需要使用该-Credentials标志手动指定凭据,并为 CredSSP 设置客户端和服务器:

Enable-WSManCredSSP -Role Client -DelegateComputer HOSTNAME -Force
Enable-WSManCredSSP -Role Server -Force

这些步骤在此处进行了更详细的说明。

于 2013-10-14T13:36:37.527 回答