a-nlewis
Fri May 27 13:42:07 CDT 2005
------=_NextPart_0001_BDC80EAD
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Hello Joseph,
I agree - that documentation is pretty hard to follow. First, yes it is
referring to the registry on the desktop. The idea is that you would
create a desktop-to-device install program, and point the INI file to the
uninstaller used to remove the application from the desktop.
For example, let's consider what happens when you install a typical desktop
application. Not only does the setup program install the application, it
also adds an entry in the Control Panel Add / Remove Programs applet to let
you un-install it, right? Well, the way that is done is by creating a
registry entry something like:
[HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\YourAppName]
"UninstallString"="C:\Windows\UNINST.EXE C:\Program
Files\YourAppName\YourAppName.log"
So when you click "Remove" in the Control Panel to remove the program,
Windows just reads the registry entry to find the uninstall string the
setup program provided, and calls that to uninstall the program. So to get
this functionality to work within the Windows CE Application Manager, you
would need to set the "Uninstall" entry to the name of the key created by
the setup program - which, in this case, would be "YourAppName".
Regarding your question as to whether or not the Uninstall key is relevant,
the answer is probably yes. After all, you have installed a set of CAB
files and an INI file, right? Wouldn't you, as an end user, like to be
able to automatically remove those files from your desktop PC once you no
longer need them? And it's a lot easier for Average Joe User to remove
them using the Control Panel than by hunting through Windows Explorer
looking for them. And it's easier still if they can tell from the
Application Manager window that there are Windows CE -specific setup files
that can be removed, along with a description of what they are.
Long story short, this is actually a pretty handy feature for the end user,
so I'd recommend that you go ahead and use it. Just set the "Uninstall"
key to the same name that your setup program registers itself with, and you
should be good to go.
I hope this helps!
---
Nathan Lewis
Microsoft Mobile and Embedded Devices Developer Support
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
From: "Joseph Bruno" <nobody@nothing.com>
Subject: CeAppManager and Uninstall key
I'm bewildered by the documentation at
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcesetup/ht
ml/_wcesdk_Creating_an_ini_File_for_the_Application_Manager.asp
This states that "the name must match the application's registered Windows
Uninstall key name, which is found in the
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall registry key".
Now there is of course no such thing as **the**
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall registry key,
because we are talking about two different Registries here - one on the
desktop computer and one on the handheld.
Can anyone un-bewilder me? I'm inclining towards the idea that this refers
to the desktop registry but I'm not absolutely sure, and without an
explicit
description of what program uses this value, when, and what for, it's hard
to be sure.
To clarify: I'm looking at a model where people download a setup program
which unpacks the .cab and .ini files into a temporary directory, runs
CeAppManager, and deletes the temporary files that it created. In this
scenario, therefore, I suppose that there will be nothing permanent on the
desktop PC and so the value of the Uninstall key won't be relevant. Am I
right?
An alternative would be for the downloaded setup program to unpack the .cab
and .ini files and store them somewhere permanent, to allow for multiple
installations etc. In that case I *imagine* that I should provide an
uninstaller program for the .cab/.ini combination just as I would for
anything else that I installed in Windows. Is this correct? The result
would
be that the .cab/.ini combination would appear in the desktop's Settings >
Add/Remove Programs list, just like any other installed program. Is this
correct also?
------=_NextPart_0001_BDC80EAD
Content-Type: text/x-rtf
Content-Transfer-Encoding: 7bit
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fprq2\fcharset0 MS Sans Serif;}}
\viewkind4\uc1\pard\f0\fs20 Hello Joseph,
\par
\par I agree - that documentation is pretty hard to follow. First, yes it is referring to the registry on the desktop. The idea is that you would create a desktop-to-device install program, and point the INI file to the uninstaller used to remove the application from the desktop.
\par
\par For example, let's consider what happens when you install a typical desktop application. Not only does the setup program install the application, it also adds an entry in the Control Panel Add / Remove Programs applet to let you un-install it, right? Well, the way that is done is by creating a registry entry something like:
\par
\par [HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\YourAppName]
\par "UninstallString"="C:\\Windows\\UNINST.EXE C:\\Program Files\\YourAppName\\YourAppName.log"
\par
\par So when you click "Remove" in the Control Panel to remove the program, Windows just reads the registry entry to find the uninstall string the setup program provided, and calls that to uninstall the program. So to get this functionality to work within the Windows CE Application Manager, you would need to set the "Uninstall" entry to the name of the key created by the setup program - which, in this case, would be "YourAppName".
\par
\par Regarding your question as to whether or not the Uninstall key is relevant, the answer is probably yes. After all, you have installed a set of CAB files and an INI file, right? Wouldn't you, as an end user, like to be able to automatically remove those files from your desktop PC once you no longer need them? And it's a lot easier for Average Joe User to remove them using the Control Panel than by hunting through Windows Explorer looking for them. And it's easier still if they can tell from the Application Manager window that there are Windows CE -specific setup files that can be removed, along with a description of what they are.
\par
\par Long story short, this is actually a pretty handy feature for the end user, so I'd recommend that you go ahead and use it. Just set the "Uninstall" key to the same name that your setup program registers itself with, and you should be good to go.
\par
\par I hope this helps!
\par
\par
\par ---
\par
\par Nathan Lewis
\par Microsoft Mobile and Embedded Devices Developer Support
\par
\par This posting is provided "AS IS" with no warranties, and confers no rights.
\par
\par
\par
\par \pard\li720 --------------------
\par From: "Joseph Bruno" <nobody@nothing.com>
\par Subject: CeAppManager and Uninstall key
\par
\par I'm bewildered by the documentation at
\par
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcesetup/html/_wcesdk_Creating_an_ini_File_for_the_Application_Manager.asp
\par
\par This states that "the name must match the application's registered Windows
\par Uninstall key name, which is found in the
\par HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall registry key".
\par
\par Now there is of course no such thing as **the**
\par HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall registry key,
\par because we are talking about two different Registries here - one on the
\par desktop computer and one on the handheld.
\par
\par Can anyone un-bewilder me? I'm inclining towards the idea that this refers
\par to the desktop registry but I'm not absolutely sure, and without an explicit
\par description of what program uses this value, when, and what for, it's hard
\par to be sure.
\par
\par To clarify: I'm looking at a model where people download a setup program
\par which unpacks the .cab and .ini files into a temporary directory, runs
\par CeAppManager, and deletes the temporary files that it created. In this
\par scenario, therefore, I suppose that there will be nothing permanent on the
\par desktop PC and so the value of the Uninstall key won't be relevant. Am I
\par right?
\par
\par An alternative would be for the downloaded setup program to unpack the .cab
\par and .ini files and store them somewhere permanent, to allow for multiple
\par installations etc. In that case I *imagine* that I should provide an
\par uninstaller program for the .cab/.ini combination just as I would for
\par anything else that I installed in Windows. Is this correct? The result would
\par be that the .cab/.ini combination would appear in the desktop's Settings >
\par Add/Remove Programs list, just like any other installed program. Is this
\par correct also?
\par
\par
\par \pard
\par
\par }
------=_NextPart_0001_BDC80EAD--