trouble deploying to Samsung Blackjack

R

Raymond Wright

Excuse the cross-post, it may be that this group is the right place for
this question:

I am an experienced developer new to .NET, VisualStudio, WindowsMobile5.0,
Smartphone.

I installed VS2005, installed Windows Mobile 5.0 sdk, developed a simple VB
app that runs fine against the smartphone emulator in the sdk.

I deployed by simply copying the compiled exe directly to the microSD card.
When launching the app on the Samsung Blackjack, I get error "requires
newer version of .NET Compact Framework than the version installed on this
device"

Since the 5.0 SDK requires VS2005, and VS2005 runs on .NET 2.0, why is not
this deployment compatible with a brand new model phone? In fact the 5.0
SDK would not even install without VS2005, so it seems the two are made for
each other. Also, what is ActiveSync - I don't believe I installed that.

I would rather not alter the phone itself in any way (cabs, CF2.0, etc).
Perhaps the broader question is: why is not a brand new model phone
equipped with CF2.0, or why is not CF2.0 a part of WM5.0?

Is there a solution to this problem?


Thanks.
 
I

Ilya Tumanov [MS]

VS would install NETCF V2 for you if you do automatic deployment. There's
nothing to be afraid of, it's normal to install software (cabs, NETCF, etc.)
on to SmartPhone.

In fact I would consider it the only reason for word "Smart" in SmartPhone.
You can always reformat storage and restore all phone settings to factory
conditions if needed.



As to why NETCF V2 is not in ROM on your, that's because it take a while to
incorporate fresh NETCF version into OS in a first place.

After that it takes a while for manufacturers to adopt this new OS version.
Your brand new device has a version of OS which is probably 6 to 8 months
old because of that delay.



AKU 3 of WM 5.0 has NETCF V2 in ROM as optional component (OEM chooses V1 or
V2).

Crossbow (new WM version) comes with NETCF V2 SP1 in ROM.



--
Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no rights.

*** Want to find answers instantly? Here's how... ***

1. Go to
http://groups-beta.google.com/group/microsoft.public.dotnet.framework.compactframework?hl=en
2. Type your question in the text box near "Search this group" button.
3. Hit "Search this group" button.
4. Read answer(s).
 
R

Raymond Wright

VS would install NETCF V2 for you if you do automatic deployment.
There's nothing to be afraid of, it's normal to install software
(cabs, NETCF, etc.) on to SmartPhone.

Excuse my ignorance, but how do I do automatic deployment in VS2005? What
will be the result - a cab or a msi file? Once my app is deployed, will CF2
be on the phone for all apps to benefit from (including future apps I
develop?

Thanks again.
 
P

Paul G. Tobey [eMVP]

When you deploy your application via VS2005 to the device for debugging and
testing, VS2005 will also deploy the latest .NET Compact Framework version
with it, unless you turn off that option in the project settings. None of
this has anything to do with commercial deployment of your finished
application to the device.

In your case, since you just copied the EXE and since that EXE depends on
..NET CF 2.0 (you created the project that way), it requires, it should be
obvious, that the framework be there and that it be the right version of the
framework. No, WM5 devices were release quite a long time before .NET CF
2.0 was released and, although they have .NET CF 1.0 in them, no they don't
have .NET CF 2.0.

Paul T.
 
R

Raymond Wright

"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam
DOT com> wrote in
In your case, since you just copied the EXE and since that EXE depends
on .NET CF 2.0 (you created the project that way), it requires, it
should be obvious, that the framework be there and that it be the
right version of the framework. No, WM5 devices were release quite a
long time before .NET CF 2.0 was released and, although they have .NET
CF 1.0 in them, no they don't have .NET CF 2.0.


I appreciate the help you are offering. At this point, I have a finished
application that I intend to use myself on my WM50 smartphone. I think
my options are as follows. Your answers to each will help me make better
decisions in the future:

1. Put CF20 on the device. I downloaded the msi and msp files to my pc,
copied them to the microSD, but is seems WM50 doesn't know how to
install it.
Q: Must they be downloaded directly on to the device for the
download agent to know about it?
Q: What is the conventional way to install .msi files on a
smartphone?

2. Build the project using CF10.
Q: Will this approach allow me to simply copy the exe to the
device and run it?
Q: I think I found in VS2005 how to build a 1.0 project from
scratch. Can I change the existing CF20 project to be CF10 without
rebuilding the entire project from start? If so, how?
Q: Is there any significant downside to this approach?

3. Learn the more conventioal way to deploy apps directly from VS2005 to
the device.
Q: what is the best way to get up to speed with this? (assume i
know nothing - I have a usb cable with the phone, that's it).

Thanks very much.
 
P

Paul G. Tobey [eMVP]

I appreciate the help you are offering. At this point, I have a finished
application that I intend to use myself on my WM50 smartphone. I think
my options are as follows. Your answers to each will help me make better
decisions in the future:

1. Put CF20 on the device. I downloaded the msi and msp files to my pc,
copied them to the microSD, but is seems WM50 doesn't know how to
install it.
Q: Must they be downloaded directly on to the device for the
download agent to know about it?

The .msi is a *desktop* file, not a device file. To install it, run the
..msi file on the desktop that you use to ActiveSync with the device and, the
next time you sync the device, the framework will be installed.
Q: What is the conventional way to install .msi files on a
smartphone?

See above.
2. Build the project using CF10.
Q: Will this approach allow me to simply copy the exe to the
device and run it?
Yes.

Q: I think I found in VS2005 how to build a 1.0 project from
scratch. Can I change the existing CF20 project to be CF10 without
rebuilding the entire project from start? If so, how?

Not in any way that I've been able to figure out. Maybe Ilya has the magic
formula...
Q: Is there any significant downside to this approach?

Functionality is lower in 1.0 and so is performance. On the plus side, you
don't use storage space for the .NET CF 2.0 if you don't install it.
3. Learn the more conventioal way to deploy apps directly from VS2005 to
the device.
Q: what is the best way to get up to speed with this? (assume i
know nothing - I have a usb cable with the phone, that's it).

How have you been debugging the EXE? You connect, let ActiveSync recognize
the device, set up the Device options in VS2005 to use the device, and hit
F5.

Paul T.
 
R

Raymond Wright

"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam
DOT com> wrote in
Great - almost done!

I don't have ActiveSync. Is this from VS2005 or WM50 SDK? I remember seeing
it during one of the installs, but I didn't install it.

As I said, I have a USB cable with the phone, that's all I know.
The .msi is a *desktop* file, not a device file. To install it, run
the .msi file on the desktop that you use to ActiveSync with the
device and, the next time you sync the device, the framework will be
installed.
How have you been debugging the EXE? You connect, let ActiveSync
recognize the device, set up the Device options in VS2005 to use the
device, and hit F5.

App doesn't have bugs :)
I've been running to the emulator only.
 
P

Paul G. Tobey [eMVP]

It came with the device. You did buy it new, right? You can download it
from www.microsoft.com/downloads, too, but the device OEM is supposed to
ship it (how are you getting your phone numbers into it? One at a time,
manually?!)

Paul T.

Raymond Wright said:
"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam
DOT com> wrote in
Great - almost done!

I don't have ActiveSync. Is this from VS2005 or WM50 SDK? I remember
seeing
it during one of the installs, but I didn't install it.

As I said, I have a USB cable with the phone, that's all I know.
The .msi is a *desktop* file, not a device file. To install it, run
the .msi file on the desktop that you use to ActiveSync with the
device and, the next time you sync the device, the framework will be
installed.
How have you been debugging the EXE? You connect, let ActiveSync
recognize the device, set up the Device options in VS2005 to use the
device, and hit F5.

App doesn't have bugs :)
I've been running to the emulator only.
 
R

Raymond Wright

"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam
DOT com> wrote in
It came with the device. You did buy it new, right? You can download
it from www.microsoft.com/downloads, too, but the device OEM is
supposed to ship it (how are you getting your phone numbers into it?
One at a time, manually?!)

i installed ActiveSync from the CD.
when trying to deploy the app (with CF20) to the device, it says "the
device security configuration disallowed the connection"

ActiveSynch only wants to synch outlook type of things like contacts etc.
how does it know about a desktop or apps that need to be synched?
 
P

Paul G. Tobey [eMVP]

It's possible for the phone company to block the installation of new
software to the device. I have an unlocked device, so I've never seen this.
On such unlocked devices, you'd get a notification *on the device* that says
something like "this program isn't signed or might be bad or whatever. do
you want to allow it to run?" If you hit no, you get the message on the
desktop that you saw; if you hit yes, the installation continues.

Apps *don't* need to be synced, but AS, in addition to being able to
exchange Outlook-type data with the device, can also see what applications
are installed on the device (it can read the registry). So, it's able to
tell that you have installed program XYZ on the PC, but that that program
has not yet been transferred to the mobile device, so it asks you if you
want to do that and, if so, it copies the install file (a CAB file), to the
device and executes it.

Paul T.

Raymond Wright said:
"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam
DOT com> wrote in
It came with the device. You did buy it new, right? You can download
it from www.microsoft.com/downloads, too, but the device OEM is
supposed to ship it (how are you getting your phone numbers into it?
One at a time, manually?!)

i installed ActiveSync from the CD.
when trying to deploy the app (with CF20) to the device, it says "the
device security configuration disallowed the connection"

ActiveSynch only wants to synch outlook type of things like contacts etc.
how does it know about a desktop or apps that need to be synched?
 
R

Raymond Wright

Paul,

this is madening.

1. i tried to build the project over using CF1.0. It turns out i used
controls from CF2.0 (ex: linklabel) there is no other control in v1.0
that takes a click event other then a checkbox. that is pretty sad.

2. in ActiveSync, AddRemove programs only shows two apps on the device
and offers to synch my pc with those apps. very kind offer but i need to
synch the other way. no other apps are listed. apparently it thinks
there is nothing on my pc to offer the device.

3. i searched the entire pc for cab files. found one that might possibly
be the CF20 cab for the samsung blackjack which runs ARM926EJ OMAP1710
processor. this file is: NETCFv2.wm.armv4i.cab

is this the file and how can i install it to the device? since
ActiveSynch doesn't know about it, can i just copy it there and double-
click?

4. there really isn't a security problem with the device because when i
first started (copied the exe to MicroSD and tried to run it, it told me
it was "insecure" (ie no known certificate) and asked if i wanted to
proceed anyway. i said yes and then i got the "need newer .NET" error.
so it wants to run the app from a security point of view.

i'm a long-time borland guy and i'm not liking how things are in this
camp. that said, i appreciate all the help you've already endeavored to
give me. you probably have better things to do.




"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam
DOT com> wrote in
 
P

Paul G. Tobey [eMVP]

1. i tried to build the project over using CF1.0. It turns out i used
controls from CF2.0 (ex: linklabel) there is no other control in v1.0
that takes a click event other then a checkbox. that is pretty sad.

Can't help you with this. Lots of controls use click events (buttons, for
example)...
2. in ActiveSync, AddRemove programs only shows two apps on the device
and offers to synch my pc with those apps. very kind offer but i need to
synch the other way. no other apps are listed. apparently it thinks
there is nothing on my pc to offer the device.

So, you haven't installed the .NET CF 2.0 update downloaded from Microsoft?

http://www.microsoft.com/downloads/...88-59e2-4eba-a70e-4cd851c5fcc4&DisplayLang=en
3. i searched the entire pc for cab files. found one that might possibly
be the CF20 cab for the samsung blackjack which runs ARM926EJ OMAP1710
processor. this file is: NETCFv2.wm.armv4i.cab

is this the file and how can i install it to the device? since
ActiveSynch doesn't know about it, can i just copy it there and double-
click?

Yes, that should work.

Paul T.
 
R

Raymond Wright

"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam
DOT com> wrote in
Can't help you with this. Lots of controls use click events (buttons,
for example)...

i would love a button, but there is no button in the toolbox for either a
CF10 or CF20 project in VS2005. button was my first choice but since it
wasn't there i chose linklabel.
So, you haven't installed the .NET CF 2.0 update downloaded from
Microsoft?

http://www.microsoft.com/downloads/details.aspx?FamilyID=0c1b0a88-59e2-
4eba-a70e-4cd851c5fcc4&DisplayLang=en

i tried but it said it was already installed on the pc. that can only be
possible as a result of installing VS2005 and the WM50 SDK.
 
P

Paul G. Tobey [eMVP]

i would love a button, but there is no button in the toolbox for either a
CF10 or CF20 project in VS2005. button was my first choice but since it
wasn't there i chose linklabel.

No, you're off-base there somewhere. You couldn't do *anything* useful
without buttons. I can't find any way to get buttons not to appear in my
toolbox. What items *do* you see?
i tried but it said it was already installed on the pc. that can only be
possible as a result of installing VS2005 and the WM50 SDK.

Yes, it gives that error when you already have VS installed, since it has
..NET CF installed with it. The CAB file you found presumably came from VS's
install, so you can use it.

Paul T.
 
P

Paul G. Tobey [eMVP]

Ah! It just occurred to me that you're writing a *SmartPhone* application,
so that all makes sense. Add the command items to the menu is probably the
right way to do it, in that context. I don't have any experience with the
programming model on those devices, though. Too strange when there's no
mouse, no touchscreen, etc.

Paul T.

"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT
com> wrote in message news:%[email protected]...
 
R

Raymond Wright

ok, installing the previously mentioned CAB worked, and the app is running.
thanks for all your help.

one last question: does CF20 use resources on the device even when no apps
require it? is it load-on-demand and stay until power-off, or load-on-
demand and release-when-done, or loaded-all-the-time.


 
P

Paul G. Tobey [eMVP]

It loads when it's used. As far as I can think, it goes away when you stop
using it, in the same way a DLL loaded by your process is unloaded when the
program exits.

Paul T.
 

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