2011-09-16 10 views
2

配信サーバーから匿名で取得するサブスクリプションのいくつかのレプリケーションの再初期化を自動化しようとしています。私は で、このプロジェクトはPowershellで作業しています。私は 64ビットと32ビットの問題を.NETレプリケーション管理オブジェクト (RMO)に持っていると思います。私はRMOとレプリケーションアセンブリをロードしています。 RMO アセンブリはMSILバージョンを読み込みますが、レプリケーションアセンブリはX86またはX64のいずれかで利用できるのは です。.NETレプリケーション管理オブジェクトを使用したPowershellの問題RMO

問題は、私が64ビットマシンでスクリプトを実行したときに Microsoft.SqlServer.Replication.TransSynchronizationAgentクラスが でないことです。私が 32bitマシンで動かすとうまく動作します。

64ビットマシンでそのクラスの新しいオブジェクトを作成しようとすると、 クラスが登録されていないというエラーが表示されます。私は レジストリを見て、クラスは64ビットと 32ビット(Wow6432Node)の両方の場所でGACに登録されています。

この問題を経験したことがある人はいますか?修正に関するアイデアはありますか?

は リッキー

+1

あなたは、x86たpowershell.exeを実行するとどうなりますか?それでも文句はありますか? –

答えて

0

私は最近、PowerShellを使用しX32ビット問題VS同様のx64のに走った、ありがとうございます。 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ビットのボックスに明示たpowershell.exeの64ビットバージョンを実行してみましょう:

%windir%\sysnative\WindowsPowerShell\v1.0\powershell.exe 
関連する問題