Archive: I can't delete many REG_DWORD with command DeleteRegValue or command other...?


I can't delete many REG_DWORD with command DeleteRegValue or command other...?
If I want to delete many REG_DWORD of fonts names: Tahoma.ttf and Tahomabd.ttf, what write code i do ? command
DeleteRegValue HKLM "Software\My Company\My Software" "some value"
Command DeleteRegValue can't delete serial (mass or many) reg key, can you help me ?
example in winxp have registry key REG_DWORD

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls\
C:\WINDOWS\Fonts\Tahoma.ttf
C:\Program\Fonts\Tahomabd.ttf
C:\WINDOWS\Fonts2\Tahoma.ttf
C:\Notes\Fonts2\Tahomabd.ttf
...
C:\WINDOWS\Fontsn\Tahoma.ttf
C:\Manyfonts\Fontsn\Tahomabd.ttf
...

my source code, it can't delete fonts: Tahoma.ttf and Tahomabd.ttf, why ?
DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\SharedDlls" "*\Tahoma.ttf"
DeleteRegValue HKLM "Software\Microsoft\Windows\CurrentVersion\SharedDlls" "*\Tahomabd.ttf"


you have to use explicit naming for registry keys - i.e. you can't specify '*\Tahoma.ttf', you'll have to explicitly specify 'Windows\Fonts\Tahoma.ttf' (example).

Your best bet, if you need this type of functionality, is the Registry plug-in:
http://nsis.sourceforge.net/Registry_plugin

Use that plugin to find the registry value that matches what you need and delete it, then repeat until no more can be found.


I understand you, In your file Registry.zip, It's directory source, I don't know use language C++ of company to compile as borland C++, Turbo C++,... could you tell me ?


You don't need to compile since the compiled version is already there. Just extract the files in the proper folders and you're good to go.

In all plugins, the directory sturcutre within the NSIS program files directory is like this:

It would really help you immensely if you take some time looking through your NSIS folders and reading the help files to learn how all the pieces fit together.

you Animaether give me example about registry, very good, thank you very much but i want to know all file *.dll of NSIS to get compile by what is it software ?


As far as I know, plugins aren't required to be compiled by anything specific. But that probably depends on the individual author(s).

Short of contacting each author directly, you might check out this FAQ:
http://nsis.sourceforge.net/Building_NSIS_from_SVN


Hi just wondering why you can't delete serial (mass or many) reg key, can you help me ?
example in winxp have registry key REG_DWORD?


Thanks for that again!


Use EnumRegValue and do string matching on each found value name.

Stu