I want to install .NET Compact Framework Service Pack 2 programmatically on
the Pocket PC (iPAQ 550). To do so I am using p\invoke - ShellExecuteEx() to
run the cab file which is already copied to the pocket pc. When the cab file
is being installed, I get the following error -

"The file "\Windows\mscoree.dll" is in use or is in ROM. If the file is not
in ROM, please close the application using the file."

The error suggests that some file is in use, but this is not the case. If
you manually install the cab file (by tapping on it) it works fine.

Is something wrong with the way I am invoking the cab file?
Is there any other mechanism to install the cab file (sp2) programmatically?

Thanks in advance,
Sapna