Using dupli-faces changes the orientation of the child object I am trying to make an arrow of windows on a building where the lights are randomly on or off.

I am trying to use the method described in the answer for this question:
Random color on multiple multi-component objects obtained by applying an array modifier

I have made my window object, then made the "duplicator object" using a simple plane, and applying the array modifier. I selected my window object, and parented it to the duplicator plane array, and I turn on the Duplication > Faces option, and set the Scale to the proper size.

Now I have the windows multiplied, and the random effect works with the lights being on and off randomly. The problem is, that now my original window is in the right position, but all the duplicates are rotated 90 degrees.



The rotation for both the duplicator and the original window object are all zero though.



What might cause such a weird behavior? If I rotate the original window, then the duplicates will be in the right position, but then again I will have a strange stray window in the corner floating on its side...
It looks like you can't avoid both problems:


The duplications follow the faces normals. So if you want them 90° you need to rotate the original object 90°.
The original objects is still visible in Solid mode. It won't be visible in Rendered mode though. If you want to make it more discrete you can scale it down, select the faces, and in the Duplication panel enable the Scale option, then adjust the Inherit Scale value.