Службу WCF можно разместить в любом EXE-файле, а не только в службе Windows.Вы должны написать некоторый код на хост, но это тривиально:
using System;
using System.ServiceModel;
using System.ServiceProcess;
namespace MyService.Hosts
{
public partial class MyWindowsService : ServiceBase
{
ServiceHost host;
public MyWindowsService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
Type serviceType = typeof(MyWcfService);
host = new ServiceHost(serviceType);
host.Open();
}
protected override void OnStop()
{
if(host != null)
host.Close();
}
}
}
Кстати, если вы развертываете с использованием IIS, вы получаете все дополнительные возможности, которые IIS предлагает бесплатно, включая простое развертывание в Интернете, интегрированную защиту имодель событий ASP.NET.