Agreed.
A computer virus most definitely, in reproducing itself, decreases its entropy (of course, so do many growing crystals, ice on a freezing lake, etc). It's a code in the same sense the viral DNA or RNA is a code; it's simply written in a different language on a different medium. And it is written by a human rather than evolving from a piece of parasitic nucleic acid; however, I believe people have tried to develop computer viruses that can mutate their own code and evolve. It is hard to find a meaningful criterion, relevant to the dicussion of what life is, by which a computer virus differs from a biological virus.
At least with viruses we can limit the discussion to observable behavior. For a fun time, start talking about the minimum neural complexity necessary for consciousness.
I don't know of any viruses like that "in the wild", but it would certainly be an interesting challenge to try putting one together. The closest thing I can think of to "mutation" are polymorphic viruses, which aren't really "mutating" in a stringent sense anyway - they are designed to change their appearance but preserve their functionality, in order to defeat signature scanners. But there is, by design, no chance that they will randomly develop new functions or abilities - the underlying functionality is always preserved - and hence no chance of "evolution".
I wonder about the possibility of "evolving" a solution, though. Writing a virus is trivially easy - writing a virus that can slip past a sophisticated "immune system", which is what modern antivirus packages are, really - is a much taller order, one that might be crackable by allowing genetic algorithms to go to work...
How?