![]() |
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}" |
What happens if you try and delete it yourself through Regedit? What is ${appname} set to?
Stu |
Quote:
${appname} = Device Integration Service I just changed it to have no spaces, it made no difference. |
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 |
Quote:
${appname} is a constant - !define appname "Device Integration Service" |
Vista?
|
Quote:
|
You're trying to delete a registry value as a key. Use DeleteRegValue.
|
Well spotted lol
Stu |
Quote:
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.