![]() |
#1 |
Junior Member
Join Date: Jul 2011
Posts: 49
|
![]()
Hey guys.. first time posting here.. but i have been browsing these forums for quite some time.
I am a huge fan/user of NSIS. While many have converted to PAF, i faithfully am sticking by. I have successfully compiled many Portable Launchers for my apps. and have run into many problems, but always found an answer by trial & error/research. Until now: i have been frustrated for many weeks now. Problem: i can't seem to delete legacy registry keys. My OS: Win7/64 I have tried Access::Control plugin without success. The problem is the key can only be deleted under 'System'. Anyone have any ideas? Thanks in advance |
![]() |
![]() |
![]() |
#2 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,548
|
NSIS has no support for running things as System, if you want to do that you need to call a utility like psexec or use a service.
Did you take ownership of the key with AccessControl::SetRegKeyOwner before changing the ACL as admin? Did you check with Process Monitor to make sure this is a access denied issue? Are you using SetRegView? IntOp $PostCount $PostCount + 1 |
![]() |
![]() |
![]() |
#3 |
Junior Member
Join Date: Jul 2011
Posts: 49
|
|
![]() |
![]() |
![]() |
#4 | |
Junior Member
Join Date: Jul 2011
Posts: 49
|
Quote:
hey Anders, thanks for mentioning PsExec.. that's what im using to delete legacy keys .. however.. i have seen apps use AccessControl to delete legacy keys, but when i run those apps on my computer.. it doesn't work. i have also ran into SetACL, which in it's documentation, says: "can be used to delete those pesky legacy keys". neither of which works.. and yes.. i tried setregview, SetRegKeyOwner first, etc.. on my computer.. legacy keys are registered to "System". is this the case just for Windows 7? i have been looking into this for quite a while and it seems im the only one who seems to have a problem deleting legacy keys. i can use PsExec.. but if i could find an alternative.. it would be better.. as PsExec scares people.. they think im trying to "secretly take over" their computers.. lol. thanks for any other suggestions/tips. |
|
![]() |
![]() |
![]() |
#5 | |
Major Dude
Join Date: May 2003
Posts: 681
|
Quote:
|
|
![]() |
![]() |
![]() |
#6 |
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
You will have to write a Windows service in C then. This can be created, executed and then deleted using a services plug-in such as SimpleSC.
Stu |
![]() |
![]() |
![]() |
#7 | |
Junior Member
Join Date: Jul 2011
Posts: 49
|
Quote:
i was able to figure it out using Access::Control. my syntax was incorrect. although.. i wish there was a /r (recursive) switch. it would save a lot of coding. |
|
![]() |
![]() |
![]() |
|
Tags |
64bit, drivers, legacy, nsis, win7 |
Thread Tools | Search this Thread |
Display Modes | |
|
|