It sounds like the issue has to do with access to network resources (the .msi file) when run remotely. See this article for some details on PsExec security that may shed some light:
http://www.windowsitpro.com/Windows/...19/pg/2/2.html. This should be possible with PsExec -- according to the article, if you specify a username/password "the remote process runs with those credentials and will have access to network resources that the alternative account can access."