2009-05-26 15 views
9

En Windows usando C#, ¿cómo puedo obtener la ruta de instalación de un software (por ejemplo, considere NUnit o cualquier otro software como MS Word, etc.) de mi proyecto? También cómo establecer las variables de ruta que establecemos en Variables de entorno para que podamos ejecutar la aplicación simplemente dando en el símbolo del sistema.¿Cómo obtener la ruta de instalación de una aplicación?

Me gusta si instalo NUnit en "C: \ Archivos de programa" Puedo ejecutarlo dando 'NUnit' en el indicador de cmd pero si lo instalo en una ubicación diferente, no puedo hacer lo mismo. Necesito obtener de mi proyecto la ubicación o la ruta de NUnit o cualquier otro software instalado en mi sistema (con Windows XP).

EDIT: Me gusta Puedo obtener la ruta del programa instalado desde el registro. HKEY_CURRENT_USER-> SOFTWARE

Respuesta

11

Utilice el sistema y las clases de aplicación. Esto le dará todo tipo de información.

Ejem: Application.ExecutablePath

También proporciona métodos para hacer lo que quiere.

Editar: Véase también leer registro instrucciones/escribir aquí:

http://www.c-sharpcorner.com/UploadFile/sushmita_kumari/RegistryKeys102082006061720AM/RegistryKeys1.aspx?ArticleID=0ce07333-c9ab-4a6a-bc5d-44ea2523e232

+0

significa que puedo usar esto para obtener la ruta de acceso de cualquier programa instalado desde mi aplicación. – SyncMaster

+0

Ver mi edición (enlace) arriba. –

0

Al igual que si instalo Nunit en "C: \ Program archivos" i puede ejecutarlo dando 'nunit' en cmd prompt pero si lo instalo en una ubicación diferente de no puedo hacer lo mismo.

Puede estar utilizando Windows Vista, que puede buscar en Archivos de programa, pero no buscará en otras carpetas.

En las ventanas usando C#, cómo obtener la ruta instalación de un software (por ejemplo, consideremos nunit).?

Depende de cómo está instalando la aplicación. El instalador conoce la ruta, puede programar el instalador para escribir esa ruta en algún lugar, digamos registro.

también cómo montar las variables de ruta que nos fijamos en las variables de entorno para que podamos ejecutar la aplicación acaba por ceder símbolo del sistema.

How do I get and set Environment variables in C#?

+0

gracias por ese enlace. pero necesito obtener la carpeta de instalación de cualquier aplicación como MS Word, Firefox, etc. – SyncMaster

+0

La única forma en que puedo pensar es en leer la variable de la ruta del entorno. Divide la ruta y busca en todas las carpetas. No debería ser una tarea. Algunos pseudocódigos: envPath = System.Environment.GetEnvironmentVariable ('Path'); cadena [] paths = envPath.Split (':'); foreach (ruta de la cadena en las rutas) File.Exists (Path.Combine (ruta, nombre del archivo)); –

9
string appFileName = Environment.GetCommandLineArgs()[0]; 

le dará la ruta completa del ejecutable y

string directory = Path.GetDirectoryName(appFileName); 

extrae el directorio.

string envPath = Environment.GetEnvironmentVariable("PATH"); 
Environment.SetEnvironmentVariable(envPath + ";" + yourPath); 

edita la variable de entorno PATH para el proceso actual.

+0

esto da la ubicación del exe de mi proyecto, pero necesito obtener la carpeta de instalación de cualquier aplicación como MS Word, Firefox, etc. – SyncMaster

+0

O bien leí totalmente tu pregunta o la cambiaste después de mi respuesta ... – VVS

2

Application.StartupPath se utiliza para obtener la ubicación de instalación en C#.

8
Application.ExecutablePath (includes filename) 
Application.StartupPath (not includes filename) 

Esto le indicará la ruta donde comenzó la aplicación. Espero que sea la ruta de instalación.

Cuestiones relacionadas