目标机器上的 TFS PowerShell 任务能否在 x86 模式下执行?
Can the TFS PowerShell on Target Machines task execute in x86 mode?
我们有一个调用 BizTalk PowerShell 扩展的自定义 PowerShell 脚本,需要由 TFS 代理(从发布管理)调用。
问题是,BizTalk PowerShell 扩展需要 x86 模式,而 TFS PowerShell on Target Machines 任务似乎在 x64 中执行 PowerShell on Target Machines。
是否可以使用以下任何方法解决此问题?
- 通过对 PowerShell on Target Machines 任务使用一些未记录的参数?
- 让 x64 脚本在 x86 模式下调用 'real' 脚本。我不太熟悉 PowerShell,做起来可能很简单,但我需要弄清楚如何将我的参数传递给 x86 脚本。
- 运行 x86 中的 TFS 代理服务(例如通过 CorFlags)?我什至不确定这是否有效,而且感觉也很脏....
SysWow64 技术允许您在 64 位环境中执行 32 位应用程序。
在您的目标机器上,请使用下面的应用程序
执行 PowerShell 脚本
%SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe
这将是 PowerShell.exe 的 32 位版本,可让您执行文件。
在你的批处理文件中,你可以进行这样的配置
我们有一个调用 BizTalk PowerShell 扩展的自定义 PowerShell 脚本,需要由 TFS 代理(从发布管理)调用。
问题是,BizTalk PowerShell 扩展需要 x86 模式,而 TFS PowerShell on Target Machines 任务似乎在 x64 中执行 PowerShell on Target Machines。
是否可以使用以下任何方法解决此问题?
- 通过对 PowerShell on Target Machines 任务使用一些未记录的参数?
- 让 x64 脚本在 x86 模式下调用 'real' 脚本。我不太熟悉 PowerShell,做起来可能很简单,但我需要弄清楚如何将我的参数传递给 x86 脚本。
- 运行 x86 中的 TFS 代理服务(例如通过 CorFlags)?我什至不确定这是否有效,而且感觉也很脏....
SysWow64 技术允许您在 64 位环境中执行 32 位应用程序。 在您的目标机器上,请使用下面的应用程序
执行 PowerShell 脚本%SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe
这将是 PowerShell.exe 的 32 位版本,可让您执行文件。
在你的批处理文件中,你可以进行这样的配置