That did create the task but then ran the process launched by the task as SYSTEM, not user. So I was back to square 1! Here's the way to get the username during install as a SYSTEM:
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT UserName FROM Win32_ComputerSystem");
ManagementObjectCollection collection = searcher.Get();
string username = (string)collection.Cast<ManagementBaseObject>().First()["UserName"];
MessageBox.Show(username);
Not sure what happens when you have multiple users on the machine..