yashsingh1/xdaforums huggingface dataset:
[XPERIA X1 General] OSC4R:
A few days ago I have updated my phone using the SE update software. I made a backup of my personal data because the software told me that all the data would be erased.

After the update was completed I restored my backup succesfully. Unfortuantly all the icons of the programs I had installed on my external memorycard before the update were gone in my programlist, while their systemfiles were still at my external memorycard...

But the strangest thing is that the programs do come up in the list of programs in 'Removing Programs'. But when I select a program to remove (with the idea to install it again so I have got the icon back to open it), I get an error and the question to remove the program from the list. If I click yes the program stays in the list :confused:

So in short, the problem is that I have a lot of programs on my memorycard which I can't open because it has no icon in the list of programs. When I try to uninstall it I got an error with every program which was installed on my external memorycard before I did the update...

Hope someone can help me!
[Touch Diamond, MDA Compact IV Themes and Apps] Deleted member 1198227:
Hi. I have seen the Original wallpaper but not in black and grey but black and red. I now searching for hours but cant find it again.. Does anyone remember the link? Else a link for the clasic original . (I will paint it..) Thanks ,
[Touch Diamond, MDA Compact IV Themes and Apps] TrizO:
you could take it off of your phone then put it into a program like photoshop and overlay it with red.
[Touch Diamond, MDA Compact IV Themes and Apps] looby:
TF3D Wallpaper..

Something like this? :)
[Touch Diamond, MDA Compact IV Themes and Apps] Deleted member 1198227:
Not something like this, exactly this !

Thanks :) . I know i have download it some days before ,but now i have spend hours without finding it..
[Touch Diamond, MDA Compact IV Themes and Apps] PMDColeslaw:
So how would you go about getting that to be the background on tf3d? Would you have to use a program or could you just put it in a manila file and if so which one?
[Touch Diamond, MDA Compact IV Themes and Apps] looby:
TF3D wallpaper..

Easy, place the wallpaper in 'My Pictures' on your device. Scroll along in TF3D until you come to settings, choose Wallpaper and when a box opens saying 'Choose default yes/no' choose 'no'. This will take you through to your pictures and you can click on the one you want and it will change it for you to your homescreen. To go back just click the 'yes' in the default wallpaper box.If you want to make your own wallpaper the size is 480x640....:)

N.B. If you SEARCH on this site for mUn BackgroundMode.CAB and install this CAB to your device you can have your Homescreen Wallpaper on all of your TF3D pages.
[Touch Diamond, MDA Compact IV Themes and Apps] PMDColeslaw:
Sweet thanks! I knew about the home screen I was looking for how to change all the backgrounds.
[Windows Mobile Software Development] NLS:
So you have a nice application that has to run all the time (because it detects a sensor, it reacts on something, whatever)... People love it and want to use it.

Then you have stupid WM limits. You can have only 32 processes mister (and 32MB for them)... Yeap that's all for you, even today and WM 6.5 (expected to change with WM7 but WM7 if it ever comes, is at least 18 months away)...

Then you have modern devices that from the factory come loaded with things you want to use and these 32 processes are already half "eaten"...

Then us geeky users, try to add more things and before you know it: "Cannot execute whatever.exe" (inc. even your sync subsystem... no discriminations here)... Then some of those nice programs those nice people in XDA devs made... have to go.

Microsoft HAS an workaround though. A workaround that is used in your desktop windows much more, even though desktop windows don't have this stupid limit: SERVICES.

It's even a philosophy thing: Something that has to run all the time, should be service! Something that you don't want the system to kill it for you, should be service! Something that runs in the background "invisible" SHOULD be service!

Here are some nice links for you:

http://bansky.net/blog/2008/04/services-for-windows-mobile-in-managed-code/

http://msdn.microsoft.com/en-us/library/ms838599.aspx

http://www.pocketpcdn.com/articles/services.html

http://www.eggheadcafe.com/software/aspnet/30999963/service-vs-process-why-n.aspx

http://www.geekzone.co.nz/content.asp?contentid=2407

http://blogs.msdn.com/windowsmobile/archive/2005/08/01/446240.aspx#448385

Yes a service is a bit more complex thing to build and handle (for example you cannot just "quit" a service), but the results are there; and after all this is what some apps SHOULD be.

...So I am making this thread to have a nice AND ESP. FRUITFUL discussion about shifting your great creations to services (i.e. to whatever app this applies). The issue is there. The solution is there. Don't turn a blind eye to it.

Fire away...

(ps. I'd love if someone makes this sticky eventually)
[Windows Mobile Software Development] danielherrero:
Yes, we can!

:p
[Windows Mobile Software Development] NLS:
Ok we have one recruit. ;)

Let's hope for more.

(I esp. wait for mr. TouchLockPro guy - ...TLP as CMP ***SHOULD*** be service)
[Windows Mobile Software Development] Keland44:
i have to say after reading this thread it does make really good sense especially if your like me who keeps a messanger running all the time be it beejive or im+ and also call firewall so getting those programs to run as a actual service that would be good so i know that there running all the time
[Windows Mobile Software Development] nothin:
cooker point of view, with 64 mb mem device(max 33-34 mb mem free) - just thinking aloud..

..it may be just module cooked into rom, too, you know..no ram usage, still process though..

but - how many processes do you need at once, people...

btw,

so we can load i.e. 50 mb of services maintaining 32 mb mem space for processes then?

just asking..

lol, but not beacuse of "32 processes at once" reason.

are there really users, that have 32 processes launched on their ppc's at once?

well, modules again..no mem footprint.

lol, things i do

not want

to use - we are cookers because of that.

people are using custom roms because of that.

so 1/2 still left..

btw one more thing:

what about battery life time vs many services(lets say not especially good written ones)?
[Windows Mobile Software Development] NLS:
All my devices hit the 32 process limit pretty soon.

I definitely welcome a cook's point of view, but this cannot apply to everybody.

Something that must run all the time, must run all the time. Be it a service or a process or a cooked module. In fact you can have a service as a cooked module. That's not the point.

The point is overcoming an issue that Windows Mobile has.

A real actual problem that all "more than basic" users face sooner all later.

We have devices with great potential (my TP certainly has) that are limited by stupid 10-15 years old limits.

Let's not take the side of young Bill "640Kb should be enough for everyone" Gates, or people that said some years ago that "IRQ is not a problem"... well history taught both of them otherwise.

Personally I strongly suggest devs that want to make something that must run all the time, to take a hard look on services.
[Windows Mobile Software Development] ZuinigeRijder:
This is a very interesting topic, which I did not know of.

Why are the builtin programs of a phone not packaged as a service by the manifacturer?

Then the remainder programs can use the other 32 processes :rolleyes:

If TouchLockPro is only packaged as a service, this will be only 1 process less.

I see also a lot of cons for services. Debugging/developing is much more difficult.

And I am also not sure, if there is a UI related to the service, if that is still a separate process (not background task). As I read the articles, the UI related applications use the service events for doing their job. So for TouchLockPro this would be a no-win, it still needs a separate process. So no gain from that perspective.
[Windows Mobile Software Development] NLS:
Services, esp. for WM which are always dll, interact with their environment using various calls.

Having a front end, as long as it is used to set various bits and pieces (like in your TLP) that are then stored for the dll to use, is no problem. Your config front end will be a process of course, but not one that you keep in the background, will run only when needed.

If you talk about your popup window with the six buttons, I am sure you can do that too.

On purpose, one of the links I included above talks about SPB that has already moved all their "backbone" apps to services - and as you know SPB apps use everything... config screens, today items, pop-ups, you name it. Indeed everybody that has SPB software installed, will see in the proper task manager, just a few SPB services installed and no process, as many SPB products as you have. In fact I bet this has allowed them (or at least helped them) to have their famous integration between their products.
[Windows Mobile Software Development] danielherrero:
Hi.

Just a tip. Debug isnt complicated. Just attach the debugger(Visual Studio) to services.exe and you will be able to debug. Its a similar procedure to debug a today plugin (attaching to shell32.exe).....

Dani
[Windows Mobile Software Development] Soul_Est:
I have only done some ROM cooking (1 Pass/9 Fail) but I can say that this is a great topic especially once you deal with UI replacing or enhancing today plugins which consume memory like nothing else such as PointUI's Home 2 and HTC's Manila 2D. Software As A Service is the future!
[Windows Mobile Software Development] danielherrero:
Hi

After two days I managed to configure commmgrpro to run in dual mode, as a service or as a process. I thought It was going to much more difficult. If someone needs help please let me know.....

Dani
[Windows Mobile Software Development] NLS:
Well since I am beta testing the thing and works really well, I can only say "why didn't everybody do it like that already!" (i.e. for apps that it fits - read: programs that run all the time).

You even did it in record time and that option that switches it back to being a process... fantastic!

So people ask Danny for help, you can all do it!

(erm... I hope this didn't sound bad for Danny's programming skils hehehehe)
[Windows Mobile Software Development] joubertvasc:
Hi, congratulations!

Could you add some short tutorial explaining how to transform an app to service?

Regards,

Joubert
[Windows Mobile Software Development] Soul_Est:
I second that. Once I get better at C++ this would be quite good to know.
[Windows Mobile Software Development] danielherrero:
Sure

On monday I will give detailed explications. Basically

1) Your program lives attached to services.exe

2) You cant configure it to run on startup because it wont be signed (except if you ve certificate) so windows will refuse to load it with all the signed drivers and sservices. You ve to run a small program on startup (\windows\startup) that will load your service (ActivateService api)

3) Create some registry keys under HKLM\services defining your service(where is you dll, your pefix, description, order, etc).

4) You ve to create a DLL implementing 3 functions (init, uninit and iocontrol)

5) The key is the xxx_init method. You should create and launch a thread because that function should return quickly or services.exe will unload your service because you re a slow boy :P.

6) that thread should do what your WinMain function does. Generally will initialize your program and tipically loop to process windows messages (getMessager, TranslateMessage, DispatchMessage).

7) The uninit method should finish your program. Be careful to free all the memory allocated. In a normal program if you do memory leak on exit program windows will recover it. Here not. If you start/stop your services many times and you dont clean and destroy all your objects/heaps then services.exe will grow and grow.

Seach the function activateservice in msdn help. Its the door to a clear documentation about services. And of course, ask me what you need

Greetings

Dani
[Windows Mobile Software Development] NLS:
...we'll be waiting... :)
[Windows Mobile Software Development] danielherrero:
http://msdn.microsoft.com/en-us/library/ms938094.aspx

:)
[Windows Mobile Software Development] thx1200:
I heeded your call!

ReRemind: http://xdaforums.com/showthread.php?p=3532553

Notifies you by playing WAV periodically if you have missed calls, voicemails, or reminders awaiting your attention.

Implemented fully as a service.

Designed to replace apps like Best Reminder.

Oh, it's free too! :-) Very early alpha. Probably buggy. :-)
[Windows Mobile Software Development] addicus:
So as a user do we just use a cab file to implement the programs?
[Windows Mobile Software Development] NLS:
Thanks THX!

Addicus I don't understand you.
[Windows Mobile Software Development] NLS:
Since this thread led to a few programs that actually successfully turned to services, I bump this a bit (after 9 months), so that newcomer devs see this or older XDA devs remember. ;)
[Windows Mobile Software Development] Noonski:
I was just thinking about you, so good Bump, you helped me find your thread again.
[Windows Mobile Software Development] NLS:
:D :D :D

should I play a Lotto or something?

(or should you)
[Windows Mobile Software Development] TrashKalmar:
My experiences about services

Hi. I'd like to share with you about my experiences with services.

Now I'm developing anti-theft system (if interesting, it is here). Before I've started the development, I made some investigation. First, anti-theft system must have the following properties:

Invisibility. Stolen device will be most likely inspected by the theft, and all the suspicious software will be removed. It means that every anti-theft application that is implemented as exe and placed to \windows\startup folder will be most likely found and then killed. (I say about enough clever theft :) ).

Invincibility. WinCE platform does not implement the security management as WinNT does. Thats why every process may be killed (even gwes.exe and filesys.exe). Killing services.exe most likely will lead to device halt, so the service can not be terminated so easy.

Protection against unauthorized access. Independed UI (which may be removed when not needed) should exploite IO control codes as the gate to your service. And do not leave the back door. If your system is really valuable and interesting, one can reverse the protocol and create the killer for your service. Fantastic, but keep it in mind.

Service already has this properties, you need not implement it.

Second, your system's core and user interface must be separated. I think, it is obvious.

Third, the debugging of such a program is extremely hard. Yes, you can attach to services.exe and debug your service. But when you touch RIL and some other stuff, you have only one attempt to attach. The second one will fail with "Unable to attach" message. I don't know why, but I've seen this.

Workaround of that is to build debug version of your service as a simple dll, which is loaded by some loader. It simplifies the debugging but your service lose service's behaviour and you will often have a trouble: why the service fails, but as simple dll it works? :confused: I develop my system for 10 (!) months and for now it still is not completed.

I can jabber for a long time, so finishing. My conclusion is: you should implement your app as service only if it requires that. Forget about 32 proc limit, 10 user processes already hauls down the PDA. This is not worth the trouble.

This is my IMHO, thank you for attention :) And sorry for curly english.
[Windows Mobile Software Development] NLS:
Very interesting read. Thanks.
[Windows Mobile Software Development] Noonski:
Even for me, a non programmer it was indeed interesting reading, whish there where more interesting posts like these in Windows Mobile Software development.
[Windows Mobile Software Development] ajhvdb:
Did you write this from scrath or did you use some code as a base which you could extend. I'm very much interested in this so I would like to PM you about this. I'm a beginner and have seen a lot of code the last week, also examples from microsoft and all of them seem to fail depending on hardware and bugs in the OS.

Native code seems like the best solution but is very hard to understand.
[Windows Mobile Software Development] thx1200:
This is a really good bump.

It also reminded me to finish up my blog post for creating a Service project in Visual Studio 2008. The instructions on MSDN are for like Embedded Visual C++ 4.0 or whatever -- painfully out of date!
[Windows Mobile Software Development] hecksk:
I have started v0.3 with WM6.5.3 (28014) and it says "Keyboard Hook Failed".

Is it possible to fix?
[Windows Mobile Software Development] TrashKalmar:
The whole project is written in native C++ from scratch. Even front-end of service is in pure winapi (no mfc/atl/.net/qt...). Of course I've used MSDN as primary source of information about services. But again, it somewhere lies, and samples really do not working :(
[Windows Mobile Software Development] danielherrero:
Hi

I agree in most of your conclusions. Currently I am developing a new program, the new version of CommMgrPro. AS before the core can run as service or as a process. It isnt very complicated to to this and It allows you to run as a process when you want to debug and run as a service in rest of cases. I developed CommMgrPro frontend using Win32 API directly but this time I will use .NET. In this way I can use any of the free touch library outthere, including Manila SDK and other features as SQL Server CE, etc. To comunicate .NET frontEnd with Win32 service I am using MS Peer to Peer messages queues. This native feature is a beatiful system to comunicate process in async way.....

Dani
[Windows Mobile Software Development] NLS:
(maybe this thread should be sticky?)
[Windows Mobile Software Development] thx1200:
I agree!! How does one go about getting a thread stickied here?
[Windows Mobile Software Development] TehPenguin:
The Development and Hacking section has too many stickies, so now there is a Wiki page with the stickied links: http://wiki.xda-developers.com/index.php?pagename=XDA%20D%26H%20Wiki%20Page (And, since its a wiki page, anyone can edit it)
[Windows Mobile Software Development] khaytsus:
Yeah, this limitation blows, I'm constantly having programs "disappear" because of this limitation, although I can't be 100% sure that's the reason. I usually idle around 25 processes with my normal load of stuff on my Tilt 2, wish I knew what other crap I could get rid of in the startup. What bugs me most is that Flexmail is constantly exiting if I'm running multiple other things, like if I'm geocaching and have GCzII and Google Maps running, I'll see flexmail exit (red line at the bottom of the screen.. When FM is syncing, it's a blue line, when cleaning up/exiting, red line).. It doesn't just crash, it exits cleanly.

Ah well.
[Windows Mobile Software Development] thx1200:
If an application's primary window is hidden, WM will not close it during clean-up.

That said -- holy crap! 25 processes on boot? Even my TP's stock ROM only had 21 on boot. Since switching to Mighty, I have, I think, 18 on boot now, and that's with several processes launched at start, like MS3 and PocketShield.

WM starts to clean up processes once you pass 29, if I remember correctly (somebody correct me if I'm wrong). So if you hit 30, it will look for what it thinks is the "most stale" process and kills it. It doesn't wait until 32, that much I know.

Hopefully Windows Phone 7 will be based on CE6 (or newer) so we can get rid of this limit once and for all.
[Windows Mobile Software Development] Noonski:
Yeah i'm always amazed at the processes Some Junior Cooks leave in startup.

It's like they went from owning the phone straight to cooking with al these to easy made kitchens, without ever toying and tweaking their own device first..

Come on who needs btwake start as an .exe if this process gets started by Bluetooth Explorer anyway?.

There's only a small percentage of people that actually need and use SAP BT Contacts Syncing. At least i never heard anyone complain that it was disabled by default.

And now a days you even see HTC add a /Silent /Hidden parameter for the Comm manager which is redundant.

I cook, but i also flash some other roms. And i don't see this disabled by anyone. But i rarely dare to say anything about it as most will see it as some sort of atack when you try to give some advice.

There's plenty of Programs to kill by default so there would be enough slots to start other apps.

Even when WM7 comes out, there will still be plenty of devices that will have to live with these max process limitations.

Raising some awareness amongst some cooks could help. But having more apps that could just as easily be a service, would help.
[Windows Mobile Software Development] khaytsus:
Stock ROM + S2U2, Aerial Battery, few other things.. I think a hard-reset stock on the ATT rom is like 20. This isn't quite the thread, but since you guys seem to know this sort, any of these from \windows\startup I can get rid of?

BTTrayCE, DelWMPTempFolder, HTCStartUp, MessageCSPTool, PKG, VPortBoot.

I don't know of those which actually create processes which run, but any of them that can be gotten rid of safely?
[Windows Mobile Software Development] Noonski:
HTCStartUp & PKG can go without issues.

An maybe also DelWMPTempFolder.

The others are kind of new to me.
[Windows Mobile Software Development] NLS:
added in wiki - hope I put it in the proper section (I'd prefer Misc since it would be alone ;))...

...and edited my sig appropriately ;) this needs exposure
[Windows Mobile Software Development] Arktronic:
Noonski pointed me to this thread, suggesting that I make ArkSwitch a service. After researching it, I concluded that it is pointless for managed apps. My reasoning is summarized in this post. Just some food for thought :)
[Windows Mobile Software Development] NLS:
You reasoning is sound.

Indeed managed code and apps that still need an always on front-end (as opposed to a front-end just for configuration for an app that needs to run all the time) are not the best candidates as services.

I wish my whole thread becomes a fossil in a year or so - and not because WM is dead :D but because WM7 will lift the limitations posed by WinCE 5.X. Of course pre-WM7 devices will still need to be considered (for a few years).
[Windows Mobile Software Development] danielherrero:
In my opinion the best idea is to join the benefits of both worlds.

1) C/C++ Wint32 core as service. Fast, small, powerful

2) C#/VB .NET CF front end (GUI). Can use .NET touch frienly libraries

3) Both parts talk using MS Queue (or IOControl for synchronous calls. In this way the system is decoupled and you cant replace the GUI easily and allowing skins developed quickly

Dani
[Windows Mobile Software Development] NLS:
As Daniel said (after researching the subject much). ;)

(btw Danny you mean "can" not "cant")
[Windows Mobile Software Development] danielherrero:
hehehe, yes, yes, CANT :P
[Windows Mobile Software Development] Arktronic:
On the desktop, such a split would certainly be ideal, as would some categories of mobile apps. However, for an app that runs in the background most of the time, but needs to display fast once activated, using such an approach doesn't work, because .NET CF apps start up really slowly.