I created a rigged lamp, where the lamp shader is made of a circle curve bevelled with a bezier curve. Now when I rotate the armature, the lamp shader gets completely deformed, even though the 'Deform' checkbox is unchecked for each bone in the armature. Is there something I can do to fix this?
You need to keep the bone's scales to 1. This is not mandatory in the kind of parenting you used here for the other objects (but generally preferable).
Impact of armature scale on the rig :
If we start from a cube and a simple armature scaled Z to two :
Then parent the cube to one of the bones, the way you did it, you can see immediately that the cube is stretched (here the parenting is done by using directly the fields above the green line):
And effectively, when we rotate the bone :
Weirdly, this effect is not visible if you parent the bone this way :
And I don't know why (surely a 'keep transform' is involved in this parenting mode, but where is the data for that ? please comment if you know), as the result is now this (so apparently the same as before):
But if we move the bone again, same kind of result :