Comm@nder21
6th November 2005 16:50 UTC
Add/Remove Programm registry information
i revisited chapter D.2 Add uninstall information to Add/Remove Programs from NSIS manual and added more information i found in my registry :)
so this is the new sheet:
Required values
DisplayName (string) - Name of the application
UninstallString (string) - Path and filename of the uninstaller. You should always quote the path to make sure spaces in the path will not disrupt Windows to find the uninstaller.
Optional values
Some of the following values will not be used by older Windows versions.
InstallLocation (string) - Installation directory ($INSTDIR)
InstallSource (string) - Location where the application was installed from
InstallDate (string) - Date on which the installation took place, format: YYYYMMDD (maybe based on OS localisation)
DisplayIcon (string) - Path, filename and index of the icon that will be displayed next to your application name
DisplayVersion (string) - Displayed version of the application
EstimatedSize (DWORD) - Size whitch the application uses on the harddrive
Publisher (string) - (Company) name of the publisher
Contact (string) - Contact information
ProductID (string) - Product ID of the application
Comments (string) - Comments that will be shown under "Support Information"
Readme (string) - Readme in plaintext or as URL (file://C:\readme.txt is a valid URL)
Language (DWORD) - Language ID of the programm, same as in NSIS
ModifyPath (string) - Path and filename of the application modify program
RepairPath (string) - Path and filename of the application repair program
RegOwner (string) - Registered owner of the application
RegCompany (string) - Registered company of the application
HelpLink (string) - Link to the support website
HelpTelephone (string) - Telephone number for support
URLUpdateInfo (string) - Link to the website for application updates
URLInfoAbout (string) - Link to the application home page
Version (DWORD) - Version number of the application
VersionMajor (DWORD) - Major version number of the application
VersionMinor (DWORD) - Minor version number of the application
NoModify (DWORD) - 1 if uninstaller has no option to modify the installed application
NoRepair (DWORD) - 1 if the uninstaller has no option to repair the installation
Note: If both NoModify and NoRepair are set to 1 and ModifyPath is set, the button displays "Remove" instead of "Modify/Remove".
Patches only:
(requires WinXP SP2 or Win2003 SP1 or greater)
ParentDisplayName (string) - Name of application which is patched by this one
ParentKeyName (string) - Name of key this one is a child of
Note: If both ParentDisplayName and ParentKeyName are set, the application is hidden as long as "Show Updates" is unchecked in the Add/Remove dialog.
Animaether
6th November 2005 19:26 UTC
With regards to EstimatedSize, could you review the following Talk: page ?
http://nsis.sourceforge.net/Talk:Add...emove_Programs
by the way, typo in the descriptions: "whitch" = "which"
deguix
7th November 2005 04:00 UTC
Next time, Animaether, start discussions in the forum, not in the wiki. You know the wiki is not good for the purpose of posting messages. I'll quote the question here and delete that talk page.
Originally posted by Animaether
[The "Add uninstall information to Add/Remove Programs" wiki page] unfortunately doesn't cover setting the application size for the Add/Remove programs dialog. This size is reported on the Add/Remove programs page and can be used to sort by size, for example. If not supplied, you may see such magical sizes as 500GB for a 2MB program.
I found the following information:
The first is to set the EstimatedSize key to a hex value representing your application's size in bytes;
WriteRegDWORD ROOT_KEY "UNINSTKEY" "EstimatedSize" 0x002625A0 ; 2.5MB in hex
However, from the page I got it from, it becomes clear that Windows may just pick a size willy-nilly due to it 'finding' your application elsewhere (i.e. not your application!)
http://blogs.msdn.com/oldnewthing/ar...09/178342.aspx
This is partially due to the A(dd) R(emove) P(rograms) cache.
So the second is that ARP cache information should be written to as well :
http://forums.winamp.com/showthread....=estimatedsize
However, from that thread it is evident that you need a plugin and some pretty nasty manual coding to get it to work - assuming it works at all as the thread doesn't say.
Any thoughts on handling this properly ?
Animaether
7th November 2005 04:14 UTC
Yeah, I added it there because...
1. I was new here %)
and
2. Typically, that's what a wiki's Discussion/Talk page is for - discussing that particular wiki page ;)
also
3. There didn't appear to -be- any thread on these forums dealing with add/remove programs information as far as displaying the size of the installation goes :)
Thanks for the move, though :)
Comm@nder21
8th November 2005 14:28 UTC
*up*
is this going to be included in the official docs, or should i rather create a wiki page?
kichik
8th November 2005 19:54 UTC
Can you please attach that as a patch to Docs\src\usefulinfos.but?
deguix
8th November 2005 21:05 UTC
2. Typically, that's what a wiki's Discussion/Talk page is for - discussing that particular wiki page
Well, ok. Maybe I should have left that page intact then. But people don't usually watch the recent changes page in the wiki. Also, wiki is too poor when organizing who posted what, even when you put your name: anyone could edit someone else's question, which is not good at all, in my opinion.
Maybe a rating system should be set up in the future so that people wouldn't have their comments edited by someone else, except by a sysop user.
stb
10th November 2005 10:36 UTC
Regarding the "new" keys:
Are these Microsoft keys? I mean, are they used (maybe in future) by Windows? I did some research myself some time ago and added a few more info than could be found in MSDN to the Uninstall section. But many installers add there own keys, and this is what I want to avoid.
So what about RepairPath, Version*, ProductID and Reg*?
And: InstallSource and Language seem to be used by Microsoft and many others, but are they evaluated by something else than Uninstallers?
And: QuietUninstallString may be useful, too.