If you are using environment variables in SSIS when using package configuration, chances are you will run into a situation where you add or change the value of an environment variable, and SSIS does not recognize it. There is a misconception that in order for the packages to start recognizing it, the machine needs to be restarted. The reality is that just the process which is running the SSIS packages needs a restart. Typically this is the SQL agent if you have a job that is executing the package, or you will need to restart the SSIS service if you are running the package directly. In a development environment, BIDS would need a restart.
In my SSIS packages I typically use package configurations, having an environment variable called SSIS_CONFIG_DB that defines the connection string to my SSISConfig database. In this database is a table called SSISConnectionConfig, which contains the connection info for all the connections used in the package. So, if I have SSIS_CONFIG_DB pointing to development and I’m in Visual Studio testing the package, if I then change SSIS_CONFIG_DB to point to production, I must exit Visual Studio and start it back up again for Visual Studio to start using production.