2011-09-16 37 views
2

我正試圖自動重新初始化幾個複製 訂閱,這些訂閱從分發服務器匿名提取。我是 在Powershell的這個項目上工作,我相信我有一個 64位和32位的問題與.NET複製管理對象 (RMO)。我正在加載RMO和複製程序集。 RMO 程序集會加載MSIL版本,但複製程序集只有 可用於X86或X64。使用.NET複製管理對象的Powershell問題RMO

我遇到的問題是,當我在64位計算機上運行我的腳本時,Microsoft.SqlServer.Replication.TransSynchronizationAgent類不是 。當我在一臺 32位機器上運行它時,它工作正常。

當我嘗試在64位計算機上創建該類的新對象時,I 會收到錯誤,指出該類未註冊。我查看了 註冊表,該類在64位和 32位(Wow6432Node)位置上與GAC註冊。

有沒有人曾經遇到過這個問題?任何想法修復?

謝謝 瑞基

+1

當您運行在x86 PowerShell.exe會發生什麼?它仍然抱怨嗎? –

回答

0

我遇到了一個類似的64位X32 VS位問題,使用PowerShell最近。它與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文件夾中)。

嘗試使用以下路徑運行Powershell.exe的64位版本明確的64箱:

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