Hi.
I have a Windows Forms application developed in .NET Framework 1.1.
The Application.ExecutablePath() function does not return correctly the
application path if the path or the EXE filename contains non-english
characters (like "c:\aplicación\aplicación.exe), but only in Windows Vista
(in 2000, XP or 2003 it works correctly). These characters are replaced by a
squared char (and the returned string is not usable in FileInfo, for example).
However, the Application.StartupPath() function works well in Vista and does
not return strange characters, making possible to solve the problem if you
have full access to the source code of the application and the ability to
recompile it. My application have many versions and I can't recompile and
distribute each one.
I think there is an issue with the .NET Framework and Vista. In my opinion,
the only way to fix it without changing and recompiling the application, is
patching the Framework itself.
Anyone knows if there is a KB article about this? Thank you in advance.
Regards,
Dani
Jeff Gaines - 20 Feb 2007 16:49 GMT
>I think there is an issue with the .NET Framework and Vista. In my opinion,
>the only way to fix it without changing and recompiling the application, is
>patching the Framework itself.
VS2005 is not compatible with Vista yet, it's one of the reasons I ditched
Vista and went back to XP.

Signature
Jeff Gaines
Dani K. - 20 Feb 2007 17:01 GMT
Thanks for your answer Jeff, but my problem is not in Visual Studio 2005. The
problem appears when running in an application (EXE, compiled with VS2003)
that makes a call to the ExecutablePath function, and only in some scenarios
as I described before.
Regards.
Dani
> >I think there is an issue with the .NET Framework and Vista. In my opinion,
> >the only way to fix it without changing and recompiling the application, is
> >patching the Framework itself.
>
> VS2005 is not compatible with Vista yet, it's one of the reasons I ditched
> Vista and went back to XP.
Jeff Gaines - 20 Feb 2007 19:03 GMT
>Thanks for your answer Jeff, but my problem is not in Visual Studio 2005.
>The
>problem appears when running in an application (EXE, compiled with VS2003)
>that makes a call to the ExecutablePath function, and only in some
>scenarios
>as I described before.
If VS2005 is incompatible with Vista then I guess VS2003 must be as well :-)
The DLL that is being called is probably completely different in Vista.

Signature
Jeff Gaines
Jon Skeet [C# MVP] - 20 Feb 2007 21:46 GMT
> >Thanks for your answer Jeff, but my problem is not in Visual Studio 2005.
> >The
[quoted text clipped - 4 lines]
>
> If VS2005 is incompatible with Vista then I guess VS2003 must be as well :-)
VS2003 is most definitely incompatible with Vista - but there's a
distinction to be drawn between the IDE and the .NET platform.
> The DLL that is being called is probably completely different in Vista.
Well, as far as I can tell Vista doesn't have the genuine 1.1 framework
on it, so it'll be using the .NET 2.0 version instead of .NET 1.1, but
other than that it should be okay.

Signature
Jon Skeet - <skeet@pobox.com>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too
RobinS - 20 Feb 2007 17:04 GMT
Have you installed both SP-1 for Visual Studio (I assume you're using the
2005 version) and the Vista patch for Visual Studio?
Robin S.
---------------------------------------------------
> Hi.
>
[quoted text clipped - 27 lines]
> Regards,
> Dani
Dani K. - 20 Feb 2007 17:23 GMT
Hi Robin:
I'm not using VS2005, the application is an EXE that was compiled with
VS2003 (Framework 1.1). The problem is in runtime, not in design or compile
time.
Regards,
Dani
> Have you installed both SP-1 for Visual Studio (I assume you're using the
> 2005 version) and the Vista patch for Visual Studio?
[quoted text clipped - 32 lines]
> > Regards,
> > Dani