Listar Programas Instalados

Foro referente al sistema operativo Windows 7
sergio.milici
Usuario linuxero
Usuario linuxero
Mensajes: 2
Registrado: 18 Ago 2010, 13:58
Contactar:

Listar Programas Instalados

Mensajepor sergio.milici » 18 Ago 2010, 13:59

Hola, soy desarrollador C++, y estoy desarrollando una aplicacion de inventario
de hardware y software. Estoy haciendo el inventario del software que esta instalado en el sistema( ya sea
windows de 32 y 64 bit, desde windows 2000 hasta windows 7, incluyendo los server),
es decir, necesito listar todo el "Add/Remove Programs" de windows. El problema que tengo es el siguiente:
El leido que todos los programas instalados estan en la registry:
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\", entonces listando todas las entradas
y la key "DisplayName" tengo todo lo instalado, pero el problema esta en windows vista y 7, que ingresando con el Regedit
se ven pocas entradas, pero al listarlas en el programas que desarrollo veo muchas mas, pero tambien, no veo todas las que puedo ver con el regedit.
Puedo ver progrmas cuando ingreso al regedit, pero al listar todas las entradas, esa entrada no figura.
El codigo estan bien, lo he usado en muchsisimas partes del software, y llevo tiempo programando.
Yo creo que esto puede deberse a un problema de permisos, pero no estoy seguro como solucionarlo ni el porque.
Mi aplicacion corre como servicio con el usuario System, pero tambien la he ejecutado como usuario administrador y el
resultado fue exactamente el mismo.
Desde ya agradeceria cualquier ayuda o comentario.

Muchas Gracias.

jlsantosg
Usuario linuxero
Usuario linuxero
Mensajes: 23
Registrado: 26 Oct 2009, 11:02
Contactar:

Re: Listar Programas Instalados

Mensajepor jlsantosg » 19 Ago 2010, 07:32

No se si podrá ayudarte pero yo hace tiempo encontré este código para crear un *.bat y lo he usado sin problemas.

@echo off
regedit /a %TEMP%\filename.reg "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
for /f "Skip=1 Tokens=*" %%i in ('type %TEMP%\Filename.reg') do set line="%%i"&call :parse
goto :EOF
:parse
set work=%line:~2,11%
set work=%work:"=%
If NOT "%work%" EQU "DisplayName" goto :EOF
set work=%line:~16,120%
set work=%work:"=%
@echo %work%
@echo %work% >> listado_programas.txt


Un saludo

sergio.milici
Usuario linuxero
Usuario linuxero
Mensajes: 2
Registrado: 18 Ago 2010, 13:58
Contactar:

Re: Listar Programas Instalados

Mensajepor sergio.milici » 19 Ago 2010, 14:42

Muchas Gracias por tu ayuda. Lo estuve probando. En win 2003 y xp funciona bien, salvo los programas que se instalan en el path del usuario.
Pero en windows vista 7 no sucede esto, si bien trae bastantes softwares, no trae todos. He comparado todos los que trae con el scrip este y los que trae en codigo, y puedo decir que entre los 2 se complementan, pero no los trae a todos, no se cual sera el problema, si es de permisos o porque se listan algunas si y otras no.

Alguna idea?


Volver a “Windows 7”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 9 invitados