Вот код, который я использую при развертывании timerjob. Разница в том, что я развертываю веб-приложение, а вы - семейство сайтов (я полагаю, ваша функция относится к области Scope):
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPWebApplication application = properties.Feature.Parent as SPWebApplication;
// make sure the job isn't already registered
foreach (SPJobDefinition job in application.JobDefinitions)
{
if (job.Name == ARCHIVE_JOB_NAME)
job.Delete();
}
// install the job
NewsArchiverTimerJob archiveJob = new NewsArchiverTimerJob(ARCHIVE_JOB_NAME, application);
SPMinuteSchedule schedule = new SPMinuteSchedule();
schedule.BeginSecond = 0;
schedule.EndSecond = 59;
schedule.Interval = 30;
archiveJob.Schedule = schedule;
archiveJob.Update();}