【问题标题】:Powershell problem using .NET Replication Management Objects RMO使用 .NET 复制管理对象 RMO 的 Powershell 问题
【发布时间】:2011-11-18 23:02:12
【问题描述】:

我正在尝试自动重新初始化多个复制 从分发服务器匿名提取的订阅。我是 在 Powershell 中从事这个项目,我相信我有一个 .NET 复制管理对象的 64 位与 32 位问题 (RMO)。我正在加载 RMO 和复制程序集。 RMO 程序集加载 MSIL 版本,但复制程序集仅 在 X86 或 X64 中可用。

我遇到的问题是 Microsoft.SqlServer.Replication.TransSynchronizationAgent 类不是 当我在 64 位机器上运行我的脚本时可用。当我在一个 32位机器它工作正常。

当我尝试在 64 位机器上创建该类的新对象时,我 收到该类未注册的错误。我在 注册表和类在 64 位和 GAC 中注册 32 位(Wow6432Node)位置。

以前有人遇到过这个问题吗?关于修复的任何想法?

谢谢你, 瑞奇

【问题讨论】:

  • 运行 x86 PowerShell.exe 时会发生什么?它还抱怨吗?

标签: .net sql-server powershell replication


【解决方案1】:

我最近在使用 Powershell 时遇到了类似的 x64 与 x32 位问题。它与 Windows 文件系统重定向有关(更多信息:http://practicaladmin.wordpress.com/2010/07/16/powershell-x64-and-filesystem-redirection/

如果您尝试从 32 位内存空间(32 位 PID 或以 32 位模式运行的 PID 等)实例化 64 位 Powershell 实例,Windows 会尝试“做正确的事情”并执行 32 位版本的 Powershell(在syswow64 文件夹 - 是的,32 位 powershell 位于 syswow64 文件夹中)。

尝试使用以下路径在 64 位机器上显式运行 64 位版本的 Powershell.exe:

%windir%\sysnative\WindowsPowerShell\v1.0\powershell.exe

【讨论】:

    猜你喜欢
    • 2011-06-30
    • 2013-01-08
    • 1970-01-01
    • 2019-07-04
    • 1970-01-01
    • 2022-01-28
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多