Log in

View Full Version : The New Windows Mobile 5 Application Installation Routine


Jason Dunn
09-30-2005, 06:00 PM
One of the changes in Windows Mobile 5 that you'll notice right away when you install a program is how it deals with device security and the location of installed files. Since April of 2000, it's been a huge pain point with Pocket PC users that in order to get an application installed onto your memory card you have to click "No" to the desktop ActiveSync question of "Install to default location?". There's nothing intuitive about that question, and as such most new users tend to go hunting for the solution to how they get programs installed onto a memory card instead of precious main RAM.<br /><br />Windows Mobile 5 solves this issue in two ways. The first is that it's not longer possible to install programs into RAM - everything goes into the Flash ROM area. This was a side effect of moving to the persistent storage model.<!> The intentional solution to this problem comes from porting the install routine from the Smartphone world (like so much of Windows Mobile 5). When you start an installation on your desktop PC, ActiveSync will no longer prompt you for where to install the software - it just runs. I'll discuss the rest of the process in a series of four images.<br /><br /><img src="http://www.pocketpcthoughts.com/images/web/2003/unknown-file-error-001.gif" /><br /><i>Figure 1: Some programs will trigger a security warning like this. I've only seen it once, so I'm not sure how PDAmill's install routine is different from what other developers do, but it's nice that Windows Mobile 5 prompts the user with this security warning instead of just executing.</i><br /><br /><img src="http://www.pocketpcthoughts.com/images/web/2003/unknown-file-error-002.gif" /><br /><i>Figure 2: This is what you'll see in almost every case when installing a program. Windows Mobile 5 gives this generic security warning, though it may not if the application is fully signed and coming from your mobile phone carrier.</i><br /><br /><img src="http://www.pocketpcthoughts.com/images/web/2003/unknown-file-error-003.gif" /><br /><i>Figure 3: Once you approve the installation of the application, you can then chose a location for it to install. This screenshot was taken on a Dell Axim X51v with a CF card, so the options showing are Device (Flash ROM) and CF Card. If I had an SD card in the X51v, it would have shown up here as well. I believe this screen comes up for any type of install routine, including CAB installs, which allows the user much greater control over managing their storage. Great!</i><br /><br /><img src="http://www.pocketpcthoughts.com/images/web/2003/unknown-file-error-004.gif" /><br /><i>Figure 4: The last step seems largely unnecessary, but I suppose it's beneficial to tell the user that the application is fully installed, and how they can reclaim storage space by uninstalling it.</i><br /><br />Overall, this new method for managing program install locations is much-improved over the previous method, and should result in less devices running into the problem of running out of storage space. Now if only Microsoft would add a way to limit the cache on Pocket Internet Explorer...

Julio
09-30-2005, 06:16 PM
Thank goodness! this is good news. Every person that I helped initiate into the PPC world had this confusion. Some of them are still confused.

And persistent storage is such a good idea. I have a couple of non-techie friends who have PPCs and who occasionally have a hard reset because their battery ran out. They don't understand why their PPC loses its data - after all, their cell phones don't lose data in the same situation.

I am going to encourage everyone to upgrade.

Julio

ctitanic
09-30-2005, 06:57 PM
The warning that you are getting with that DLL is because that dll is being registered as a system/share dll.

Jason are you aware of this other problem:

http://www.pocketnow.com/index.php?a=portal_detail&amp;t=reviews&amp;id=702

Currently Dell uses a Security Prompt every time you run an application:

http://www.pocketnow.com/html/portal/reviews/0000000702/ReviewNewsImage/3s.jpg

When you approve the application it seems like the resource file (MUI) from that application is not being approved and as result the EXE can't use it. If you disable that Security Prompt (something that can't be done unless you change a registry key) your executable can see and use the MUI file freely.

KTamas
09-30-2005, 07:11 PM
Nice overview :)
You might want to mention when you install a newer version of a program, instead of overwriting it, it actually uninstalls the older version, then it installs the new one (and of course asks where to install it; it is a good thing that it does not assume that you want to install the new version to the same place), instead of just overwriting one. It is a nice feature too.

dannyl
09-30-2005, 07:25 PM
That's nice, but still it doesn't allow you to specify a path other than "device" and "CF card"? I'd like more flexibility like install into "\SD card\programs\utils" rather than the root. Oh well we still have cabinstl. Do we?

Mike Dimmick
09-30-2005, 07:53 PM
Actually I suspect PDAmill are using a setup DLL (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcesetup/html/_wcesdk_Using_Installation_Functions_in_Setupdll.asp?frame=true), which provides the ability to customise the setup process beyond what the cabinet file script allows. For example, we selectively install device-specific components.

kzgrey
09-30-2005, 08:03 PM
IE Mobile Cache is Configurable via the Registry.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceinternet5/html/wce50conWinInetRegistrySettings.asp

disconnected
09-30-2005, 08:22 PM
If it uninstalls older versions instead of overwriting them, does that mean it loses things like registration keys and settings?

jglev
09-30-2005, 08:50 PM
That's nice, but still it doesn't allow you to specify a path other than "device" and "CF card"? I'd like more flexibility like install into "\SD card\programs\utils" rather than the root. Oh well we still have cabinstl. Do we?

While you can't specify a directory, the default directory on the card is \programs. WM5 puts a program directory on the card just as there is one in main memory. It also puts a /my documents folder on the card as well. Nothing seems to get installed into the root directory of the card.

bbarker
09-30-2005, 09:38 PM
That's nice, but still it doesn't allow you to specify a path other than "device" and "CF card"? I'd like more flexibility like install into "\SD card\programs\utils" rather than the root. Oh well we still have cabinstl. Do we?

While you can't specify a directory, the default directory on the card is \programs. WM5 puts a program directory on the card just as there is one in main memory. It also puts a /my documents folder on the card as well. Nothing seems to get installed into the root directory of the card.
That's great news.

bbarker
09-30-2005, 09:42 PM
Nice article Jason. Very helpful.

http://www.pocketpcthoughts.com/images/web/2003/unknown-file-error-003.gif
Figure 3: Once you approve the installation of the application, you can then chose a location for it to install. This screenshot was taken on a Dell Axim X51v with a CF card, so the options showing are Device (Flash ROM) and CF Card. If I had an SD card in the X51v, it would have shown up here as well. I believe this screen comes up for any type of install routine, including CAB installs, which allows the user much greater control over managing their storage. Great!
Does it also tell how much space is available on a CF or SD card during installation? That would be a big improvement.

dannyl
09-30-2005, 09:50 PM
Oh, thanks for clarifying. Coolio. Thats all I ask from the installation. :)

jglev
09-30-2005, 10:14 PM
Does it also tell how much space is available on a CF or SD card during installation? That would be a big improvement.

Yes. When you change the tick box from the device to the card, it then tells you how much space is available on the card as well as how much space you need to install it.

CookieKid
10-01-2005, 03:19 AM
Hmmm...for those of us who has 128MB of RAM, what can we use it for? 8O

aNiMeMaN14
10-01-2005, 03:44 AM
well this suddenly makes me want a WM5 upgrade for my Jam!! damn it!

Jason Lee
10-01-2005, 05:33 AM
Hmmm...for those of us who has 128MB of RAM, what can we use it for? 8O

you'll be able to run lots of programs at a time. or big programs. :)

Jason Dunn
10-01-2005, 06:47 AM
Hmmm...for those of us who has 128MB of RAM, what can we use it for? 8O

Reeeeeealy big GPS maps or editing 15 MP images. ;-)

Duncan
10-02-2005, 08:38 AM
Hmmm...for those of us who has 128MB of RAM, what can we use it for? 8O

I know the Loox 718/720 will have a RAMDisk as part of its WM5.0 upgrade. You don't have to use it but if installed it will offer another possible installation place and one that, if you are fairly confident about being able to keep your RAM powered, will be considerably faster than any other storage - potentially useful for some things.

halljames
10-03-2005, 08:49 AM
My iMate JASJAR has yet to give me any security warning when installing applications or running them. This security feature must be something that can be turned off by the OEM manaacturer.

halljames
10-04-2005, 12:17 PM
Just installed the latest JASJAR ROM update, and now it does give me the warning when installing software :roll:

Jason Dunn
10-04-2005, 04:08 PM
Just installed the latest JASJAR ROM update, and now it does give me the warning when installing software :roll:

Don't you just love progress? ;-) The warning should be one-time only, so it's not a big deal.