When you use Control Panel / Add/Remove Programs, some 32bit programs are missing from the display?
The display is built by retrieving:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<ProgramKey>\DisplayName
Only entries with a Value Name of DisplayName are supposed to be listed.
Unfortuneatly, any DisplayName text string that exceeds 64 characters is erroneously ignored.
You can manually inspect and fix the errant entries, or you can run undn.bat.
undn.bat uses standard commands and contains:
@echo off setlocal set fix=n regedit /e %temp%\undnout.reg HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall if exist %temp%\undnin.reg del /q %temp%\undnin.reg for /f "Tokens=1* Delims" %%i in (%temp%\undnout.reg) do call :parse "%%i" %%j if %fix%
"n" set fix=&goto end regedit /s %temp%\undnin.reg endlocal goto end :parse set str1=%1 set str2=%2 if %str1%"REGEDIT4" @echo REGEDIT4>%temp%\undnin.reg & goto end set str1=%str1:"=% if "%str1:~0,1%"
"\[" set key=%str1%&goto end if not "%str1%""DisplayName" goto end set work=%str2:~0,63%!!! set work=%work:"!!!="% set work=%work:!!!="% set name=%work% if %name%
%str2% goto end set fix=y @echo %key%>>%temp%\undnin.reg @echo "%str1%"=%name%>>%temp%\undnin.reg :end
0 comments
Hide comments