Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema con Application.StartupPath y Windows 7

Estas en el tema de Problema con Application.StartupPath y Windows 7 en el foro de .NET en Foros del Web. Hola a todos, Tengo el siguiente problema. Tengo que acceder a un fichero situado en la misma carpeta donde se ejecuta mi aplicación, creada bajo ...
  #1 (permalink)  
Antiguo 10/03/2010, 05:14
 
Fecha de Ingreso: mayo-2008
Mensajes: 70
Antigüedad: 15 años, 11 meses
Puntos: 0
Problema con Application.StartupPath y Windows 7

Hola a todos,

Tengo el siguiente problema. Tengo que acceder a un fichero situado en la misma carpeta donde se ejecuta mi aplicación, creada bajo VB.NET. Para ello, he probado estas tres cosas:

- Application.StartupPath
- System.Environment.CurrentDirectory
- System.IO.Path.GetDirectoryName(System.Reflection. Assembly.GetExecutingAssembly().Location)

Con todas estas opciones tengo el mismo problema en Windows 7. Si la aplicación se instala en "C:\Archivos de programa (x86)\MiApp", al ejecutar cualquiera de las opciones anteriormente citadas, el sistema me devuelve "C:\Program Files (x86)\MiApp" y por tanto no puedo acceder a mi fichero.

Una solución evidente sería llevarme el fichero a otro sitio, pero me gustaría encontrar una solución a este problema. Alguien puede ayudarme?
  #2 (permalink)  
Antiguo 10/03/2010, 08:28
 
Fecha de Ingreso: agosto-2008
Mensajes: 101
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Problema con Application.StartupPath y Windows 7

Hola Acelsp.

Tu Windows 7 es Ingles?
Yo tengo instalada una aplicacion hecha en Vb.Net con sql server 2005 en Windows 7, y tengo unos reportes en una carpteta dentro de la ruta de aplicacion utilizo la instruccion:
Código PHP:
Application.StartupPath 
Y los reportes me los trae perfectamente.
  #3 (permalink)  
Antiguo 10/03/2010, 08:37
 
Fecha de Ingreso: agosto-2008
Mensajes: 101
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Problema con Application.StartupPath y Windows 7

El asunto, es que mi aplicacion la desarrolle en un Visual Studio instalado en Windows XP, te recomiendo que mires estos links:
http://groups.google.com/group/micro...18919c814106cb
  #4 (permalink)  
Antiguo 10/03/2010, 10:26
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con Application.StartupPath y Windows 7

Una
Código vb.net:
Ver original
  1. Environment.GetFolderPath(Environment.SpecialFolder.CommonProgramFiles)
para que te devuelva en un string la dirección de acceso a la carpeta de Archivos de Programa que usa tu PC.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 11/03/2010, 03:01
 
Fecha de Ingreso: mayo-2008
Mensajes: 70
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Problema con Application.StartupPath y Windows 7

La verdad es que ya he probado de todo, y mi windows 7 está en español. Creo que lo que voy a terminar haciendo es hacer un chequeo previo de la ruta y cambiarla manualmente si me lo encuentro en ingles. A alguien se le ocurre alguna otra cosa?
  #6 (permalink)  
Antiguo 11/03/2010, 04:11
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con Application.StartupPath y Windows 7

¿Probaste lo que te dije?
Es un método que devuelve la capeta usada para los programas, independientemente del idioma de la PC y de la versión de Windows...

¿Por qué dices que no te funcionó?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 11/03/2010, 05:04
 
Fecha de Ingreso: mayo-2008
Mensajes: 70
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Problema con Application.StartupPath y Windows 7

Cita:
Iniciado por gnzsoloyo Ver Mensaje
¿Probaste lo que te dije?
Es un método que devuelve la capeta usada para los programas, independientemente del idioma de la PC y de la versión de Windows...

¿Por qué dices que no te funcionó?
Sí lo probé, pero me devuelve C:\Archivos de programa\archivos comunes
  #8 (permalink)  
Antiguo 11/03/2010, 05:41
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con Application.StartupPath y Windows 7

Obviamente, entonces, debes buscar en los otros valores contenidos en Environment.SpecialFolder:
Cita:
ApplicationData
CommonApplicationData
LocalApplicationData
Cookies
Desktop
Favorites
History
InternetCache
Programs
MyComputer
MyMusic
MyPictures
Recent
SendTo
StartMenu
Startup
System
Templates
DesktopDirectory
Personal
MyDocuments
ProgramFiles
CommonProgramFiles
El tema es que la enumeración Environment.SpecialFolder, y cito:
Cita:
Especifica las constantes enumeradas que se utilizan para recuperar rutas de acceso a directorios en carpetas especiales del sistema.
No le des vuela al asunto. Eso es lo que tienes que usar para conseguir lo que necesitas...

PUPDG!
ALEP!
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 11/03/2010, 06:28
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 6 meses
Puntos: 156
Respuesta: Problema con Application.StartupPath y Windows 7

Cita:
La verdad es que ya he probado de todo, y mi windows 7 está en español. Creo que lo que voy a terminar haciendo es hacer un chequeo previo de la ruta y cambiarla manualmente si me lo encuentro en ingles. A alguien se le ocurre alguna otra cosa?
Es extraño..... Yo uso Application.StartupPath también bajo varios SO, incluido el W7, y también con rutas "Program Files" y "Archivos de Programa" y la misma instrucción es válida para todos los casos.

Prueba con:
Cita:
System.AppDomain.CurrentDomain.BaseDirectory.ToStr ing
  #10 (permalink)  
Antiguo 12/03/2010, 05:31
 
Fecha de Ingreso: mayo-2008
Mensajes: 70
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Problema con Application.StartupPath y Windows 7

Ya lo he solucionado. Perdonad la confusión. Todas las opciones aquí comentadas funcionan perfectamente.

El problema era que no me conectaba a una base de datos de access desde windows 7 64 bits, y yo le echaba la culpa a que no encontraba la ruta. El problema es que Microsoft Jet OLEDB no funciona con 64 bits.

Gracias por vuestra ayuda.
  #11 (permalink)  
Antiguo 12/03/2010, 06:36
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 6 meses
Puntos: 156
Respuesta: Problema con Application.StartupPath y Windows 7

Hola

compila el programa como x86 y funciona OK bajo 64bits.

Etiquetas: windows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:04.