This is a followup to a comment of mine posted in 2012. In short, MikTeX does not remove the leading BOM from listings, but TeXLive does, as shown in the following images. The leading BOM effect can be clearly seen by comparing the first line of the output (using System;) in listings produced with MikTeX and TeXLive.
MWE
% The filename is MikTeX-VS-TeXLive.tex
\documentclass[preview,border=12pt]{standalone}
\usepackage{listings,xcolor}
\lstset
{
language={[Sharp]C},
backgroundcolor=\color{cyan!20},
basicstyle=\scriptsize,
keywordstyle=\color{blue},
identifierstyle=\color{red},
breaklines=true,
}
\begin{document}
\lstinputlisting{program.cs}
\end{document}
Output with MikTeX

Output with TeXLive

Questions
What should I do to make MikTeX do the same thing as TeXLive does but without having to use literate?
Bonus question: Is the source code of pdflatex, xelatex, latex used for MikTeX exactly identical to that of for TeXLive? If yes, why do they behave differently? If the source code is different, why are they made differently?

\newunicodechar{ï}{}and likewise for the rest of the BOM, but this doesn't work because the listings package doesn't like UTF-8 extended characters. – Ian Thompson Jun 04 '14 at 21:48ïż£but nothing in texlive. It looks as if windows binaries of texlive are clever ;-). And it would be worth a feature request to get the same for miktex. – Ulrike Fischer Jun 05 '14 at 07:11\include{filename.tex}, while TeXlive doesn't like that:No file test.tex.tex.MikTex did support downloading packages during compilation, while TeXlive didn't. – phi1010 Sep 20 '17 at 06:02program.csasUTF-8-BOM, and using any of:pdflatex,latexorxelatex. The output always looks like your "Output with TeXLive" – jessexknight Oct 13 '17 at 16:47