I have an SSIS package with some parameters and connection managers that are parametrized using environment variables

What I need to do is to come that ssis package, change the name and few other things and deploy it as a different package. After the new package is deployed I would like to generate a script that allows me to copy all the parametrizations from the old package.
I was able to create this code:
SELECT distinct
 v.[name], v.[type], v.[value],
    Script = 'EXEC [SSISDB].[catalog].[set_object_parameter_value]
        @object_type=30 
      , @parameter_name= N''' + CONVERT(NVARCHAR(500), v.name) + '''
      , @object_name= N''' +pk.name+ '''
      , @folder_name= N''' +f.name + '''
      , @project_name= N''' +pr.name + '''
      , @value_type= R
      , @parameter_value= N''' + CONVERT(NVARCHAR(500), v.name) + ''';
'
FROM [SSISDB].[catalog].[environments]          e
JOIN [SSISDB].[catalog].[folders]               f ON f.[folder_id]      = e.[folder_id]
JOIN [SSISDB].[catalog].[environment_variables] v ON e.[environment_id] = v.[environment_id]
JOIN [SSISDB].[catalog].projects pr ON  pr.folder_id = f.folder_id
JOIN [SSISDB].[catalog].packages pk ON pk.project_id = pr.project_id
WHERE 
     e.[name] = N'PreProd'
     AND v.NAME like '%MSDB%'
     AND pr.name = 'myProject'
     AND pk.name = 'myPackage.dtsx'
However when i try to execute the resulting script it get this message:
Cannot find the parameter 'MSDBConnection.ConnectionString' because it does not exist.
What I am doing wrong?