¿Cómo puedo verificar si Adobe Reader o Acrobat está instalado en el sistema? también cómo obtener la versión? (En código C#)Comprobar que Adobe Reader está instalado (C#)?
Respuesta
using System;
using Microsoft.Win32;
namespace MyApp
{
class Program
{
static void Main(string[] args)
{
RegistryKey adobe = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Adobe");
if(null == adobe)
{
var policies = Registry.LocalMachine.OpenSubKey("Software").OpenSubKey("Policies");
if (null == policies)
return;
adobe = policies.OpenSubKey("Adobe");
}
if (adobe != null)
{
RegistryKey acroRead = adobe.OpenSubKey("Acrobat Reader");
if (acroRead != null)
{
string[] acroReadVersions = acroRead.GetSubKeyNames();
Console.WriteLine("The following version(s) of Acrobat Reader are installed: ");
foreach (string versionNumber in acroReadVersions)
{
Console.WriteLine(versionNumber);
}
}
}
}
}
}
Adobe lo está colocando en otro lugar o mi máquina Windows8 lo tiene de manera diferente, modificó el código anterior para intentar encontrar Adobe en 'Software.Policies' –
me funcionó muy bien en IE, Chrome y FF. –
¿Hay alguna manera de verificar el código de C# si el lector de adobe instalado está actualizado o si hay una nueva actualización disponible? –
Por favor, también tienen en cuenta las personas que ejecutan sistemas operativos de 64 bits y potencialmente ejecutar ya sea de 32 o de 64 bits versiones de Adobe Reader.
El siguiente código es una versión modificada de la solución publicada de Abmv, pero esto verificará si las versiones de 64 bits de Adobe Reader se instalan primero antes de buscar versiones de 32 bits.
Espero que esto tenga sentido! :-)
using System;
using Microsoft.Win32;
namespace MyApp
{
class Program
{
static void Main(string[] args)
{
RegistryKey software = Registry.LocalMachine.OpenSubKey("Software");
if (software != null)
{
RegistryKey adobe;
// Try to get 64bit versions of adobe
if (Environment.Is64BitOperatingSystem)
{
RegistryKey software64 = software.OpenSubKey("Wow6432Node");
if (software64 != null)
adobe = software64.OpenSubKey("Adobe");
}
// If a 64bit version is not installed, try to get a 32bit version
if (adobe == null)
adobe = software.OpenSubKey("Adobe");
// If no 64bit or 32bit version can be found, chances are adobe reader is not installed.
if (adobe != null)
{
RegistryKey acroRead = adobe.OpenSubKey("Acrobat Reader");
if (acroRead != null)
{
string[] acroReadVersions = acroRead.GetSubKeyNames();
Console.WriteLine("The following version(s) of Acrobat Reader are installed: ");
foreach (string versionNumber in acroReadVersions)
{
Console.WriteLine(versionNumber);
}
}
else
Console.WriteLine("Adobe reader is not installed!");
}
else
Console.WriteLine("Adobe reader is not installed!");
}
}
}
}
funcionó muy bien en IE, Chrome y FF. –
¿Hay alguna manera de verificar el código de C# si el lector de adobe instalado está actualizado o si hay una nueva actualización disponible? –
La única solución que funciona para mí es:
var adobePath = Registry.GetValue(
@"HKEY_CLASSES_ROOT\Software\Adobe\Acrobat\Exe", string.Empty, string.Empty);
Entonces comprobar si se ha instalado adobePath != null
continuación lector de Adobe.
De esta manera, también obtendré la ruta al ejecutable de Acrobat Reader.
- 1. Invocar Adobe Reader desde mi aplicación Android
- 2. Cómo comprobar si .Net Framework está instalado [C#/WPF]
- 3. cómo descargar adobe reader programáticamente si no existe
- 4. ¿Cómo comprobar si Suhosin está instalado?
- 5. ¿Cómo comprobar si está correctamente instalado mongodb
- 6. Pestañas de Adobe Acrobat Reader Guardar y cargar automáticamente
- 7. mejor método para comprobar si IonCube cargador está instalado
- 8. ¿Cómo comprobar si asp.net mvc 3 está instalado?
- 9. Cómo comprobar si Git está instalado desde .bashrc
- 10. ¿Cómo comprobar si php-fpm está instalado y ejecutándose correctamente?
- 11. Anotando archivos PDF de Adobe Reader con símbolos matemáticos
- 12. Interacción del complemento de Adobe Reader a través de Javascript
- 13. Posible hacer que Adobe Reader no mantenga un bloqueo de archivos en Windows?
- 14. Cómo verificar con C# donde está instalado un programa
- 15. ¿Mysqli no está instalado?
- 16. ¿Dónde está instalado microsoft.office.tools.excel.dll?
- 17. Cómo detectar si numpy está instalado
- 18. C# DataGridView Comprobar si está vacío
- 19. Cómo comprobar que ImageField está vacío
- 20. ¿Cómo comprobar que el usuario está "conectado"?
- 21. C# comprobar si un directorio está oculto?
- 22. Verificar si Solidworks está instalado?
- 23. Python: El módulo _imagingft C no está instalado
- 24. El módulo _imaging C no está instalado (en Windows)
- 25. Inno Setup: verificar que .NET 4.0 está instalado
- 26. Error PIL: El módulo _imaging C no está instalado
- 27. ¿Es posible tener un archivo PDF abierto con un aumento predefinido en Adobe Reader?
- 28. ¿Cómo obtener la ruta completa de Adobe Reader (incluido el nombre del archivo ejecutable)?
- 29. ¿Comprueba si IIS está instalado o no?
- 30. ¿Cómo comprobar que la próxima 'cabecera' en OCaml está vacía?
Si lo que realmente desea hacer es comprobar si un visor de PDF está instalado en el sistema, NO consulte Adobe Reader. Yo y algunos de mis compañeros de trabajo estamos usando Foxit Reader, que es mucho mejor que Adobe Reader. – OregonGhost