![]() |
#121 |
Junior Member
Join Date: Nov 2007
Posts: 3
|
Hello
I don't if you also have the same problem, but with the version 3.4 of the registry plugin, the program I have made does not work anymore. It's craching every time I try to launch it. If I put the version 3.3 of the plugin back, my program works fine. Does anyone have the same issue ? Antoine. |
![]() |
![]() |
![]() |
#122 |
Major Dude
Join Date: Jul 2004
Posts: 671
|
What code cause crashing?
|
![]() |
![]() |
![]() |
#123 |
Junior Member
Join Date: Nov 2007
Posts: 3
|
Hello !
Here is the code. It is like a cleaner for the registry It is looking for some value and delete them. ; Un nettoyeur de Registre pour la HLU ; C'est le BON ; 4 itérations pour Safenet, une seule pour les autres ; V1.0 : safenet, ireike, cosine, ipsecdrv et ipsecmon ; V1.1 : safenet, ireike, cosine, ipsecdrv, ipsecmon et ipsec dial client ; V1.2 : Av ec le nouvel environnement ;-------------------------------- ; Ne fonctionne pas avec la V3.4 de Registry ; Donc c'est la v3.3 qu'il faut mettre pour le moment !include "UMUI.nsh" !include "Registry.nsh" !include "Sections.nsh" VAR Reg VAR Chemin VAR Motclef VAR Iteration VAR Go XPStyle on ; The name of the installer Name "Registry Cleaner v1.2" ; The file to write OutFile "Registry.Cleaner.v1.2.exe" BrandingText "NSIS - Créé par Antoine SOUBIGOU" ;-------------------------------- ; Show details ShowInstDetails show ;-------------------------------- ;Interface Settings !define MUI_ABORTWARNING ; !define MUI_HEADERIMAGE ;!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\orange.bmp" ; optional ;-------------------------------- ;-------------------------------- ;-------------------------------- ; Pages ;-------------------------------- ;-------------------------------- ;-------------------------------- ; D:\Program Files\NSIS\Contrib\Modern UI\ioSpecial.ini ; Fichier modifié pour voir tout le titre ; ligne 1235 pour espacer les lignes !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH ;-------------------------------- ;Languages !insertmacro MUI_LANGUAGE "French" ; !insertmacro MUI_LANGUAGE "English" ;-------------------------------- ;-------------------------------- ; Installation de drivers cartes 3G ;-------------------------------- ;-------------------------------- Section "Suppression des répertoires" Info1 ; Cette option permet de griser une case pour obliger l'installation SectionIn RO ReadRegStr $9 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\" "ProgramFilesDir" DetailPrint "Suppression des répertoires sous $9" RMDir /r "$9\Cosine Communication" RMDir /r "$9\Safenet" SectionEnd Section "Recherche des mots clef dans le Registre" Info2 StrCpy $Go "1" ; Cette option permet de griser une case pour obliger l'installation SectionIn RO GetTempFileName $R0 FileOpen $R1 $R0 w ; On Commencera avec le mot Safenet StrCpy $Motclef "safenet" ; On fera la vérification sur Safenet QUATRE fois ! ... On l'initialise Ã_ 1 StrCpy $Iteration "1" Depart: FileWrite $R1 'Liste des clés de registre incluant la chaîne $Motclef$\r$\n' ; Si on est sur safenet, Alors on a une chaine de caractères différente StrCmp $Motclef "safenet" +1 +3 DetailPrint "Lancement du nettoyage de $Motclef dans la base de Registre..... Itération $Iteration sur 4....." Goto Suite DetailPrint "Lancement du nettoyage de $Motclef dans la base de Registre....." Suite: FileWrite $R1 '$\r$\nHKEY_CLASSES_ROOT$\r$\n$\r$\n' StrCpy $Chemin "HKCR" StrCpy $Reg "1" ${registry::Open} "HKEY_CLASSES_ROOT" "/K=1 /V=1 /S=1 /B=1 /NI='$Motclef'" $0 ; Si c'est bon, on commence la loop, sinon on arrete tout StrCmp $0 0 +1 loop MessageBox MB_OK "Error" IDOK close Coin2: FileWrite $R1 '$\r$\nHKEY_CURRENT_USER$\r$\n$\r$\n' StrCpy $Chemin "HKCU" StrCpy $Reg "2" ${registry::Open} "HKEY_CURRENT_USER" "/K=1 /V=1 /S=1 /B=1 /NI='$Motclef'" $0 StrCmp $0 0 0 loop MessageBox MB_OK "Error" IDOK close Coin3: FileWrite $R1 '$\r$\nHKEY_LOCAL_MACHINE$\r$\n$\r$\n' StrCpy $Chemin "HKLM" StrCpy $Reg "3" ${registry::Open} "HKEY_LOCAL_MACHINE" "/K=1 /V=1 /S=1 /B=1 /NI='$Motclef'" $0 StrCmp $0 0 0 loop MessageBox MB_OK "Error" IDOK close Coin4: FileWrite $R1 '$\r$\nHKEY_USERS$\r$\n$\r$\n' StrCpy $Chemin "HKU" StrCpy $Reg "4" ${registry::Open} "HKEY_USERS" "/K=1 /V=1 /S=1 /B=1 /NI='$Motclef'" $0 StrCmp $0 0 0 loop MessageBox MB_OK "Error" IDOK close Coin5: FileWrite $R1 '$\r$\nHKEY_CURRENT_CONFIG$\r$\n$\r$\n' StrCpy $Chemin "HKCC" StrCpy $Reg "5" ${registry::Open} "HKEY_CURRENT_CONFIG" "/K=1 /V=1 /S=1 /B=1 /NI='$Motclef'" $0 StrCmp $0 0 0 loop MessageBox MB_OK "Error" IDOK close loop: ${registry::Find} "$0" $1 $2 $3 $4 StrCmp $4 '' check StrCmp $Chemin 'HKCR' HKCRloop +1 StrCmp $Chemin 'HKCU' HKCUloop +1 StrCmp $Chemin 'HKLM' HKLMloop +1 StrCmp $Chemin 'HKU' HKUloop +1 StrCmp $Chemin 'HKCC' HKCCloop HKCRloop: StrCmp $4 'REG_KEY' 0 Value1 StrCmp $Go "0" +4 DeleteRegKey HKCR "$1\$2" DetailPrint "Key HKCR\$1\$2 detected" FileWrite $R1 'Delete Key : "$Chemin - $1\$2" $\r$\n' goto loop Value1: StrCmp $Go "0" +4 DeleteRegValue HKCR "$1" "$2" DetailPrint "Value HKCR\$1 '$2' detected" FileWrite $R1 'Delete Value. Chemin : "$Chemin\$1" et la valeur : "$2" $\r$\n' goto loop HKCUloop: StrCmp $4 'REG_KEY' 0 Value2 StrCmp $Go "0" +4 DeleteRegKey HKCU "$1\$2" DetailPrint "Key HKCU\$1\$2 detected" FileWrite $R1 'Delete Key : "$Chemin - $1\$2" $\r$\n' goto loop Value2: StrCmp $Go "0" +4 DeleteRegValue HKCU "$1" "$2" DetailPrint "Value HKCU\$1 '$2' detected" FileWrite $R1 'Delete Value. Chemin : "$Chemin\$1" et la valeur : "$2" $\r$\n' goto loop HKLMloop: StrCmp $4 'REG_KEY' 0 Value3 StrCmp $Go "0" +4 DeleteRegKey HKLM "$1\$2" DetailPrint "Key HKLM\$1\$2 detected" FileWrite $R1 'Delete Key : "$Chemin - $1\$2" $\r$\n' goto loop Value3: StrCmp $Go "0" +4 DeleteRegValue HKLM "$1" "$2" DetailPrint "Value HKLM\$1 '$2' detected" FileWrite $R1 'Delete Value. Chemin : "$Chemin\$1" et la valeur : "$2" $\r$\n' goto loop HKUloop: StrCmp $4 'REG_KEY' 0 Value4 StrCmp $Go "0" +4 DeleteRegKey HKU "$1\$2" DetailPrint "Key HKU\$1\$2 detected" FileWrite $R1 'Delete Key : "$Chemin - $1\$2" $\r$\n' goto loop Value4: StrCmp $Go "0" +4 DeleteRegValue HKU "$1" "$2" DetailPrint "Value HKU\$1 '$2' detected" FileWrite $R1 'Delete Value. Chemin : "$Chemin\$1" et la valeur : "$2" $\r$\n' goto loop HKCCloop: StrCmp $4 'REG_KEY' 0 Value5 StrCmp $Go "0" +4 DeleteRegKey HKCC "$1\$2" DetailPrint "Key HKCC\$1\$2 detected" FileWrite $R1 'Delete Key : "$Chemin - $1\$2" $\r$\n' goto loop Value5: StrCmp $Go "0" +4 DeleteRegValue HKCC "$1" "$2" DetailPrint "Value HKCC\$1 '$2' detected" FileWrite $R1 'Delete Value. Chemin : "$Chemin\$1" et la valeur : "$2" $\r$\n' goto loop Check: StrCmp $Reg "1" +5 StrCmp $Reg "2" +5 StrCmp $Reg "3" +5 StrCmp $Reg "4" +5 StrCmp $Reg "5" check2 goto Coin2 goto Coin3 goto Coin4 goto Coin5 Check2: StrCmp $Motclef "safenet" Safenetiteration StrCmp $Motclef "ireike" Ireikechange StrCmp $Motclef "cosine" Cosinechange StrCmp $Motclef "ipsecdrv" Ipsecdrvchange StrCmp $Motclef "ipsecmon" Ipsecmonchange StrCmp $Motclef "ipsec dial client" Iteration Safenetiteration: StrCmp $Iteration "2" Iteration StrCmp $Iteration "3" Iteration StrCmp $Iteration "4" close StrCpy $Motclef "ireike" Goto Depart Ireikechange: StrCpy $Motclef "cosine" Goto Depart Cosinechange: StrCpy $Motclef "ipsecdrv" Goto Depart Ipsecdrvchange: StrCpy $Motclef "ipsecmon" Goto Depart Ipsecmonchange: StrCpy $Motclef "ipsec dial client" Goto Depart Iteration: IntOp $Iteration $Iteration + 1 StrCpy $Motclef "safenet" Goto Depart close: ${registry::Close} "$0" ${registry::Unload} FileClose $R1 DetailPrint "Le fichier de LOG se trouve Ã_ $R0" ;Exec '"notepad.exe" "$R0"' MessageBox MB_YESNO "Pour finaliser le nettoyage, voulez vous redémarrer votre Ordinateur ?\ $\n$\nSi OUI, fermer toutes vos applications et cliquez sur OUI .\ $\nSi NON, vous pourrez redémarrer votre ordinateur manuellement"\ IDNO Fin IDYES Redemarre Redemarre: Reboot Fin: SectionEnd ;Descriptions ;Language strings LangString DESC_Info1 ${LANG_FRENCH} "Cette section supprime les répertoires 'SafeNet' et 'Cosine Communication' du répertoire 'Program Files'" ; LangString DESC_efface ${LANG_ENGLISH} "This mandatory section erase all the mobile card drivers saved under the temp folder" LangString DESC_Info2 ${LANG_FRENCH} "Cette section supprime, de la base de registre, toutes clefs ou valeurs comprenant les mots Safenet, ipsecdrv, ipsecmon, cosine et ireike" ; LangString DESC_copie ${LANG_ENGLISH} "This mandatory section save all the mobile card drivers under a temp folder" !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${Info1} $(DESC_Info1) !insertmacro MUI_DESCRIPTION_TEXT ${Info2} $(DESC_Info2) !insertmacro MUI_FUNCTION_DESCRIPTION_END Function .onInit Call admin MessageBox MB_YESNO "Vous êtes sur le point de lancer un nettoyage de votre base de registre. $\nVeuillez SVP vous assurer que tout kit de connexion et SafeNet sont effectivement fermés ou désinstallés\ $\n$\nYou are about to clean you registry data base. $\nPlease ensure that any connection kit or SafeNet is completely closed or uninstalled" IDYES gogogo Abort gogogo: FunctionEnd ; Une fonction Admin pour empecher l'installation en Single User Function admin ClearErrors UserInfo::GetName ifErrors Win9x Pop $0 UserInfo::GetAccountType Pop $1 UserInfo::GetOriginalAccountType Pop $2 StrCmp $1 "Admin" 0 +3 Goto done StrCmp $1 "User" 0 +3 MessageBox MB_OK 'Administrator Rights requiered' Abort StrCmp $1 "Guest" 0 +3 MessageBox MB_OK 'Administrator Rights requiered' Abort MessageBox MB_OK "Unknown error" Abort Win9x: MessageBox MB_OK "Error! This DLL can't run under Windows 9x!" done: FunctionEnd I hope it can help you ! Antoine. |
![]() |
![]() |
![]() |
#124 |
Major Dude
Join Date: Jul 2004
Posts: 671
|
Fixed: search with /NI option.
"Registry" plugin v3.5 |
![]() |
![]() |
![]() |
#125 |
Junior Member
Join Date: Mar 2008
Posts: 17
|
Hello Instructor,
Forgive me if this was answered somewhere, but I never saw it explicitly detailed in this thread: Does your plugin work for the Unicode branch of NSIS (after converting the NSH to Unicode format)? The reason I ask is because I am having trouble using the CopyValue function. It doesn't seem to be working, and when I check the error code with a message box (just like you do in the example), I get a square instead of a number (check the attachment). The lines that use the function are as follows: ${registry::CopyValue} "HKEY_LOCAL_MACHINE\SOFTWARE\Texas Instruments\CCS_C:|CCStudio_v3.3|" "CC_APP" "HKEY_LOCAL_MACHINE\SOFTWARE\FireSync5\CCS_Backup\CCS_C:|CCStudio_v3.3|" "CC_APP" $R0 MessageBox MB_OK "registry::CopyValue$\n$\n\ Errorlevel: [$R0]" |
![]() |
![]() |
![]() |
#126 | |
Junior Member
Join Date: Jun 2008
Posts: 2
|
WriteRegMultiStr
Hello folks.
Can anyone explain how to use WriteRegMultiStr to write a registry value of data type REG_MULTI_SZ? For example, I have these registry entries taken from a .REG file. How can I use the values using WriteRegMultiStr? Quote:
|
|
![]() |
![]() |
![]() |
#127 |
Major Dude
Join Date: Jul 2004
Posts: 671
|
mrdamm
code: |
![]() |
![]() |
![]() |
#128 | |
Junior Member
Join Date: Feb 2007
Posts: 48
|
![]()
The documentation for Registry Export (save to the file in REGEDIT4 format) includes:
Quote:
AFAIK ${registry::SaveKey} does not have any restore side effect, so what does "Delete keys before restoring" mean? Thanks, Victor P.S. BTW, ${registry::RestoreKey} doesn't work for me for some reason. ExecWait 'regedit /s "$INSTDIR\${regedit4file}"' works very well. Last edited by vc6; 1st July 2008 at 21:07. |
|
![]() |
![]() |
![]() |
#129 | |
Junior Member
Join Date: Jun 2008
Posts: 2
|
![]() Quote:
In fact, all codes that I use in the script, regarded to registry entries are like the following: code: Any clues? |
|
![]() |
![]() |
![]() |
#130 |
Junior Member
Join Date: Apr 2007
Posts: 14
|
Unfortunately the plugin doesn't work correctly when reading REG_MULTI_SZ values on 64-bit. It always goes to the Wow6432 node, even after SetRegView 64. Can you please help?
Best Regards, Gustavo Guerra |
![]() |
![]() |
![]() |
#131 |
Junior Member
Join Date: Nov 2005
Posts: 38
|
You might consider adding a
!ifndef REGISTRY_LIB [...] !endif ; REGISTRY_LIB around the contents of registry.nsh to allow scripts to include it more than once (e.g., in two different .nsi files, one of which is included in the other). See LogicLib.nsh for an example. Otherwise, great library! |
![]() |
![]() |
![]() |
#132 |
Junior Member
Join Date: Nov 2005
Posts: 38
|
... Obviously, there has to be a !define REGISTRY_LIB in there, too.
|
![]() |
![]() |
![]() |
#133 |
Junior Member
Join Date: Jan 2009
Posts: 6
|
Hi,
I have a strange problem with a "registry::find" in an installer which at the moment only seems to occur when the installer is used on an iMac (running Windows XP). The "registry::find" is using 100% CPU, memory consumption is going up to 1 GB, then back down to about 15 MB, but the call never returns to the main code. The parameters of the failing call to "registry::find" are:
Here is the code fragment using the registry find (it is scanning the registry for USB 2.0 high speed controllers): code: Any suggestions? - Chris |
![]() |
![]() |
![]() |
#134 |
Major Dude
Join Date: Jul 2004
Posts: 671
|
groove1963
Try "RegistryTest.nsi" and "Search and write founded in text file" with "HKEY_LOCAL_MACHINE". It may help to find where is the problem. |
![]() |
![]() |
![]() |
#135 |
Junior Member
Join Date: Feb 2009
Posts: 3
|
I have a situation where I have to read and write a binary registry value a more than 1024 caracters.
Is there a way to do this??? Please. Thanks. The plugin is great by the way! |
![]() |
![]() |
![]() |
#136 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,355
|
If the plugin is coded correctly, you could use the large nsis string build ( http://nsis.sourceforge.net/Special_Builds ) if not, you might have to use some external tool, regedit.exe or reg.exe or something custom.
NOTE: you are NOT really supposed to store large things in the registry ( > 1024b ) from MSDN: "Generally, data consisting of more than one or two kilobytes (K) should be stored as a file and referred to by using a key in the registry rather than being stored as a value. Instead of duplicating large pieces of data in the registry, an application should save the data as a file and refer to the file. Executable binary code should never be stored in the registry." IntOp $PostCount $PostCount + 1 |
![]() |
![]() |
![]() |
#137 |
Junior Member
Join Date: Feb 2009
Posts: 3
|
I Know I'm not supposed to do that, but a software that we use does that and I'm want to implement an automation to configure that application.
Any other ideas??? |
![]() |
![]() |
![]() |
#138 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,355
|
I already said, try the large string build, if the plugin can't handle that, you must use a external tool
IntOp $PostCount $PostCount + 1 |
![]() |
![]() |
![]() |
#139 |
Junior Member
Join Date: Feb 2009
Posts: 3
|
Guess I will be using an external tool then.
|
![]() |
![]() |
![]() |
#140 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,355
|
so you tested, and the large string build does not work? if so, its a bug in the registry plugin...
IntOp $PostCount $PostCount + 1 |
![]() |
![]() |
![]() |
#141 |
Major Dude
Join Date: Jul 2004
Posts: 671
|
mguenette
See ${registry::ReadExtra} and ${registry::WriteExtra}. |
![]() |
![]() |
![]() |
#142 | |
Senior Member
Join Date: Jul 2008
Posts: 157
|
I am trying to build the registry plugin (v3.5) using VC2005 on XP and I get the following link errors:
Quote:
However, it seems to me that removing /NODEFAULTLIB will create problems down the road (see http://forums.winamp.com/showthread.php?threadid=302413 ). What is the proper way to build Registry Plugin v3.5? What am I missing? Thanks! |
|
![]() |
![]() |
![]() |
#143 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,355
|
The post you are already linking to tells you what to do:
"So I manually defined the entry point and disabled "Buffer Security Check" (/GS-)." "Got rid of the last errors by setting "Basic Runtime Checks" to "Default" in the project properties." IntOp $PostCount $PostCount + 1 |
![]() |
![]() |
![]() |
#144 | ||
Senior Member
Join Date: Jul 2008
Posts: 157
|
Quote:
With "Buffer Security Check" disabled (/GS-), I still receive the following errors (yes, DllMain is set as the entry point): Quote:
Thanks! |
||
![]() |
![]() |
![]() |
#145 | |
Senior Member
Join Date: Jul 2008
Posts: 157
|
Quote:
![]() I simply downloaded the NSIS source code and copied memset.c and memcpy.c from the SCons\Config directory. The plugin now builds perfectly. I can now proceed to modifying it. ![]() |
|
![]() |
![]() |
![]() |
#146 |
Junior Member
Join Date: Feb 2009
Posts: 2
|
Hello everybody,
I tested the plugin's with WIN CE 5.0. It can read and open key register but not write. Has you seen this problem on this OS? |
![]() |
![]() |
![]() |
#147 | |
Senior Member
Join Date: Jul 2008
Posts: 157
|
Quote:
BTW, I have added one function to the plugin, named registry::SaveValue. You can find it in the following thread: http://forums.winamp.com/showthread....04#post2484404 It would be nice if Instructor could add it officially to his plugin. ![]() |
|
![]() |
![]() |
![]() |
#148 |
Junior Member
Join Date: Feb 2009
Posts: 2
|
I use "Registry NSIS plugin v3.5 for Pocket PC"
Yes please Instructor, add it officially to his plugin!!!! I prefer use the plugin official. Thank you a lot! |
![]() |
![]() |
![]() |
#149 | |
Junior Member
Join Date: Jan 2009
Posts: 6
|
Quote:
This is my test program - scans the HKLM path for entries containing the string "enhanced": code: Works fine on my development machine and on a couple of other machines. If I add the key below to the registry (taken from the registry of a machine where my installer gets stuck), then registry::Find will go to an infinite internal loop using 100% CPU: code: I suspect that it is the length or depth of the registry path, because if I shorten some parts of the registry entry, the registry::Find works again. (test program and registry file attached as a zip file) Any suggestions? Best regards Chris |
|
![]() |
![]() |
![]() |
#150 |
Major Dude
Join Date: Jul 2004
Posts: 671
|
Added: ${SaveKey} "/N=[name]" option to save only specified value.
Fixed: processing 260 characters path. "Registry" plugin v3.6 |
![]() |
![]() |
![]() |
#151 | |
Junior Member
Join Date: Jan 2009
Posts: 6
|
Hello "Instructor",
I just tested the 3.6 version you posted a couple of days ago. Quote:
When I now search with the example code and registry entry posted above, I get an access violation "... encountered a problem and needs to close", error description is: code: By the way, when testing this, I made one test run with /N instead of /NI to make a case sensitive search. In this test run, the code did not crash but now again got stuck in the infinite loop on the long registry key described above. Any suggestions? Regards Chris Last edited by groove1963; 9th March 2009 at 06:26. |
|
![]() |
![]() |
![]() |
#152 |
Major Dude
Join Date: Jul 2004
Posts: 671
|
groove1963
Problem isn't reproduced. |
![]() |
![]() |
![]() |
#153 | |
Junior Member
Join Date: Jan 2009
Posts: 6
|
Quote:
Can you give me any hint how I could help to narrow down the problem if you cannot reproduce it? Regards Chris |
|
![]() |
![]() |
![]() |
#154 |
Junior Member
Join Date: Jan 2009
Posts: 6
|
Did some more testing today, same behaviour with the 3.6 DLL after upgrading to NSIS 2.44 (I was using 2.37 before):
Then I did another test with the large string build of NSIS 2.44, same behaviour, no difference. Then I coded a test scan of HKLM without using the search option: code: This got stuck again in an infinite loop on the {6994AD04-93EF-11D0-A3CC-00A0C9223196} registry key (like the /N or /NS searches). I have downloaded the 3.6 version another time to make sure I was really using the right version, same results. Unfortunately no version is visible in the DLL attributes and the 3.5 and 3.6 versions DLL size is 16.384. However the source comment in the header of the registry.c file included in the 3.6 version says "v3.4" ... Any suggestions? If I don't find a solution for this quickly, I'll have to hand-code a plugin to search for this specific registry string ![]() Regards Chris |
![]() |
![]() |
![]() |
#155 |
Major Dude
Join Date: Jul 2004
Posts: 671
|
See "registry.zip\Desktop\Readme.txt" version it must be 3.6.
|
![]() |
![]() |
![]() |
#156 | |
Junior Member
Join Date: Jan 2009
Posts: 6
|
Quote:
I checked the download date of the file, was after the 3.6 fix, so I cleared the browser cache, re-downloaded the 3.6 version, now the readme.txt is 3.6 ... ... and the bug is fixed! Thanks a lot! Best regards Chris |
|
![]() |
![]() |
![]() |
#157 |
Junior Member
|
Windows 7 - registry read not working on Uninstall section
Thank you for writing this plugin. I have found it very useful. I seem so have found a small bug. The registry::Read function does not appear to work on Windows 7 (RTM) for GUID keys under the Uninstall section.
Example: code: I used the code from your example provided. The above code does work properly on Windows Server 2003. The above code pulls blank values on Windows 7. The data retrieved on Windows Server 2003 is: string = MsiExec.exe /X{B7643B11-A60E-4A33-A465-263FEB32113A} type = REG_EXPAND_SZ I hope this helps. Kind regards, -=Raj=- |
![]() |
![]() |
![]() |
#158 |
Junior Member
Join Date: Sep 2009
Posts: 1
|
I also have an issue with Windows 7 (64 bit).
The following operation results in an unsuccessful open. code: Through RegEdit I have checked the registry entry I am attempting to open and confirmed its existence. The issue only appears with the 64 bit version of windows 7, this works for the 32 bit version of Windows 7. Having 'Application X' installed under C:\Program Files\ instead of C:\Program Files (x86)\ doesn't solve the problem in opening its registry entry. Thoughts? Thanks and regards. |
![]() |
![]() |
![]() |
#159 |
Senior Member
Join Date: Oct 2009
Location: Germany
Posts: 120
|
Hi
I'm kind of struggeling using the RestoreKey functionality. I'm using: The variable $0 contains '0' after the execution, but the registry key doesn't show up in the registry editor.code: If I'm executing the file by hand, the registry value shows up. Any ideas? Thanks ![]() CJ |
![]() |
![]() |
![]() |
#160 |
Junior Member
Join Date: Jul 2008
Location: Ivanovo, Russia
Posts: 16
|
Hello! I need to delete keys from HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB key. Standard NSIS function can't do this. May be this plugin helps me?
|
![]() |
![]() |
![]() |
|
Tags |
plug-in, registry |
Thread Tools | Search this Thread |
Display Modes | |
|
|