Expresión SSIS para encontrar el viernes anterior

Con SQL Server 2008, he creado una variable SSIS con una base de valores dinámicos en la fecha actual. Me gustaría que su valor sea viernes si el día actual es lunes, y aquí está la expresión creada:

    DATEPART("dw",GETDATE()) != 2?
RIGHT("0" + (DT_WSTR,2)MONTH(DATEADD("dd", -1, GETDATE())), 2) + "/" 
    + RIGHT("0" + (DT_WSTR,2)DAY(DATEADD("dd", -1, GETDATE())), 2) + "/" + 
(DT_WSTR,4)YEAR(DATEADD("dd", -1, GETDATE())) : RIGHT("0" + (DT_WSTR,2)MONTH(DATEADD("dd", -1, GETDATE())), 2) + "/" 
    + RIGHT("0" + (DT_WSTR,2)DAY(DATEADD("dd", -3, GETDATE())), 2) + "/" + 
(DT_WSTR,4)YEAR(DATEADD("dd", -1, GETDATE()))

Problema: no es exacto cuando el mes o año cambió. ¿Hay alguna manera mejor de hacer esto? La ayuda sería apreciada. Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta