express 4 setup static from required module fails

I have an odd error, I had the app working fine, but then as the app.js was getting pretty bloated so we split out certain logic to other files and for some reason the static file handler now seems to stop routes working.

Error: Forbidden
   at SendStream.error (C:\Code\Web\testing\_packages\node_modules\express\node_modules\send\lib\send.js:228:16)
   at SendStream.pipe (C:\Code\Web\testing\_packages\node_modules\express\node_modules\send\lib\send.js:413:19)
   at staticMiddleware (C:\Code\Web\testing\_packages\node_modules\express\node_modules\serve-static\index.js:92:12)
   at Layer.handle [as handle_request] (C:\Code\Web\testing\_packages\node_modules\express\lib\router\layer.js:76:5)
   at trim_prefix (C:\Code\Web\testing\_packages\node_modules\express\lib\router\index.js:263:13)
   at C:\Code\Web\testing\_packages\node_modules\express\lib\router\index.js:230:9
   at Function.proto.process_params (C:\Code\Web\testing\_packages\node_modules\express\lib\router\index.js:305:12)
   at C:\Code\Web\testing\_packages\node_modules\express\lib\router\index.js:221:12
   at Function.match_layer (C:\Code\Web\testing\_packages\node_modules\express\lib\router\index.js:288:3)
   at next (C:\Code\Web\testing\_packages\node_modules\express\lib\router\index.js:182:10) 

There is the error, the app file used to call: app.use(express.static("{0}/public".format(__dirname)));

However now because its loaded from another file we have done app.set("rootdir", __dirname) in the app.js file then in the other module we do:

app.use(express.static("{0}/public".format(app.get("rootdir"))));

Everything runs fine but when I load up a route it blows up with the error, whereas it used to work. I have done console.log to confirm the rootdir and it is fine, also have done the same thing in app.js and it is EXACTLY the same.

So is there any known issues around this?