Zipper chain along the curve
In your .blend, you have a non-uniformly scaled object being arrayed and deformed down a non-uniformly scaled curve. This creates quite a tangle. It's better to start off in an orderly way, than to make adjustments, and then adjustments of adjustments,and so on....
If you're stealing the curve from a part of the another object, (here, the suitcase,) apply the scale of that object before doing it.
In general, to array and curve in a way that's easier to get your head round:

CtrlA &gt; Apply the scale of all the objects involved. This is true of modelling in general. Modifiers and other effects are generally calculated in Object Space, which is measured in the dimensions before they are transformed by the object-level scale. So, while modelling, always scale the mesh in Edit Mode, or, if you must give the object a scale-transform in Object Mode, apply it as soon as possible.
Place the origin of the curve at its first vertex
Place the origin of the object to be deformed at the location in its mesh you would like to lie on the curve.
Place the object to be deformed at the curve's origin. (Not necessary, but perhaps makes the whole setup easier to understand)
Again, for convenience, align the orientation of the curve and the object. (The most convenient way to do this is apply the rotations of both, so they're both aligned to the world.)

Having done all that, you should get a result like the blue example below:

As you can see, there is still some wedge-deformation of the teeth as they go round the corner, but unless you're in extreme close-up, that should be good enough?
If you want to avoid all deformation of the teeth, you could use the method from this answer, (or numerous others on tank-tracks), and array a simple plane (which deforms), instead of the teeth, Then instance the teeth onto the plane-array's faces. The teeth won't deform. That's the green example.
However, you've modelled the teeth as a pair, and in the green example,that leaves a slightly odd gap between one pair and the next. So, you could instead model the teeth separately, and use the instancing method twice, (2 arrays), to get the red example.