Bikes and wiring trouble
Just run two wires, a positive and a negative lead.  Both leads in the same casing will make for a more robust wire, less susceptible to vibration damage.

If you expect to run one of the leads in the metal of your frame, first make sure there is conductivity between the points you expect to run the wire.  Carbon fibre is not conductive.  Steel is great for this, and aluminium conducts but tends to have galvanic reactions at points it touches other metals.

Use a multimeter in Beep mode and then measure the resistance in Ohms between the two points.  Then compare that reading with the resistance of a length of wire that you'll be using for the positive run - I bet the frame will have a lower resistance, but when you cross things like the fork bearings it could add a lot, or it could be fine.  Only measurement will tell.   Do note that Paint is generally non-conductive so you'll need to scratch through that to get a measurement.

To attach wires to a frame, the common method was a hose clamp with the bare wire under it.  This is ugly, catches and holds muck and water, and means you've got a bare area of steel underneath.

You can also crimp a small ring or fork connector onto the end of your wire, and then trap it under a convenient bolt like a carrier/mudguard stay, or under the light or horn fitting itself.

The last resort is to drill a small hole into the frame, and then tap it for a bolt and trap your cable that way.  Good side of this is you can do this in a convenient place.  Downside, drilling holes into a frame.

Personally I use an airhorn that is powered by a small canister that sits in a water bottle cage.  Works perfectly and is audible from inside most modern vehicles including trucks.