Click-once was not designed for registering com-components. These things are part of the work Windows Installer is meant for.
To use ActiveX in click-once applications too, remember these words: “Reg-Free COM“.

Here’s a short summary of what to do in a .NET project:

  • register the ActiveX Control on the developer’s machine.
  • add the control to a form
  • visual studio will add a reference to it.
    in solution explorer navigate there, and set it’s properties to “isolated” and “copy local”.
  • compile the project. VS will create a manifest to allow the usage of the activeX without registering it.
  • copy the activeX control to your output folder
  • Test it by compiling your app, unregister the control, and start your app.
    Lucky you, it will operate as desired.

Requirements: Windows XP and above, Visual Studio 2005 and above.

Note: Not every component is meant for Reg-Free COM, but in most cases it works.
And: it must be registered on the computer, the app is compiled on.

Get more information here (msdn magazin).