Chinese - Simplified   Dutch   English - United States   French   German   Greek   Portuguese - Iberian   Spanish  


The TSI Synchronizer - Trigeminal Software, Inc. (English)

The TSI Synchronizer Object -- build 5024

Excerpted from the help file introduction:
[This ought to help explain what the TSI Synchronizer is and what it does]

Before I begin to flame anything, I would like to applaud a few folks. All of the following deserve praise and admiration:

  • The folks at Microsoft, for making replication a reality in the first place, and for assiduously evangelizing the benefits of replication
  • The articles written to make replication easier (for example, the ones in Pinnacle’s Smart Access, Advisor’s Access/Office/VB Advisor, and others referred to here.)
  • The Replication FAQ (See Article ID: Q182886 in the Microsoft Knowledge Base for more info on how to get this important document from several Microsoft Access MVPs (Most Valued Professionals.)
Okay, now for the flame. Replication functionality is too spread out! There are things you can do from Microsoft Access, from the Briefcase Reconciler, from DAO, and from the Microsoft Replication Manager. Now, the grapevine claims that DAO is being made passe by ADO (as the “universal data layer” [sic]) in future versions of ADO, DAO, and Access, it is not a big conceptual jump to imagine yet another way for replication to do some of the same old things, some new things, and still not be able to do things the application you are working on finds most important.

The TSI Synchronizer is in part, I admit, just another way to do the same old things. But, more importantly, it is a way to do some of the things I have always wanted to do in my own applications, but could not. It doesn't do everything, nor is it intended to, but it does do lots of things that either no one else does at all, or at least no one else does programmatically. Some of the things it allows you to do:

  • Get and set the retention period programmatically--without Replication Manager
  • Perform indirect synchronizations programmatically--without Replication Manager
  • Perform synchronizations with status events so you can implement progress meters
  • Get history information about synchronizations programmatically--without Replication Manager
  • Create new replicas with status events so you can implement progress meters
  • Manage Synchronizers, both getting and setting which replicas are managed by a Synchronizer and what schedules exist for those replicas
  • View information about replicas in the replica set that cannot easily be gotten elsewhere
  • Set all the miscellaneous Synchronizer properties programmatically--without Replication Manager
  • Using VB6 or later, where CreateObject takes an optional second parameter that represents a server name, you can use remotely manage Synchronizers on multiple machines by creating an ActiveX EXE that uses the TSI Synchronizer object.
  • Various fun things that are completely unsupported and undocumented, but are encouraged nonetheless.
Some people may view this mostly as a slam against Replication Manager--and may not be too far off. Replication Manager is a tool that simply screams for an object model, since almost all of the people who have an application sophisticated enough to need it have an almost equally compelling need to hide that UI from their customers. Aside from a few extra goodies, that is mainly what it ends up being: a programmatic substitution for the Microsoft Replication Manager.

Since I am not an employee of Microsoft, I have occasionally departed from their naming conventions to use my own; I do not claim mine are superior, and certainly do not claim that my way is the way of future versions of Jet replication. (I can tell you for fact they are not.) It's simply the way I am used to doing things. Hopefully, my choices will make sense to everyone who needs to use it. If not, the help file and your object browser may prove to be useful.

I want to thank all of the people at Microsoft who made this project a reality. This may not be exactly the interface they had in mind, but none of them are threatening to have me sued, so it can't be all bad. In particular, I’d like to thank Debra Dove, Mark Johnson, Jen Perret, Dean Talley, Phillip Garding, Mike Wachal, and Lee Woods.

I’d also like to thank the non-Microsoft people who not only know a lot about replication, but enjoy talking, writing, and whining about it in ways that both explain the product as it stands and influence what the product will be in future versions. If I wore a hat it would be off to Mary Chipman, Steve Thompson, and Paul Litwin.

Here at Trigeminal Software, Inc., I would have problems telling which end was up were it not for my senior developer, Julianne Lee. My virtual hat remains off to her as one of the few people I will admit (in public) is smarter than I am.

Finally, I’d like to thank the tons of people who use replication and ask me questions or just tell me what they are doing and how. You are the reason we are all here, and the main reason (aside from my short temper!) that the TSI Synchronizer exists. Please e-mail me and tell me what you're up to!
Trigeminal Software, Inc.
October 8, 1998

Copyright © 1997-99 Trigeminal Software, Inc. All Rights Reserved.

Are there any examples on how to use the TSI Synchronizer?

I will have to apologize for not spending a lot of time writing hugely extensive samples. The bottom line is that I enjoy writing code a lot more than help files and such. But all is not lost; Mary Chipman and I (and I should admit that Mary did most of the work here!) wrote an article for Smart Access called Introducing the TSI Synchronizer Object (Pinnacle charges $5.00 for each article. I do not profit from this). Mary is one of those who people who just knows a lot more about things than she will admit; replication is one of the topics about which she knows a lot. Also, the help file included in the download, synch.hlp, does have sample code for most of the methods, properties, and events.

How do I get support for this utility?

Just so there are no misunderstandings, this is a completely unsupported utility (unless you set up an invidudual contract for support/integration). I would love to hear that it's working out for you, but if it's not, I am not in any way responsible. I can assure you that it has not caused replica corruption, unexpected hard drive reformats, hair loss, or unexplained calf pain on MY machine... but I cannot promise that these things, and worse, will not happen to you. That said, if you do have problems or bugs to report, I'd love to hear them, send the information to:

Okay, I understand the support thing. How can I get it?

Just download it from right here!

RELEASE version TSI Synchronizer for Microsoft Jet 3.5x replication (build 5024)

RELEASE version TSI Synchronizer for Microsoft Jet 4.0 replication (build 5024)

If you would like to distribute synch35.dll with the Access 97 Setup Wizard's 'Replication Manager' component, you can download It has instructions on how to use it in the enclosed 09repl.txt.

The 3.5 version of the TSI Synchronizer now includes the Jet Synchronizer files. These may only be used if you either have your own ODE license or if you are distributing them with the TSI Synchronizer as part of your application. They should be put into the same directory as the 97 Office Developer Edition would put them in, which is

C:\Program Files\Common Files\Microsoft Shared\Replication Manager 3.5
If you have any questions about the rules for using the Jet files, send e-mail to me.


Problems with this site? Please contact the
with your comments, questions, or suggestions.