SetupHelper.dll

T

Terry Westley

Has anyone successfully used the technique described in "Creating an MSI
Package that Detects and Updates the .NET Compact Framework"
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/
html/netcfdepl.asp) to detect the device type?

I have been able to successfully download the SetupHelper.dll file to my
Pocket PC and invoke the GetPlatformType() function. I'm using OpenNETCF
Desktop Communication Library RAPI class and ActiveSync 3.7.1 to do this.
My Pocket PC is a Toshiba e805 with Windows Mobile 2003 (not SE).

But, when I call GetInstructionSet(), I get output data bytes = {0, 0, 1,
5}. This doesn't match any instruction set mentioned in the article plus I
was sorta expecting a unicode string just like GetPlatformType(). Perhaps
the XScale processor in the e805 is not accounted for in the article?

If anyone else has done this, what values are you getting back from calling
GetInstructionSet() in SetupHelper.dll on your Pocket PC?

Or, is there a better way to detect the device type? Perhaps something I'm
missing at OpenNETCF or RAPI?

--TWestley
 
T

Terry Westley

Chris Tacke said:
Why not call RAPI.GetDeviceSystemInfo?

I think you're right for WinCE 3.0 devices. SYSTEM_INFO.wProcessorArchitecture looks pretty
reliable for detecting the device type. But, currently I have no ideas other than getting the
instruction set (via SetupHelper.dll) to distinguish among WinCE 4.1 or later devices.

Quoting the referenced MSDN article:

"To successfully choose the correct cab to deploy to the device, you will need the following
information: the Windows CE OS version, platform string, processor type, and instruction set.
Currently, not all of these are directly available via RAPI, so the only way to obtain them is
to download a native 'SetupHelper' .dll to the device and call it via CeRapiInvoke."

And, later:

"If the device is Windows CE 4.1 or newer, to correctly pick the right cab you need to know the
devices instruction set (from SetupHelper.dll)."
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top