Como identificar imagens CMYK usando c #

Alguém sabe como identificar corretamente imagens CMYK usando C #? Descobri como fazer isso usando o ImageMagick, mas preciso de uma solução .NET. Encontrei três trechos de código online, apenas um funciona no Windows 7, mas todos falham no Windows Server 2008 SP2. Eu preciso que ele funcione pelo menos no Windows Server 2008 SP2. Aqui está o que eu encontrei:


    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Drawing;
    using System.Drawing.Imaging;

    bool isCmyk;

    // WPF
    BitmapImage wpfImage = new BitmapImage(new Uri(imgFile));

    // false in Win7 & WinServer08, wpfImage.Format = Bgr32
    isCmyk = (wpfImage.Format == PixelFormats.Cmyk32);

    // Using GDI+
    Image img = Image.FromFile(file);

    // false in Win7 & WinServer08
    isCmyk = ((((ImageFlags)img.Flags) & ImageFlags.ColorSpaceCmyk) == 
        ImageFlags.ColorSpaceCmyk); 

    // true in Win7, false in WinServer08 (img.PixelFormat = Format24bppRgb) 
    isCmyk = ((int)img.PixelFormat) == 8207; 

questionAnswers(3)

yourAnswerToTheQuestion