If you don't want to register the com object you can always use a manifest file to hold the COM entries. That's actually the way we do it, not only for .Net assemblies but for ActiveX controls as well. Getting permission to get elevated privs to modify the registry requires something short of a miracle, but with a manifest file we can deploy the app without doing any of that.
There's a PBDJ article where I explain the technique. What I don't cover in the article is using a third party tool to automate the process. That's what we do now, using Side by Side Manfiest Maker.