how to open assembly and all contained parts read-only

I am trying to open an assembly and all parts and subassemblies inside it as read-only, however when I use the "open read-only" option to open an assembly, only the top level assembly is read-only, everything else is writeable.