For me I have found using a thin coat of Vasoline works better than anything. I use it inside and out to lub and protect the gun from rust. It doesn't evaporate and stays with the gun. Whether the arm is being stored or in use this is what I use. No odor. No color, and isn't greasy if spread thin enough. It's cheap and can be found anywhere.

My 2 cents.