﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>SQLServerCentral / SQL Server 2005 / SQL Server Express  / Developing RMO application on 64 bit machine, deploying to 32 bit machines / Latest Posts</title><generator>InstantForum.NET v2.9.0</generator><description>SQLServerCentral</description><link>http://www.sqlservercentral.com/Forums/</link><webMaster>notifications@sqlservercentral.com</webMaster><lastBuildDate>Sat, 18 May 2013 20:48:05 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Developing RMO application on 64 bit machine, deploying to 32 bit machines</title><link>http://www.sqlservercentral.com/Forums/Topic989494-324-1.aspx</link><description>I just wanted to update this thread with a solution that worked for me. I had a requirement to develop a replication client that would work with 2008 R2 and 2005 Full and Express editions (basically SQL 9.0 and higher).I encountered the cryptic "Class not registered" exception for the MergeSynchronizationAgent early on and had the same problem some others have had where my dev environment is 64 bit and my deployment environments are mixed 32 and 64. The first fix to that was to choose Any Platform as the build type. That allowed me to get past the error when using 2008 R2 Full and Express editions. However, clients using SQL 2005 still got the same exception.To fix that scenario I had to do the following:Install the following 2008 R2 Redistributables from Microsoft:SharedManagementObjects.msiSqlCmdLnUtils.msisqlncli.msiSQLSysClrTypes.msiNot included, but required to use RMO was:sql_rmo.msiThis will allow you get as far as creating a subscription successfully at the client, however, you will still encounter the "Class not registered" exception when you attempt to do anything with your MergeSynchronizationAgent.To overcome that, I had to copy the entire contents of the COM folder from a healthy SQL 2008 Express installation to the failing 2005 client environment and register the following dlls manually using regsvr32:cd "C:\Program Files\Microsoft SQL Server\100\COM"regsvr32 AXSCPHST.DLLregsvr32 mergetxt.dllregsvr32 msgprox.dllregsvr32 REPLAGNT.dllregsvr32 REPLDP.dllregsvr32 replerrx.dllregsvr32 replisapi.dllregsvr32 replprov.dllregsvr32 replrec.dllregsvr32 replsub.dllregsvr32 sqldistx.dllregsvr32 sqlmergx.dllregsvr32 ssradd.dllregsvr32 ssravg.dllregsvr32 ssrdown.dllregsvr32 ssrmax.dllregsvr32 ssrmin.dllregsvr32 ssrpub.dllregsvr32 ssrup.dllregsvr32 xmlsub.dllAt this point you should be able to subscribe and sync at your leisure using a 2005 host in 32 bit environments.This cost me some time and frustration while researching, but I've learned much from it.Hopefully this helps someone else...</description><pubDate>Fri, 09 Mar 2012 09:59:55 GMT</pubDate><dc:creator>gadatarecovery</dc:creator></item><item><title>RE: Developing RMO application on 64 bit machine, deploying to 32 bit machines</title><link>http://www.sqlservercentral.com/Forums/Topic989494-324-1.aspx</link><description>If you are deploying to 32-bit then build and test on 32-bit.If you build on 64-bit then test on 32-bit before you deploy.If you build and test on 64-bit then expect the unexpected problems when you deploy to 32-bit.  And expect you will not be able to troubleshoot these problems on a 64-bit OS.There are just too many differences in the software stack between a 32-bit and 64-bit OS to expect that a build and test on 64-bit will work as expected when deployed to 32-bit.  The same applies if you build and test on 32-bit and deploy on 64-bit.  At least, that is what we have found where I work.</description><pubDate>Tue, 11 Jan 2011 04:54:11 GMT</pubDate><dc:creator>EdVassie</dc:creator></item><item><title>RE: Developing RMO application on 64 bit machine, deploying to 32 bit machines</title><link>http://www.sqlservercentral.com/Forums/Topic989494-324-1.aspx</link><description>I was running into the same problem. My old system was XP 32-bit, and new system is Windows7 64-bit. Both using SQL Express 05. I managed to fix it by going into Configuration Manager and creating a new x86 platform with the copy settings set to &amp;lt;Empty&amp;gt;. If you already have an x86 option, try deleting and re-creating. We are also working on 64-bit software the throws a ""SynchronizationAgent" can only be used if the object presents an existing object in the server". I think it is also a 64/32-bit issue. None of the current solutions out there I've found seem to work for me.</description><pubDate>Mon, 10 Jan 2011 09:55:16 GMT</pubDate><dc:creator>kryo</dc:creator></item><item><title>RE: Developing RMO application on 64 bit machine, deploying to 32 bit machines</title><link>http://www.sqlservercentral.com/Forums/Topic989494-324-1.aspx</link><description>[quote][b]Charles-126316 (11/16/2010)[/b][hr]No the best answer I got was to use XP mode... I am wrapping up a company-wide deployment that I've been on for a few months now, so hopefully I'll be able to devote more time to this in the next few weeks.Charles[/quote]You don't need XP mode you only need a paid version of VS2005/8/10 so you can build the RMO(replication management object) code AnyCPU instead of x64 which will not run in x86 which is 32bits.  AnyCPU will run in both boxes also look for the x86 programs file folder in Windows 7.</description><pubDate>Fri, 03 Dec 2010 16:30:00 GMT</pubDate><dc:creator>Gift Peddie</dc:creator></item><item><title>RE: Developing RMO application on 64 bit machine, deploying to 32 bit machines</title><link>http://www.sqlservercentral.com/Forums/Topic989494-324-1.aspx</link><description>No the best answer I got was to use XP mode... I am wrapping up a company-wide deployment that I've been on for a few months now, so hopefully I'll be able to devote more time to this in the next few weeks.Charles</description><pubDate>Tue, 16 Nov 2010 17:04:55 GMT</pubDate><dc:creator>Charles-126316</dc:creator></item><item><title>RE: Developing RMO application on 64 bit machine, deploying to 32 bit machines</title><link>http://www.sqlservercentral.com/Forums/Topic989494-324-1.aspx</link><description>Did you ever find a solution to this issue? We're running into the same scenario. Thanks</description><pubDate>Tue, 16 Nov 2010 14:27:36 GMT</pubDate><dc:creator>danagonistes 62905</dc:creator></item><item><title>RE: Developing RMO application on 64 bit machine, deploying to 32 bit machines</title><link>http://www.sqlservercentral.com/Forums/Topic989494-324-1.aspx</link><description>Have you considered doing your development using Windows XP Mode?  Not the solution that you are looking for, but it could help you move forward for now.</description><pubDate>Mon, 20 Sep 2010 17:24:33 GMT</pubDate><dc:creator>  Jack Corbett</dc:creator></item><item><title>Developing RMO application on 64 bit machine, deploying to 32 bit machines</title><link>http://www.sqlservercentral.com/Forums/Topic989494-324-1.aspx</link><description>I maintain our company's sales force automation package, which supports over 100 salespeople nationwide.  This application uses SQL RMO to sync the client data up to our server once the rep triggers a sync process at the end of their business day.  The field units use 32 bit laptops running XP, and use SQL Express 2005 for their database platform.Recently, our development machines here at corporate were replaced with 64 bit machines running Windows 7.  Since then, I have been unable to run this project in Visual Studio.  The issues comes when the program hits the first reference to MergeSynchronationAgent, where I get the following:Message: "Class not registered"StackTrace: "   at Microsoft.SqlServer.Replication.MergeSynchronizationAgent..ctor()\r   at Microsoft.SqlServer.Replication.MergePullSubscription.get_SynchronizationAgent()\r   at ReplicationAgent.MergeAgent.ProcessReplication() in D:\\Projects\\{ProjectName}\\ReplicationAgent\\ReplicationAgent.cs:line 77"I have tried to install the 32 bit version of SQL Express on my (now 64 bit) development machine, but the installer will not allow this.  When I install the 64 bit version I get the above error during debug.  My understanding was that the only difference between the 32 and 64 bit versions of SQL Express were the presence of additional files in the 64 bit version that would allow it to run on a 64 bit OS.  That being the case, I'm not sure what I'm missing here.  I've verified the assemblies exist in the SDK folder, and have installed the following as described in other posts:Microsoft Core XML Services (MSXML) 6.0 Microsoft SQL Server 2005 Management Objects Collection Microsoft SQL Server Native Client This sounds like it should be a fairly common issue, but I've had the toughest time finding a definitive solution.  Any help would be appreciated.  I cannot push changes to the field to accomodate a fix for my development machine, but surely there must be a way to develop and run this application on a 64 bit machine, while still targeting a 32 bit user environment.Thanks!</description><pubDate>Mon, 20 Sep 2010 09:27:28 GMT</pubDate><dc:creator>Charles-126316</dc:creator></item></channel></rss>