There is a setting you can use in Web.config or user.config to disable setup.
<add key="DisableSetup" value="true" />
If you log in to the site as admin before doing an upgrade, it will run setup for you even if setup is disabled but it blocks other users from running setup. So if you make this setting then when you need to do an upgrade you don't even have to change it as long as you login before upgrading. If you forget to login first then you need to set this to false to be able to run setup.
Hope it helps,