tags:

views:

464

answers:

3

I am attempting to launch the .NET CF installer from a VB6 app using the following code (for the sake of brevity I have replaced the full path to the installer with "(full path)"):

Shell "C:\WINDOWS\system32\msiexec.exe /fa ""(full path)\NETCFSetupv35.msi"""

I've run this on four machines so far. On two it works fine, on the other two it fails. When it works, the CF installer just runs. When it fails, the first thing it does is pop up a dialog saying, "The feature you are trying to use is on a CD ROM or other removable disk that is not available." The dialog provides a text box to enter a path and a browse button to find it, so I provide the path, click the open button and get this error, "Error 1706.No valid source could be found for product Microsoft .NET Compact Framework 3.5. The Windows Installer cannot continue."

Can anyone tell me what's going wrong here? What is missing from the machines upon which it fails?

A: 

Possibly a problem with the Compact Framework MSI itself? You could try Microsoft support (do you have a MSDN subscription?), or posting on a newsgroup.

Alternatively try adding the logging argument to your command line "/l* LogFile.txt" (don't include the quotes) and then try to understand the log.

MarkJ
A: 

Have you tried running the installer manually on the computer where vb6 fails?

If it does work then it is probably not an installer issue. My guess would be that it is an execution path issue where shell finds the correct components when the PATH variable is set correctly

Eric
Yes, running the installer manually works. I'm providing complete paths to the Shell command, I don't see how the PATH environment variable setting could matter.
raven
A: 

Have you tried to ChDir to your "(full path)" before calling Shell?

Bob