Winamp & Shoutcast Forums

Winamp & Shoutcast Forums (http://forums.winamp.com/index.php)
-   NSIS Discussion (http://forums.winamp.com/forumdisplay.php?f=65)
-   -   NSIS can't remove NSIS created registry key (http://forums.winamp.com/showthread.php?t=284357)

zgy88c 4th January 2008 08:25

NSIS can't remove NSIS created registry key
 
I have an NSIS installer that creates a registry key, such that when ActiveSync sees a device cradled, it automatically starts my application.

The creation of the key works fine (as does the ActiveSync function), but on Un-Install, the registry key is not removed.

All other registry entries created can be deleted without issue.

Any help much appreciated.



So from my "post" section:

Section "-post"
; Create the ActiveSync key so our app starts when the device is cradled
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows CE Services\AutoStartOnConnect" "${appname}" "$INSTDIR\${exe}"


And my Uninstall section:

Section "Uninstall"

; Delete the ActiveSync key so our app wont start when the device is cradled
DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows CE Services\AutoStartOnConnect\${appname}"

Afrow UK 4th January 2008 09:55

What happens if you try and delete it yourself through Regedit? What is ${appname} set to?

Stu

zgy88c 4th January 2008 10:19

Quote:

Originally posted by Afrow UK
What happens if you try and delete it yourself through Regedit?
What is ${appname} set to?

With regedit it just deletes, no permission problems.

${appname} = Device Integration Service

I just changed it to have no spaces, it made no difference.

Afrow UK 4th January 2008 10:28

What happens if you delete it from your install section after creating it?

Just to confirm, ${appname} is a constant and doesn't contain a variable with its value set to Device Integration Service.

Stu

zgy88c 4th January 2008 11:37

Quote:

Originally posted by Afrow UK
What happens if you delete it from your install section after creating it?

Just to confirm, ${appname} is a constant and doesn't contain a variable with its value set to Device Integration Service.

Stu

If I put the delete immeadiately after the create in the install section, the key is still not deleted.

${appname} is a constant -
!define appname "Device Integration Service"

kichik 4th January 2008 11:44

Vista?

zgy88c 4th January 2008 11:49

Quote:

Originally posted by kichik
Vista?
XP Professional + SP2

kichik 4th January 2008 12:02

You're trying to delete a registry value as a key. Use DeleteRegValue.

Afrow UK 4th January 2008 12:12

Well spotted lol

Stu

zgy88c 4th January 2008 12:38

Quote:

Originally posted by kichik
You're trying to delete a registry value as a key. Use DeleteRegValue.
That was it! Many thanks.

FWIW: RegMon (http://www.microsoft.com/germany/tec...es/Regmon.mspx)
helped tracing the reads & writes.

I was just about to post a screen-shot of it creating the key,
then failing to find the key on the next command - the delete.

Thanks again!


All times are GMT. The time now is 04:30.

Copyright © 1999 - 2010 Nullsoft. All Rights Reserved.